艾Q网

标题: jquery无限无缝文字轮播滚动 [打印本页]

作者: admin    时间: 2024-3-10 12:06
标题: jquery无限无缝文字轮播滚动
实现原理

1 复制一份要滚动内容追加到原内容后面

2 js动态修改滚动区块的top或left的绝对位置

3 当滚动top或left位置等于区块高度或宽度时,让其归0,这就实现的无缝轮播

html代码

<div class="box">
<div class="box">
        <ul class="scroll">
                <li><a href="">1</a></li>
                <li><a href="">2</a></li>
                <li><a href="">3</a></li>
                <li><a href="">4</a></li>
                <li><a href="">5</a></li>
                <li><a href="">6</a></li>
                <li><a href="">7</a></li>
                <li><a href="">8</a></li>
                <li><a href="">9</a></li>
        </ul>
</div>



css 代码

.scroll{
        position:absolute;
}
.box{
        overflow:hidden;
        position:relative;
        height:345px;
}
.box ul{
        overflow:hidden;
        position:absolute;
        left:0px;
        top:0px;
}
.box ul li a{
        font-size:14px;
        display:block;
        height:40px;
        line-height:40px;
        border-bottom:1px dashed #ccc;
        text-indent:10px;
        overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}


js代码

$(function(){
        
   //复制一分代码
        var copy = $('.scroll').html();
        $('.scroll').append(copy);

        //动态执行函数
        var num = 0;
    function goLeft() {
        //345垂直的高度
        if (num == -345) {
            num = 14; //如果有抖动可以进行调节
        }
        num -= 1;
        $(".scroll").css({top: num})
    }
        
    //设置滚动速度20
    var timer = setInterval(goLeft, 20);
        
    //设置鼠标经过时滚动停止
    $(".scroll").hover(function() {
        clearInterval(timer);
    },
    function() {
        timer = setInterval(goLeft, 20);
    })
        
});






欢迎光临 艾Q网 (http://js.iqi123.com/bbs/) Powered by Discuz! X3.4