这不是我第一次使用setTimeout(),但我不知道问题出在哪里。 setTimeout() 的代码部分正确执行,但它立即执行,没有延迟。如果有人能看到这个问题,那就会有帮助。代码如下:
if(token==1){
img1.src=ssImages[imgNum];
num1=0;
num2=10;
setTimeout('crossFade()',2500);
}
最佳答案
你确定这是代码吗?如果立即执行,通常有两个原因:
- 开发人员认为时间以秒为单位指定 - 但 2500 就可以了,即 2.5 秒。
- 他立即调用该函数(例如
setTimeout(foo(), 1234)
);
但是这些原因都不适用于您的代码,因此请检查代码的其余部分是否有对该函数的任何其他调用。
无论如何,你应该传递一个函数而不是字符串:
setTimeout(crossFade, 2500);
或者,如果您需要指定任何参数:
setTimeout(function() {
crossFade(...);
}, 2500);
关于Javascript setTimeout 忽略时间参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7736084/