召唤师
2016-04-26 18:12
在这一节中,为什么不是先执行完第一个startMove方法再执行下一个方法???而是只改变了高度???
老师说的是startMove方法里的第一句是清空定时器,才会这样。
好像说的不太清楚啊。如果把第一个方法执行完后,宽度已经改变了,然后才执行第二个方法,那么第二个方法里的定时器是怎么影响第一个的???
http://www.imooc.com/qadetail/121930应该是他回答的这样
执行第一个定时器的时候,开启了一个obj.timer,(宽度变化),定时器是每个一定毫秒执行一次。第一次定时器刚开始执行,就开始执行第二个定时器,(会先关闭上一个定时器,)所以第一个定时器被取消,只存在第二个定时器
我也不懂,讲链式运动的时候,就在想难道不可以这样写吗,,难道两句startMove()是同时异步执行的。。。
我本来没觉得这里有啥难理解的,看你这么一说,我好像也有点晕了……
starMove函数里第一句就是清除定时器,在执行第二个的时候不是已经把第一个的定时器清了吗?还怎么出来?
第二个能出效果是因为clearInterval以下的代码实现的啊
JS动画效果
113925 学习 · 1443 问题
相似问题