我尝试使用jQuery按顺序为元素设置动画。我试图实现的方法是添加动画fadeInDown"应该动画的每个元素上的类,延迟为500毫秒。
我遇到的问题是jQuery(或者我使用setTimetout函数)会同时触发所有动画。
这是我的代码:
$('.row-assets .asset').each(function(i) {
$(this).delay((i++) * 500).addClass('animated').addClass('fadeInDown');
});
我做错了什么?
答案 0 :(得分:1)
addClass()
不是jQuery动画队列的一部分,因此不受delay()
的影响。正确使用setTimeout应该有效:
<强> DEMO 强>
var addClassToEl = function($el) {
$el.addClass('animated fadeInDown');
};
$('.row-assets .asset').each(function(i, el) {
setTimeout(function() {addClassToEl($(el))}, i++ * 500);
});
如果要为其更改设置动画,则必须确保您的类具有适当的CSS过渡。