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

为什么不是执行完一个函数再执行下一个函数??

在这一节中,为什么不是先执行完第一个startMove方法再执行下一个方法???而是只改变了高度???

老师说的是startMove方法里的第一句是清空定时器,才会这样。

好像说的不太清楚啊。如果把第一个方法执行完后,宽度已经改变了,然后才执行第二个方法,那么第二个方法里的定时器是怎么影响第一个的???

http://img1.sycdn.imooc.com//571f3dde0001694012800720.jpg

正在回答

4 回答

http://www.imooc.com/qadetail/121930应该是他回答的这样

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

召唤师 提问者

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

执行第一个定时器的时候,开启了一个obj.timer,(宽度变化),定时器是每个一定毫秒执行一次。第一次定时器刚开始执行,就开始执行第二个定时器,(会先关闭上一个定时器,)所以第一个定时器被取消,只存在第二个定时器

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

我也不懂,讲链式运动的时候,就在想难道不可以这样写吗,,难道两句startMove()是同时异步执行的。。。

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

我本来没觉得这里有啥难理解的,看你这么一说,我好像也有点晕了……

starMove函数里第一句就是清除定时器,在执行第二个的时候不是已经把第一个的定时器清了吗?还怎么出来?

第二个能出效果是因为clearInterval以下的代码实现的啊

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

举报

0/150
提交
取消

为什么不是执行完一个函数再执行下一个函数??

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