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

为什么这段代码越运行越快?

<script type="text/javascript">

var area=document.getElementById('moocBox');

var ilight=24;

area.scrollTop=0;

area.innerHTML+=area.innerHTML;

var time ;

function startMove(){

area.scrollTop++;

time=setInterval('scrollUp()',50);

}

function scrollUp(){

if (area.scrollTop%ilight == 0 ) {

clearInterval(time);

setTimeout("startMove()",2000);

}else{

area.scrollTop++;

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

area.scrollTop=0;

}

}

}

setInterval("startMove()",2000)

</script>

信息滚动效果制作的 3-3 精简前的和精简后的代码一直看不太明白,有没有大神能够讲解一下的,谢谢

正在回答

2 回答

setTimeout 它运行一次,调用一次函数就停止了;

setInterval("startMove()",2000),它每隔2000ms就调用一次函数,然后这些调用的函数作用叠加...

用了setInterval,就一定要使用clearInterval,不然函数根本停不下来.

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

问题解决了:最后一行setInterval("startMove()",2000)应该改成setTimeout 可是代码还是不太懂 求大神讲解

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

举报

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

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

进入课程

为什么这段代码越运行越快?

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