在jQuery中放置.each()之间的间隔

时间:2013-10-30 11:52:41

标签: javascript jquery

我有以下代码:

$('.action-button').each(function(i, obj) { $(obj).trigger('click') });

我想在循环的每次迭代之间加一个延迟,理想情况下是5秒的延迟。我该怎么办?是否可以使用setTimeout?

3 个答案:

答案 0 :(得分:1)

是的,它应该与setTimeout

一起使用

试试这个

$('.action-button').each(function(i, obj) { 
   setTimeout(function () {
      $(obj).trigger('click')
   },500);
});

答案 1 :(得分:1)

以下情况应该有效。

$('.action-button').each(function(i, obj) {
    $(obj).delay(5000 * i).click();
});

jQuery的.each(),当给出诸如i这样的参数时,会增加每个循环。

因此你可以使用它来乘以原始时间* i,这将导致第一次点击在5秒后被调用,下一次点击在10秒后被调用。

如果您希望第一个元素也被延迟,则应将{1}添加1,因为第一个元素始终为0。

i

答案 2 :(得分:0)

试试这个

$('.action-button').each(function(i, obj) 
    { 

    $(obj).delay(i*500).trigger('click') 


    });