javascript - setTimeout延迟不等待超时

标签 javascript jquery settimeout

我试图解决 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/

相关文章:

javascript - JQuery-UI Datepicker() 单击“以编程方式完成”

JQuery animate() 持续时间只适用于某些 CSS 规则

javascript - 后台选项卡中的 setTimeout/setInterval 1000 毫秒延迟(Chrome 和 Firefox)

javascript - 3秒后返回的函数

javascript - 使用 Javascript 循环用图像填充页面

javascript - React Router v4 - 嵌套路由问题

javascript - meteor 从复选框 switchChange 中检索真/假值

javascript - 可以使用表达式代替 setTimeout 函数中的回调函数吗?

javascript - 根据其他 child 调整div的宽度?

javascript - 带有 mustache.js 的行 strip 化和第一个/最后一个类