jQuery 使用delay() 和$.each() 不起作用
我有不同的班级,每个班级都有不同的背景。我试图每 2 秒切换一次 div #elm 的背景。为什么下面的每个索引之间不延迟 2 秒。他们都立刻进来。
var classes = ['class1', 'class2', 'class3'];
$.each(classes, function(index, val) {
$('#elm').removeAttr('class').addClass(val).delay(2000*index);
});
I have different classes each with a different background. I'm trying to switch background on div #elm every 2 seconds. Why is the following not delaying 2 seconds between each index. They all come in at once.
var classes = ['class1', 'class2', 'class3'];
$.each(classes, function(index, val) {
$('#elm').removeAttr('class').addClass(val).delay(2000*index);
});
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
发布评论
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
delay()
仅适用于效果。来自 jQuery delay() 文档
由于
addClass()
不是效果,因此您可以包含 fadeIn() 效果并使用 addclass 作为回调函数。检查工作示例 http://jsfiddle.net/8e3Rm/
delay()
only works on effects.From jQuery delay() documantation
Since
addClass()
is not an effect, you can include a fadeIn() effect and use addclass as a callback function.Check working example at http://jsfiddle.net/8e3Rm/