原生js轮播图

<div id="benner">
    <div class="img">
        <img src="http://www.jq22.com/img/cs/500x300-1.png" class="imga active">
        <img src="http://www.jq22.com/img/cs/500x300-2.png" class="imga">
        <img src="http://www.jq22.com/img/cs/500x300-3.png" class="imga">
        <img src="http://www.jq22.com/img/cs/500x300-4.png" class="imga">
        <img src="http://www.jq22.com/img/cs/500x300-5.png" class="imga">
        <img src="http://www.jq22.com/img/cs/500x300-6.png" class="imga">
        <img src="http://www.jq22.com/img/cs/500x300-7.png" class="imga">
    </div>
    <ul class="title">
        <li class="nr active"></li>
        <li class="nr"></li>
        <li class="nr"></li>
        <li class="nr"></li>
        <li class="nr"></li>
        <li class="nr"></li>
        <li class="nr"></li>
    </ul>
</div>

=============================CSS==================================

* {
	margin:0px;
	padding:0px;
}
#benner {
	width:790px;
	height:340px;
	margin-left:15%;
	margin-top:10px;
}
#benner .imga {
	display:none;
}
#benner .img .active {
	display:block;
}
#benner .title {
	width:;
	height:16px;
	background-color:rgba(226,226,226,0.6);
	border-radius:30px;
	margin-top:-35px;
	float:left;
	margin-left:40%;
	margin-right:40%;
	padding:6px 0px 0px 10px;
	position:relative;
}
#benner .title .nr {
	list-style:none;
	width:10px;
	height:10px;
	background:#fff;
	border-radius:10px;
	float:left;
	margin-right:10px;
	margin-bottom:0px;
}
#benner .title .active {
	background:#db192a;
}

===========================================JS========================================

window.onload = function() {
    benner('#benner', '.nr', '.imga')

    function benner(parent, controller, mod) {

        var num = 0;
        var controller = $(controller);
        var mod = $(mod);
        var benner = $(parent);
        var autoPlayTime = 1500;
        var imgNum = mod.length - 1;
        var auto;

        autoPlay();
        //根据传进来的名字获取这个名字所对应的对象
        function $(name) {
            if (name[0] == '#') {
                return document.getElementById(name.substr(1));
            } else if (name[0] == '.') {
                return document.getElementsByClassName(name.substr(1));
            } else {
                return document.getElementsByTagName(name);
            }
        }

        //实现鼠标划过圆点,变化图片的效果
        //function change(controller, mod){
        //遍历控制器,绑定鼠标划过事件
        for (var i = 0; i < controller.length; i++) {
            //给控制器加个索引,并把i值赋值给索引
            controller[i].index = i;
            //给所有的控制器都加划过事件
            controller[i].onmouseover = function() {
                for (var j = 0; j < controller.length; j++) {
                    //将所有控制器改为默认样式
                    controller[j].className = 'nr';
                }
                //改变所选的控制器样式
                this.className = 'nr active';
                //将模型改为默认样式
                for (var x = 0; x < mod.length; x++) {
                    mod[x].className = 'imga';
                }
                //改变所选控制器对应的模型的样式
                mod[this.index].className = 'imga active';
            }
        }
        //}
        //绑定鼠标移入,暂停播放图片
        benner.onmouseover = function() {
            clearInterval(auto);
        }
        //绑定鼠标离开,继续播放
        benner.onmouseleave = function() {
            autoPlay();
        }
        //指定播放那个图片
        function play(num) {
            for (var j = 0; j < controller.length; j++) {
                controller[j].className = 'nr';
            }
            controller[num].className = 'nr active';
            for (var x = 0; x < mod.length; x++) {
                mod[x].className = 'imga';
            }
            mod[num].className = 'imga active';
        }
        //自动播放
        function autoPlay() {
            auto = setInterval(function() {
                if (num > imgNum) {
                    num = 0;
                }
                play(num);
                num++;
            }, autoPlayTime)
        }
    }

}









评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值