【发布时间】:2016-01-19 13:15:23
【问题描述】:
我需要制作动画,但我的声明没有效果。我的代码:
var movei=function(img){
img.setAttribute("src", "blank.png");
}
var comp=function() {
...
for(var k=0; k<i; k++) {
var img=document.getElementById(id(k,col));
img.setAttribute("src", "circ1.png");
timer=setTimeout(movei(img),1000);
...
}
}
我阅读了有关setTimeout (setInterval) 的另一个问题,但找不到答案。
【问题讨论】:
-
movei()立即执行函数。要传递回调,请不要调用它:setTimeout(movei, 1000). -
您可以添加匿名函数并调用
movei(img) -
@DnisterLark 这个我试过了,结果好像没用过setTimeout
-
你是否意识到一旦你修复了你的错误,所有的图像都会在一秒钟内被准确地调用?
-
试试这个:
timer=setTimeout(movei.bind(null,img),1000)或timer=setTimeout(function(){movei(img)},1000)
标签: javascript settimeout