1

考虑一个重复循环

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

如何计算内部循环setInterval动态设置所花费的总时间?

在这里,如果我们有 4 个元素的 class of test,则循环与setIntervalof完美配合4000。如何使变量动态设置此值?例如,设置它6000,当我们有 6 个元素时,等等。

我的问题是,我不能使用duration*idxfor的值setInterval,因为它在idx function.

4

2 回答 2

5

您可以使用.length来计算元素的数量:

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

然后,执行您的操作!


已编辑,以澄清 .lenght 超过 .size() 的使用:

.size ()方法在功能上等同于.length属性;但是,首选.length属性,因为它没有函数调用的开销。

于 2012-05-12T11:00:46.743 回答
3

最简单的方法是有差异。在开始时间和经过时间之间。

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