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

put an interval between .each() in jQuery

本文关键字:一个 之间 jQuery 中的 each      更新时间:2023-09-26

我有以下代码:

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

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

是的,它应该适用于setTimeout

试试这个

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

以下内容应该有效。

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

jQuery的.each(),当给出一个参数,如这里的i,将增加每个循环。

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

如果希望第一个元素也延迟,则应将 1 添加到i,因为第一个索引始终为 0。

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

试试这个

$('.action-button').each(function(i, obj) 
    { 
    $(obj).delay(i*500).trigger('click') 

    });
相关文章: