我有一个
JQuery的.each循环,每次迭代调用一个参数的函数,有没有办法延迟这个函数调用?我已尝试过setTimeout,如下所示,但这不起作用,因为函数立即执行.
$.each(myArray,function (j,dataitem) { setTimeout(function () { showDetails(dataitem) },300); }); function showDetails(dataitem) { ... }
数组大小大约是20,我要做的是在一定的时间范围内分配函数调用而不是立即,任何想法如何实现这一点?我准备重写并重新调整函数的调用方式以完成这项任务,任何帮助都将受到赞赏.
解决方法
您可以使用数组的索引动态计算间隔:
$.each(myArray,dataitem) { window.setTimeout(function () { showDetails(dataitem) },(j + 1) * 300); });