[英]Attempting to add class with delay whilst in an jquery each loop
我试图用Javascript / jQuery一次使一些元素淡入淡出,但是我什么都做不了。
我已经尝试过StackOverflow上的每个“解决方案”,但都没有解决此问题。 1)我要立即为所有动画设置动画的元素,2)完全没有动画设置,或者3)我收到Javascript错误。 看一下我当前的代码:
$('.tagline').each(function(i, e) {
setTimeout(function(i, e) {
e.addClass('animated');
}, 500 * i);
});
上面的代码告诉我e is undefined
。 我究竟做错了什么?
setTimeout
回调不接受任何参数,您正在使用undefined
值覆盖每个回调的i
和e
参数:
$('.tagline').each(function(i, e) {
setTimeout(function() {
$(e).addClass('animated');
}, 500 * i);
});
如果您想控制自己的推子,可以随时采用数据方法。 如果您想依靠某些东西,则可以始终添加一个为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);
})
})
您可以执行以下操作http://jsfiddle.net/rg45yduh/
$('.tagline').each(function (i) {
$(this).delay((i++) * 500).fadeIn(500);
});
或添加一个类
$('.tagline').each(function (i) {
$(this).delay((i++) * 500).addClass('animated');
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.