我正在读一本名为Pro Javascript Techinques的书(John Resig) 核心动画的一段代码如下:
setTimeout(function () {
elem.style['width'] = (i / 100) * fullwith + 'px';
}, **(i + 1) * 10** );
我想知道它应该改变'每个超时'时间来实现它
为什么“每个超时”的时间不应该相同,例如:1000,因此它会闪烁
非常感谢〜
答案 0 :(得分:0)
每个setTimeout都会注册一个新的超时(全部以“now”开始),它会相隔10ms,因此你每隔10ms就会得到一个常规脉冲,但是你事先将所有脉冲排队 - 第一次超时直到你注册了所有这些回调后10ms。
为什么他应该这样做,当有setInterval时,我不知道 - 可能有趣的是找出来,是否在书中?