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));
})
此处 itm
将始终包含最后一项,因为该函数是在所有赋值之后计算的。
我不能使用 setTimeout()
的第三个参数,因为它在 IE 上不起作用。
出于安全原因,不建议将 setTimeout()
与 eval 方法一起使用。
那么如何通过 setTimeout()
访问我的对象呢?
编辑
我知道这个问题已经发布了。
但我认为它与 each()
上下文略有不同。
现在有人完全改变了我的问题的标题,原来是类似'setTimeout() - jQuery.each() 这个对象参数'
最佳答案
不要使用setTimeout,使用jQuery自带的工具。
$('.item').each(function () {
$(this).delay(Math.random() * 1000).fadeIn();
})
关于javascript - 如何将 'this' 传递给 setTimeout 回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9163818/