我有一个 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/