我试图通过Javascript / jQuery一次尝试淡入一些元素,但我根本无法获得任何工作。
我已尝试过各种解决方案'在StackOverflow上有这个问题,没有任何作用。要么1)我试图一次动画所有动画的元素,2)根本没有动画,或3)我得到一个Javascript错误。看看我目前的代码:
$('.tagline').each(function(i, e) {
setTimeout(function(i, e) {
e.addClass('animated');
}, 500 * i);
});
上面的代码告诉我e is undefined
。我做错了什么?
答案 0 :(得分:4)
setTimeout
回调不接受任何参数,您将使用i
值覆盖每个回调的e
和undefined
参数:
$('.tagline').each(function(i, e) {
setTimeout(function() {
$(e).addClass('animated');
}, 500 * i);
});
答案 1 :(得分:1)
如果你想控制自己的推子,你总是可以采用数据方法。如果你想要一些东西可以依赖,你可以随时添加一个条件,如果为null。 http://jsfiddle.net/rg45yduh/3/
$(function(){
$('.tagline').each(function(){
delay=$(this).data('time-delay');
fadeout= $(this).data('fade-out');
$(this).delay(delay).fadeIn(fadeout);
})
})
答案 2 :(得分:0)
你可以做这样的事情http://jsfiddle.net/rg45yduh/
$('.tagline').each(function (i) {
$(this).delay((i++) * 500).fadeIn(500);
});
或者添加一个类
$('.tagline').each(function (i) {
$(this).delay((i++) * 500).addClass('animated');
});