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

这代码哪里出错了,为什么会不断加快速度

<!DOCTYPE html>

<html>

<head>

  <meta charset="UTF-8" />

  <title>demo</title>

  <style type="text/css">

    *{margin:0;padding:0;}

    div{width:50px;

        overflow:hidden;

      height:50px;


    }

    ul{

      height: 72px;

      overflow:hidden;

      border:1px solid #ccc;

    }

  </style>


</head>

<body>

  <div>

    <ul id="box">

        <li>哈哈哈</li>

        <li>ooooo</li>

        <li>cccc</li>

        <li>qqqqqqq</li>

    </ul>

  </div>

  <script type="text/javascript">



    var box=document.getElementById('box'),

        marqueeSpeed=50,

        marqueeTimeOut=2000,

        timer=null;

    box.innerHTML+=box.innerHTML;


  function startMove(){

      box.scrollTop++;

    timer=setInterval("scrollUp()",50);


  }

  function scrollUp(){

      if (box.scrollTop%18==0) {

        clearInterval(timer);

        setInterval("startMove()",2000);

      }else{

        box.scrollTop++;

        if (box.scrollTop>=box.scrollHeight/2) {

          box.scrollTop=0;


        };

      }

  }


    function getStyle(obj,attr){

    if (obj.currentStyle) {

      return obj.currentStyle[attr];

    }else{

      return getComputedStyle(obj,false)[attr];

    }

  }

  setTimeout('startMove()',2000);

  </script>

</body>

</html>


正在回答

2 回答

代码中开启了两个定时器

http://img1.sycdn.imooc.com//582c54e00001434c04720528.jpg

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

小米粥哥哥 提问者

非常感谢!
2016-11-21 回复 有任何疑惑可以回复我~

如楼上所见 只需把setInterval 改成setTimeout即可

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

举报

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

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

进入课程

这代码哪里出错了,为什么会不断加快速度

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号