我试图解决 setTimeout
问题,但无法让它正常工作。
我在这里设置了一个示例:http://jsfiddle.net/timkl/Fca2n/
我想要在单击 anchor 后倒计时文本 - 但我的 setTimeout
似乎同时触发,即使我已将延迟设置为 1 秒。
这是我的 HTML:
<a href="#">Click me!</a>
<span id="target"></span>
这是我的 JS:
$(document).ready(function() {
function foo(){
writeNumber = $("#target");
setTimeout(writeNumber.html("1"),1000);
setTimeout(writeNumber.html("2"),1000);
setTimeout(writeNumber.html("3"),1000);
};
$('a').click(function() {
foo();
});
});
最佳答案
setTimeout
将函数作为参数。您正在执行该函数并将结果传递给 setTimeout
(因此该函数会立即执行)。您可以使用匿名函数,例如:
setTimeout(function() {
writeNumber.html("1");
}, 1000);
请注意,setInterval
也是如此。
关于javascript - setTimeout延迟不等待超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8196224/