javascript - 延迟 JavaScript 的函数执行

标签 javascript jquery settimeout jquery-events delayed-execution

我有一个 JQuery 的 .each 循环,每次迭代调用一个带有参数的函数,有没有办法延迟这个函数调用?我尝试了如下所示的 setTimeout 但这不起作用,因为该函数会立即执行。

$.each(myArray, function (j, dataitem)
{
     setTimeout(function () { showDetails(dataitem) }, 300);
});

function showDetails(dataitem)
{
...
}

数组大小大约为 20,我想做的是在特定时间范围内而不是立即分配函数调用,知道如何实现吗?我准备重写和重组如何调用函数来完成这项工作,我们将不胜感激。

最佳答案

您可以使用数组的索引来动态计算间隔:

$.each(myArray, function (j, dataitem) {
    window.setTimeout(function () { 
        showDetails(dataitem) 
    }, (j + 1) * 300);
});

关于javascript - 延迟 JavaScript 的函数执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5372106/

相关文章:

javascript - .length 仅在 setTimeout 之后未定义

javascript - YouTube 属性通过但未反射(reflect)在视频中

javascript - 如何通过ajax追加div

javascript - 在附加之前修改元素位置和旋转

jquery - css bootstrap 3列具有相同的高度

node.js - 更改系统时间时如何使用 setInterval/setTimeout 解决 NodeJS 稳定错误

javascript - 检测窗口宽度并更改 jQuery UI 工具提示位置

javascript - 在多维数组中查找条目,其中属性的一部分与给定文本匹配

javascript - 如何只更改 click div 元素的颜色?

javascript - 如何让它等到一切完成直到下一次迭代