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


0
0

Web App用组件方式开发全站

用HTML5/CSS3/JS流行技术,实现移动端可视化数据报告

3164 学习 · 516 问题

查看课程