繁体   English   中英

尝试在每个循环的jquery中延迟添加类

[英]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值覆盖每个回调的ie参数:

$('.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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM