慕丝443484
2018-05-17 15:53
flag值的改变,if判断只让flag =false 了 但是没让他变回 true ,怎么去执行fn(),也就是链式动画
是写错了,如果写在定时器外,在下一次执行startMove()之前,flag永远都会是true。
视频中flag的声明位置应该是写错了,实际上应该是写在定时器内。
视频中为什么动画会停止?完全是因为speed归0了,动画停止了,但实际上定时器并没有停止,还在继续运行。
把你的flag声明位置改一改,试想:我在进入定时器之后马上var flag = true;如此,每次执行定时器内的代码时,我们都会重新得到一个flag,值为true;如果运动的动态值(宽、高、透明度)没有达到我们的既定目标值,当前的flag = false,定时器不会停止,程序继续执行,于是在下一次执行定时器内部程序时,我们会再次var flag = true;若这一次运动的动态值达到了目标值,flag就不会赋值为false,如此,可以判断是否需要执行回调函数。
JS动画效果
113925 学习 · 1443 问题
相似问题