轮播

HTML

<div class="box">
        <ul class="imgList">
            <li style=""><a href="javascript:;"><img src="images2/1.jpg" alt="" /></a></li>
            <li style=""><a href="javascript:;"><img src="images2/2.jpg" alt="" /></a></li>
            <li style=""><a href="javascript:;"><img src="images2/3.jpg" alt="" /></a></li>
        </ul>
        <ol class="btnList">
            <li class="current">1</li>
            <li>2</li>
            <li>3</li>
        </ol>
        <div class="leftBtn"></div>
        <div class="rightBtn"></div>
    </div>
CSS
        .box{
            height:435px;
            position:relative;
        }
        .box .imgList{
            height:435px;
        }
        .box .imgList li{
            position:absolute;
            width:100%;
            height:435px;
            left:0;
            top:0;
            display: none;
            overflow:hidden;
        }
        .btnList{
            height:22px;
            position:absolute;
            right:10px;
            bottom:10px;
            width:100%;
            text-align:center;
            font-size:0;
        }
        .imgList img{
            width:1680px;
            height:435px;
            position:absolute;
            left:50%;
            top:0;
            margin-left:-840px;
        }
        .btnList li{
            width:30px;
            height:20px;
            display:inline-block;
            border: 1px solid #fff;
            line-height:20px;
            text-align:center;
            background: rgba(0,0,0,.3);
            margin-right: 10px;
            color:#fff;
            cursor: pointer;
            font-size:12px;
        }
        .btnList li.current{
            background: rgba(0,0,0,.7);
        }
        .leftBtn,.rightBtn{
            position:absolute;
            width:40px;
            height:70px;
            left:50%;
            top:50%;
            margin-top: -35px;
            margin-left: -640px;
            background: rgba(0,0,0,.5) url(images/xiaomi/left.gif) center center no-repeat;
            cursor: pointer;
        }
        .rightBtn{
            left:auto;
            left:50%;
            margin-left: 600px;
            background-image: url(images/xiaomi/right.gif);
        }
JS 
引入
jquery.min.js文件
$(function() {
        
        // 用来模拟点击获取的图片的下标
        var num = 0;

        var rightBtn = $('.rightBtn');
        var leftBtn = $('.leftBtn');
        var imgList = $('.imgList li');
        var btnList = $('.btnList li');
        var box = $('.box');
        var len = btnList.length;
        var timer = null;

        //JQ初始化css
        imgList.first().show();
        // 点击往右走
        rightBtn.click(rightFn);
        // 封装向右走的功能
        function rightFn(event) {
            // 注意,永远我们只需要操作两张图片,num在没有加加之前是代表当前用户正在看到的那张图,加加之后,就表示下一张用户想要看到的图片
            imgList.eq(num).stop().fadeOut(1000);
            btnList.eq(num).removeClass('current');
            // 每点击一次就让num加一次
            // 做一个极值判断
            num++;
            if(num > len - 1){
                num = 0;
            }
            // 让用户想要看到的哪一张淡入进来
            imgList.eq(num).stop().fadeIn(1000);
            // 让用户想要看到的哪一张的角标添加上当前类
            btnList.eq(num).addClass('current');

        }

        // 点击往左走
        leftBtn.click(function(event) {
            // 注意,永远我们只需要操作两张图片,num在没有加加之前是代表当前用户正在看到的那张图,加加之后,就表示下一张用户想要看到的图片
            imgList.eq(num).stop().fadeOut(1000);
            btnList.eq(num).removeClass('current');
            // 每点击一次就让num加一次
            // 做一个极值判断
            num--;
            if(num < 0){
                num = len - 1;
            }
            // 让用户想要看到的哪一张淡入进来
            imgList.eq(num).stop().fadeIn(1000);
            // 让用户想要看到的哪一张的角标添加上当前类
            btnList.eq(num).addClass('current');

        });

        //点击角标让对应的图片淡入进来,之前的淡出
        btnList.click(function(event) {
            
            imgList.eq(num).stop().fadeOut(1000);
            btnList.eq(num).removeClass('current');
            // 这里一定注意,将你点击的那个元素的下标值赋值给num取得统一
            num = $(this).index();
            // 让用户想要看到的哪一张淡入进来
            imgList.eq(num).stop().fadeIn(1000);
            // 让用户想要看到的哪一张的角标添加上当前类
            btnList.eq(num).addClass('current');

        });

        timer = setInterval(rightFn, 1500);

        //鼠标移动到box上面去的时候清除定时器,离开定时器开启
        
        box.hover(function() {
            clearInterval(timer);
        }, function() {
            clearInterval(timer);
            timer = setInterval(rightFn, 1500);
        });
    });
posted @ 2018-07-09 11:38  凌珊  阅读(108)  评论(0编辑  收藏  举报