jQuery 无缝滚动轮播图

jQuery实现轮播图还是比较容易的,代码量相对较少
HTML代码:

 <div class="slider">
        <div>
            <div class="slider-panner sp-1 active">
                <div>
                    <img src="https://img.alicdn.com/simba/img/TB1fN3WA7CWBuNjy0FaSutUlXXa.jpg" alt="">
                </div>
            </div>
            <div class="slider-panner sp-2">
                <div>
                    <img src="https://img.alicdn.com/tps/i4/TB1o_JiAVOWBuNjy0FiSutFxVXa.jpg" alt="">
                </div>
            </div>
            <div class="slider-panner sp-3">
                <div>
                    <img src="https://img.alicdn.com/simba/img/TB114X1gBjTBKNjSZFuSuv0HFXa.jpg" alt="">
                </div>
            </div>
        </div>
        <div class="list-btn">
            <ul>
                <li class="active"></li>
                <li></li>
                <li></li>
            </ul>
        </div>
    </div>

css代码

 *{
            margin:0;
            padding:0;
        }
        li{
            list-style: none;
        }
        .slider{
            height: 500px;
            position: relative;
        }
        .slider-panner{
            height: 500px;
            width: 100%;
            position: absolute;
            transition: all 1s ease;
            opacity: 0;
        }
        .slider-panner div{
            width: 1230px;
            margin: 0 auto;
        }
        .sp-1{
            background:  rgb(232, 232, 232);
        }
        .sp-2{
            background: rgb(0,0,0);
        }
        .sp-3{
            background: rgb(232, 232, 232);
        }
        .active{
            z-index: 2;
            opacity: 1;
        }
        .list-btn{
            position: absolute;
            z-index: 10;
            bottom: 20px;
            left: 50%;
            transform: translate(-50%);
        }
        .list-btn li{
            float: left;
            height: 5px;
            width: 25px;
            margin-left: 5px;
            background: rgba(0,0,0,.3);
        }
        .list-btn li.active{
            background: rgba(255,255,255,.8);
        }

现在是jQuery部分

     var thisIndex=0;
        var isRun=true;//定义一个变量 控制是否执行轮播
        setInterval(function () {
            if(isRun){
                ++thisIndex;
                run();
            }
        },1000);
        function run() {
            if(thisIndex>=3){//判断边界
                thisIndex=0;
            }
            $('.slider-panner').eq(thisIndex).addClass('active').siblings().removeClass('active');//找到相应元素,并给自己加一个class,同时把其他元素的class移除
            $('.list-btn li').eq(thisIndex).addClass('active').siblings().removeClass('active');
        }

        $('.list-btn li').on('mouseover',function () {//点击按钮 显示相应图片
            thisIndex=$(this).index();
            run();
        });

        $('.slider').hover(function () {//鼠标划入 停止轮播
            isRun=false;
        },function () {
            isRun=true;
        })
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值