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

来源:6-1 同时运动

召唤师

2016-04-26 18:12

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

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

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

http://img.mukewang.com/571f3dde0001694012800720.jpg

写回答 关注

4回答

  • 哈喽姑娘
    2016-04-29 10:42:05
    已采纳

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

    召唤师

    非常感谢!

    2016-05-16 14:39:29

    共 1 条回复 >

  • 不再热情似火
    2016-05-17 21:19:05

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

  • 哈喽姑娘
    2016-04-29 10:37:25

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

  • LY_1124
    2016-04-26 22:01:38

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

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

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

JS动画效果

通过本课程JS动画的学习,从简单动画开始,逐步深入各种动画框架封装

113925 学习 · 1443 问题

查看课程

相似问题