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

感觉定时器关不了啊

如果不是同时到达终点,那么flag被赋值了false,当最终全部到达终点时,却没有语句将flag再次赋值为true,而判断是当flag为true时才清除定时器。所以感觉应该在定时器函数的开头将flag赋为true,不知道对不对

正在回答

3 回答

http://img1.sycdn.imooc.com//564186b00001692907990451.jpg

这张图我是截的老师屏(章节6-2,时间15分30秒),你的逻辑是对的,我测试老师的代码,定时器不会停止,改动之后,逻辑正确,flag最终变为true,定时器会停止。

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

Junx_

这个改动也不太对吧,如果第一个动画先完成的话,依旧会停止。
2015-11-10 回复 有任何疑惑可以回复我~
#2

Diseaon 回复 Junx_

怎么会。。。
2015-11-10 回复 有任何疑惑可以回复我~
#3

Junx_ 回复 Diseaon

你测试一下就知道啦,两个动画是共用一个flag的,每次进去都变成true,第一个动画完成的时候它不变flase了,然后就clearInterval了,而第二个动画还没完成。 这种写法只能把运行时间长的动画写在前面。
2015-11-10 回复 有任何疑惑可以回复我~
#4

Diseaon 回复 Junx_

if(flag){clearInterval(obj.timer)},判定是否清除定时器语句 是写在for in 循环外部的,跳出for in循环后才会执行,不会出现第一个完成后就停止定时器,判定语句写在for in 循环内部才会出现这种bug,测试无误。你再看看。。。
2015-11-10 回复 有任何疑惑可以回复我~
#5

Junx_ 回复 Diseaon

啊,是我写错了,谢谢了。
2015-11-10 回复 有任何疑惑可以回复我~
#6

Mtodream

多谢,找了好久链式不起作用的原因,原来是这样~
2016-01-07 回复 有任何疑惑可以回复我~
查看3条回复

多谢@Diseaon 的分享。

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

感谢啦

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

举报

0/150
提交
取消

感觉定时器关不了啊

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