为了账号安全,请及时绑定邮箱和手机立即绑定

无缝滚动一次就完了,怎么回事啊?

无缝滚动一次就完了,怎么回事啊?

<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <title>信息无缝滚动!</title>
    <!-- <meta http-equiv="refresh" content="2"> -->

    <style type="text/css">
        *{
            padding: 0px;
            margin: 0px;
        }
        .message{
            width: 300px;
            border:8px solid gray;
            line-height: 24px;
            border-radius: 10px;
            position: relative;
            margin: 20px auto;    
            box-shadow: 1px 2px 4px gray;        
            font-size: 14px;
        }
        h3{
         background-color: #E25162;
         font-size: 26px;
         color: #fff;
         height: 62px;
         line-height: 62px;
         padding-left: 30px;
        }
        span{
            position: absolute;
            right: 6px;
            top:17px;
            color: #fff;
        }
        ol{
            padding:10px 0 5px 26px;            
        }
        #show{
            height: 116px;
            overflow: hidden;
        }
        li:hover{
            color: red;
        }
    </style>
</head>
<body>
    <div>
        <h3>最新课程</h3>
        <span>more>></span>
        <div id="show">
            <ol id="ul0">
                <li>IIIIIIIIIIIIIIIIIIIII</li>
                <li>lovelovelovelove</li>
                <li>youyouyouyouyouyou</li>
                <li>zhuyanzhuyanzhuyan</li>
            </ol>
            <ol id="ul1"></ol>
        </div>
    </div>

    <script type="text/javascript">
        var box=document.getElementById("show");
        var mes1 = document.getElementById("ul0");
        var mes2 = document.getElementById("ul1");
        var speed = 50;        
    
        mes2.innerHTML=mes1.innerHTML;
        function up(){
            if(box.scrollTop == mes1.scrollHeight){
                box.scrollTop=0;
            }else{
                box.scrollTop ++;
            }            
        }
        var i=setInterval("up()",speed);
        box.onmouseover=function (){
            clearInterval(i);
        }
        box.onmouseout=function(){
            i=setInterval("up()",speed);//一定要赋值给变量i,否则会引起两次调用计时器。
        }        
    </script>
</body>
</html>


正在回答

2 回答

你这高度明显计算错误了,两个一样的ol,height都是87,把#show的height改成87就可以了,这样#show的scrollTop才会是87,==scrollHeight,才能重新scrollTop = 0,实现无缝滚动.



0 回复 有任何疑惑可以回复我~
#1

记得喝水 提问者

非常感谢!
2015-12-02 回复 有任何疑惑可以回复我~

老师的代码就没有要一样啊


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
信息滚动效果制作
  • 参与学习       47751    人
  • 解答问题       321    个

萌妹子带您快速学习滚动效果,掌握无缝滚动和歇间性滚动的制作方法

进入课程

无缝滚动一次就完了,怎么回事啊?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信