1

の繰り返しループを考えてみましょう

setInterval(function(){
$('.test').each(function(idx){
    var duration = 1000;
    $(this).delay(duration*idx);
    Some stuff here
});
}, 4000);

setInterval内部ループが動的に設定するのにかかる合計時間を計算するにはどうすればよいですか?

ここで、クラス of の 4 つの要素がある場合、サイクルはoftestで完全に機能します。この値を動的に設定する変数を作成するにはどうすればよいですか? たとえば、要素が 6 つある場合などに設定します。setInterval40006000

私の問題は、 forの内部にあるため、duration*idxforの値を使用できないことです。setIntervalidx function

4

2 に答える 2

5

.lengthを使用して、要素の数を数えることができます。

var total  = $('.test').length,
    timer  = 1000,
    result = parseInt(timer*total);

そして、あなたの行動を実行してください!


EDITED、.size() での .length の使用を明確にするために:

.size()メソッドは機能的には.lengthプロパティと同等です。ただし、関数呼び出しのオーバーヘッドがないため、 .lengthプロパティが優先されます。

于 2012-05-12T11:00:46.743 に答える
3

最も簡単な方法は、diff を使用することです。開始時間と経過時間の間。

start = new Date().getTime();
 elapsed = new Date().getTime() - start;
于 2012-05-12T11:04:09.260 に答える