次のコードがあります。
$('.action-button').each(function(i, obj) { $(obj).trigger('click') });
ループの各反復の間に遅延を入れたいと思いました。理想的には 5 秒の遅延です。どうすればいいですか?setTimeout を使用することは可能ですか?
次のコードがあります。
$('.action-button').each(function(i, obj) { $(obj).trigger('click') });
ループの各反復の間に遅延を入れたいと思いました。理想的には 5 秒の遅延です。どうすればいいですか?setTimeout を使用することは可能ですか?
以下はうまくいくはずです。
$('.action-button').each(function(i, obj) {
$(obj).delay(5000 * i).click();
});
jQuery のは、here.each()
などの引数を指定すると、i
すべてのループをインクリメントします。
したがって、これを使用して元の時間 * i を掛けることができます。これにより、最初のクリックが 5 秒後に呼び出され、次のクリックが 10 秒後に呼び出されます。
最初の要素も遅延させたい場合はi
、最初のインデックスが常に 0 であるため、 に 1 を追加する必要があります。
$('.action-button').each(function(i, obj) {
$(obj).delay(5000 * (i + 1)).click();
});
これを試して
$('.action-button').each(function(i, obj)
{
$(obj).delay(i*500).trigger('click')
});