这是我从http://www.schillmania.com/content/projects/javascript-animation-1/demo/复制的一段代码
非常简单的 JS 动画:
function doMove() {
foo.style.left = parseInt(foo.style.left)+1+'px';
setTimeout(doMove,20);
}
这工作正常。但是,如果我像这样更改它:
function doMove() {
for (var i=0; i<1000; i++) {
setTimeout(function(){foo.style.left = parseInt(foo.style.left)+1+'px';},20*i);
}
}
因此根本没有动画。据我所知,只要调用 setTimeout,JS 引擎就会将这些事件推送到队列中。所以我只是不明白为什么这不起作用。