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

为什么老师说startMove()进来就不断的加一,为什么是不断地加一不是只加一次吗?刚开始又没有循环

function startMove(){

  area.scrollTop++;  //这个地方为什么是不断地加一?具体的运算过程是什么?

  myScroll = setInterval("scrollUp()",speed);

 }

 function scrollUp(){

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

clearInterval(myScroll);

setTimeout("startMove()",2000);

}else{

  area.scrollTop ++; 

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

  area.scrollTop=0;

  }

}


正在回答

3 回答

进入到startMove函数是因为满足了area.scrollTop%24==0这个条件,所以在这要加自加一次,然后通过setInterval再次进入到scrollUp,如果你不加1,再次进入scrollUp时,还是会满足area.scrollTop%24==0这个条件,不能往下进行了

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

它是先++一次,然后到下一句,进入scrollUp函数,if的条件没有满足,进入else,然后++一次,然后if的条件又是不满足,然后跳出来,一直执行myScroll = setInterval("scrollUp()",speed);这一句,应该就是这样吧。

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

不是的,每次都是只加1,每隔50毫秒就加1,直到所加高度等于24的时候,满足了if条件就停两秒钟。所以在没有达到条件的时候就是不断的加1。

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

举报

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

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

进入课程

为什么老师说startMove()进来就不断的加一,为什么是不断地加一不是只加一次吗?刚开始又没有循环

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