0

次のコードがあります。

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

ループの各反復の間に遅延を入れたいと思いました。理想的には 5 秒の遅延です。どうすればいいですか?setTimeout を使用することは可能ですか?

4

3 に答える 3

1

以下はうまくいくはずです。

$('.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();
});
于 2013-10-30T12:04:44.550 に答える
0

これを試して

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

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


    });
于 2013-10-30T11:54:23.673 に答える