CSS
.item { display: none; }
HTML
<div> <div class="item">machin</div> <div class="item">chose</div> <div class="item">chouette</div> <div class="item">prout</div> </div>
我使用jQuery,我想让每个.item出现在一个随机的小计时器,如:
JavaScript的
$('.item').each(function () { itm = $(this); setTimeout(function () { itm.fadeIn(1000); },Math.floor(Math.random() * 1000)); })
在这里,它将始终包含最后一个项目,因为在所有赋值之后对该函数进行评估.
我不能使用setTimeout()的第三个参数,因为它不会在IE上工作.
出于安全考虑,不建议使用setTimeout()和eval方法.
那么如何通过setTimeout()访问我的对象?
编辑
我知道这个问题已经发布了.
但是,尽管它与each()上下文有些特定.
现在有人完全改变了我的问题的标题,原来是像“setTimeout() – jQuery.each()这个对象参数’
解决方法
不要使用setTimeout,使用jQuery自己的工具.
$('.item').each(function () { $(this).delay(Math.random() * 1000).fadeIn(); })