美文网首页
jq无缝轮播图

jq无缝轮播图

作者: AFew | 来源:发表于2018-10-25 15:44 被阅读0次

html+css部分

<style>
* {
    padding: 0;
    margin: 0;
    list-style: none
}
.lbt {
    width: 700px;
    height: 300px;
    overflow: hidden;
    margin: 30px auto;
    position: relative;
}
.lbt_ul {
    width: 3000px;
    display: block;
    position: absolute;
    left: 0;
    top: 0;
}
.lbt_ul li {
    float: left;
    display: block;
    width: 700px;
    height: 300px;
}
.lbt_ul li img {
    display: block;
    width: 100%;
    height: 100%;
}
.lbt_cr {
    position: absolute;
    bottom: 0;
    height: 30px;
    width: 700px;
    background: rgba(0, 0, 0, 0.3);
}
.lbt_cr ul {
    font-size: 0;
    text-align: center;
    padding: 0;
    margin: 0;
    margin-top: 6px;
}
.lbt_cr li {
    width: 14px;
    height: 14px;
    background: #fff;
    display: inline-block;
    margin: 0 5px;
    border-radius: 7px;
    cursor: pointer;
}
.lbt_cr li.current {
    background: rgba(46, 200, 238, 0.89);
}
</style>
<div class="lbt">
    <div class="lbt_ul">
        <ul>
            <li><img src="image/lbt1.jpg" alt=""></li>
            <li><img src="image/lbt2.jpg" alt=""></li>
            <li><img src="image/lbt3.jpg" alt=""></li>
        </ul>
    </div>
    <div class="lbt_cr">
        <ul>
            <li class="current"></li>
            <li></li>
            <li></li>
        </ul>
    </div>
</div>

jq部分

$(function () {
    var one = $('.lbt_ul'); //获取对象
    var width = 700; //图片宽度
    var sy = 0; //初始索引速度
    var max = one.find('li').length - 1; //最大索引
    var t = 700; //滑动速度
    one.find('li:first').clone().appendTo(one); //复制第一个li到对象的最后面
    var time = setInterval(start, 1500); //设置定时器
    //轮播图
    //==============
    function start() {
        if (!one.is(':animated')) {
            if (sy < max) { /***** 如果当前索引小于最大索引 *****/
                sy += 1; //当前索引加1  执行动画向左移动
                one.animate({
                    left: -width * sy //left: -宽度 * 当前索引
                }, t);
            } else { /***** 否则重置索引为初始0 *****/
                sy = 0;
                one.animate({
                    left: -width * (max + 1) //移动到最后一张克隆图片
                }, t, function () {
                    $(this).css('left', 0) //并将left初始0
                });
            }
            change_cr();
        }
    }
    //鼠标滑过停止轮播图
    //==============
    $('.lbt').on({
        mouseenter: function () {
            clearInterval(time);
        },
        mouseleave: function () {
            clearInterval(time);
            time = setInterval(start, 1500);
        }
    });
    //小圆点
    //==============
    var $lbt_cr = $('.lbt_cr li');
    function change_cr() {
        $lbt_cr.eq(sy).addClass('current').siblings().removeClass('current');
    }
})

相关文章

  • jq无缝轮播图

    html+css部分 jq部分

  • jq无缝轮播图

    前端是一条很长的路,新入坑的小伙伴且行且珍惜。刚学习js时轮播图是我们不可绕过的一个很经典的题目,虽然现在http...

  • 无标题文章

    轮播图分为:传统轮播图、间歇轮播图、呼吸轮播图、无缝滚动轮播图等。它们各具特色,各有用处。 1.传统轮播图 第一步...

  • 轮播图

    轮播图分为:传统轮播图、间歇轮播图、呼吸轮播图、无缝滚动轮播图等。 1.传统轮播图 第一步,得到元素 第二步,设置...

  • JS中常见的几种轮播

    轮播图 1.无缝不停轮播 ​ 1. body布局: ​ 2. css样式: 3. JS代码: 2.无缝停顿...

  • jQuery实现轮播图无缝(无回滚)滚动切换效果

    HTML 无缝切换轮播图