• 代码素材首页
  • 欢迎您,游客!您可以选择 注册
    头像

    JS实现新闻列表无缝向上滚动实例代码

    来源:http://school.sxbd100.com/share/29.html 2017-11-25浏览(56)  评论0

      当新闻较多,并且空前有限的时候,使用滚动是一个不错的选择,本章节就通过代码实例介绍一下如何实现此效果。

      代码实例如下:

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <meta name="author" content="http://www.jb51.net/" />
    <title>文字列表无缝向上滚动代码</title>
    <style type="text/css">
    *{
    margin:0px;
    padding:0px;
    border:0px;
    }
    body{font-size:12px}
    #demo{
    overflow:hidden;
    height:80px;
    width:280px;
    margin:90px auto;
    position:relative;
    }
    #demo1{
    height:auto;
    text-align:left;
    }
    #demo2{
    height:auto;
    text-align:left;
    }
    #demo1 li{
    list-style-type:none;
    height:22px;
    text-align:left;
    text-indent:15px;
    }
    #demo2 li{
    list-style-type:none;
    height:22px;
    text-align:left;
    text-indent:15px;
    }
    </style>
    <script type="text/javascript">
    var speed=40
    window.onload=function(){
    var demo=document.getElementById("demo");
    var demo2=document.getElementById("demo2");
    var demo1=document.getElementById("demo1");
    demo2.innerHTML=demo1.innerHTML
    function Marquee(){
    if(demo.scrollTop>=demo1.offsetHeight){
    demo.scrollTop=0;
    }
    else{
    demo.scrollTop=demo.scrollTop+1;
    }
    }
    var MyMar=setInterval(Marquee,speed)
    demo.onmouseover=function(){clearInterval(MyMar)}
    demo.onmouseout=function(){MyMar=setInterval(Marquee,speed)}
    }
    </script>
    </head>
    <body>
    <div id="demo">
    <ul id="demo1">
    <li><a href="/school_/"#" target="_blank">脚本之家欢迎您的到来</a></li>
    <li><a href="/school_/"#" target="_blank">只有努力才会有美好的明天</a></li>
    <li><a href="/school_/"#" target="_blank">没有人一开始就是高手,都是从菜鸟开始</a></li>
    <li><a href="/school_/"#" target="_blank">每一天都是新的需要好好珍惜</a></li>
    <li><a href="/school_/"#" target="_blank">怨天尤人是没有任何作用的</a></li>
    <li><a href="/school_/"#" target="_blank">今天你写代码了吗</a></li>
    <li><a href="/school_/"#" target="_blank">分享的胸怀和互助的精神最终成就了你</a></li>
    </ul>
    <div id="demo2"></div>
    </div>
    </body>
    </html>

      大致原理如下,demo元素中有两个子元素demo1和demo2,并且将demo1中的内容存入demo2中,之所以这样做,是为了当向上滚动的时候,demo2能够接在demo1的后面,否则将不是无缝滚动,而是有缝滚动了,当demo1的内容完全被遮挡之后,也就是demo1完全滚动上去的时候,demo2会恰好位于demo1开始滚动的位置,然后再重新设置demo的scrollTop值,让滚动就重新来过,这样就实现了无缝滚动效果。


    标签: 无缝滚动
    声明:本文为原创文章,如需转载,请注明来源daimasucai.com并保留原文链接:http://school.sxbd100.com/share/29.html

    评论(0)


    温馨提示:为规范评论内容,垃圾评论一律封号...

    后面还有条评论,点击查看>>