【发布时间】:2011-03-20 22:50:53
【问题描述】:
我有一个 JQuery 的 .each 循环,每次迭代调用一个带有参数的函数,有没有办法延迟这个函数调用?我已经尝试过setTimeout,如下所示,但这不起作用,因为该函数会立即执行。
$.each(myArray, function (j, dataitem)
{
setTimeout(function () { showDetails(dataitem) }, 300);
});
function showDetails(dataitem)
{
...
}
数组大小大约为 20,我想要做的是在某个时间范围内而不是立即分发函数调用,知道如何实现这一点吗?我准备重写和重组如何调用函数来完成这项工作,任何帮助将不胜感激。
【问题讨论】:
-
执行肯定被推迟了。但循环不是,即所有 20 个
setTimouts 或多或少都被一次调用。您要一个接一个地调用showDetail函数吗?我的意思是,第一个在 300 毫秒之后,第二个在 600 毫秒之后,等等。
标签: javascript jquery settimeout jquery-events delayed-execution