原生JS实现无缝滚动

js代码:

var scroll = document.getElementById('scrollCont');
    var soul = scroll.getElementsByTagName('ul')[0];
    var aList = soul.getElementsByTagName('li');
    var prev = document.getElementById('prevs');
    var next = document.getElementById('nexts');
    var speed = 2;
    soul.innerHTML += soul.innerHTML;
    soul.style.width = aList[0].offsetWidth * aList.length + 'px';
    function carouselScroll() {
        
        if (soul.offsetLeft < -soul.offsetWidth / 2) {
            soul.style.left = '0';
        }
        if (soul.offsetLeft > 0) {
            soul.style.left = -soul.offsetWidth / 2 + 'px';
        }
        soul.style.left = soul.offsetLeft - speed + 'px';
    }
    
    var timer = setInterval(carouselScroll, 30);
    
    scroll.onmouseover = function () {
        clearInterval(timer)
    }
    scroll.onmouseout = function () {
        timer = setInterval(carouselScroll, 30);
    }

    prev.onclick=function (){
        speed = 2;
    }
    next.onclick=function (){
        speed = -2;
    }

html结构:

 <div id="scroWrap">
        <a href="javascript:;" class="prev"  id="prevs"><img src="dpibleEeJianLeft.png" alt=""></a>
        <div id="scrollCont">
            <ul>
                <li><img src="doubleDiybg1.png" alt=""></li>
                <li><img src="doubleDiybg2.png" alt=""></li>
                <li><img src="doubleDiybg3.png" alt=""></li>
            </ul>
        </div>
        <a href="javascript:;" class="next" id="nexts"><img src="dpibleEeJianRight.png" alt=""></a>
    </div>
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 今天感恩节哎,感谢一直在我身边的亲朋好友。感恩相遇!感恩不离不弃。 中午开了第一次的党会,身份的转变要...
    余生动听阅读 10,911评论 0 11
  • 彩排完,天已黑
    刘凯书法阅读 4,497评论 1 3
  • 表情是什么,我认为表情就是表现出来的情绪。表情可以传达很多信息。高兴了当然就笑了,难过就哭了。两者是相互影响密不可...
    Persistenc_6aea阅读 129,785评论 2 7

友情链接更多精彩内容