setTimeout折线动画里面的问题
来源:
qlquiet
2016-10-20
请问为什么setTimeout(function(){},i*10+5000)只有在动画开始的时候会延迟5000ms,而setTimeoutl(function(){},i*30)动画整体会变慢,i*10+5000为什么整体动画每一个绘制都不延迟5000+i*10
写回答
1回答
-
Lyn
2017-01-16
当前时间假设为 0
====
以下代码,不断循环
setTimeout(function(){},i*10+5000)
第一次:
1*10+5000 = 5010
第二次:
2*10+5000 = = 5020
其实这里就能看出来了。5000 是一次性加上去的。
====
而 setTimeoutl(function(){},i*30)
第一次:30
第二次:60
第三次:90
====
如果每个绘制都延迟 5000 那代码应该是
setTimeout(function(){},i*10+ i*5000)
第一次:10+5000 = 5010
第二次:20+10000 = 10020 // 相差: 5010
第三次:30+15000 = 15030 // 相差: 5010
00
相似问题