美文网首页
JS实现无缝滚动

JS实现无缝滚动

作者: 小福饼 | 来源:发表于2018-03-22 17:19 被阅读0次

首先上一张效果图


原理

图1 图2

在可视区域内,list1向上滚动,在滚动至图2的位置时,达到滚动连接临界点。由于list2与list1的数据一模一样,视觉上达到了一个无缝衔接的效果。此时让滚动位置迅速归0,list1回到初始位置,如图1,实现无缝滚动。

代码

//html代码
<div id="box">
    <ul id="list1">
      <li>星期一</li>
      <li>星期二</li>
      <li>星期三</li>
      <li>星期四</li>
      <li>星期五</li>
      <li>星期六</li>
      <li>星期天</li>
     </ul>
     <ul id="list2"></ul>
</div>      
//js
<script type="text/javascript">
    var box=document.getElementById("box");
    var l1=document.getElementById("list1");
    var l2=document.getElementById("list2");
    l2.innerHTML=l1.innerHTML;//克隆list1的数据,使得list2和list1的数据一样
    function scrollup(){
        if(box.scrollTop>=l1.offsetHeight){ //滚动条距离顶部的值恰好等于list1的高度时,达到滚动临界点,此时将让scrollTop=0,让list1回到初始位置,实现无缝滚动
            box.scrollTop=0;
        }else{
            box.scrollTop++;
        }
    }
    
    var scrollMove=setInterval(scrollup,30);//数值越大,滚动速度越慢

    //鼠标经过时,滚动停止
    box.onmouseover=function(){
        clearInterval(scrollMove)
    }

    //鼠标离开时,滚动继续
    box.onmouseout=function(){
        scrollMove=setInterval(scrollup,30);
    }
</script>
//css
<style>
        *{margin:0; padding:0;}
        ul,li{list-style: none;}
        #box{ width: 200px; height:90px; overflow:hidden; border:1px solid red;}
</style>

js无缝滚动到此完成!

相关文章

  • 无缝向上、向左滚动--间歇性滚动

    无缝滚动原生JS 版 js 部分 无缝滚动 jquery 版 无缝向左滚动 js 部分 间歇性滚动 与 上面无缝滚...

  • JS实现无缝滚动

    首先上一张效果图 原理 在可视区域内,list1向上滚动,在滚动至图2的位置时,达到滚动连接临界点。由于list2...

  • JS实现无缝滚动

    滚动轮播图原理:以本文为例,想要实现视觉上的无缝隙滚动轮播,就需要在第四张图后,再添加第一张和第二张图,因为本文的...

  • js 无缝滚动实现

    前端经常看到图片滚动,理清楚原理就会很简单滚动的原理: 所有的图片用li展示出来,ul设置固定宽度,超出的部分hi...

  • JS实现无缝滚动

    不多说,直接贴代码了

  • js实现-新闻间歇性向上无缝滚动

    参考js实现-新闻间歇性向上无缝滚动 , 实现在vue中新闻列表的无限滚动, 代码如下 assets.html a...

  • JS实现图片的不间断连续滚动

    bug修复版2017.07.11 js替代marquee实现图片无缝滚动可能大家都碰到过,当marquee中滚动的...

  • JS实现文字无缝滚动

    html结构: style样式: JS代码:

  • js实现无缝滚动图

    先说说需求。要制作下图这种滚动视图。轮播图片的src包含在json数据中,对图片数量没有限制。图片的蒙版随着图片滚...

  • js实现循环无缝滚动

    原理一(scrollDiv滚动,浮动改变left值) 大的div(bigDiv)包含一个滚动的div(scroll...

网友评论

      本文标题:JS实现无缝滚动

      本文链接:https://www.haomeiwen.com/subject/xfqaqftx.html