addClass到多个元素之间的延迟很小

时间:2013-12-12 16:25:37

标签: jquery

好的,我有一些脚本,当某些元素变得可见时会为它们添加一个类名。

var t = $("#div").offset().top;

$(document).scroll(function(){
    if($(this).scrollTop() > t)
    {   
        $('.image').addClass('img-vis');
    }
});

有12个元素,类名称为lazy,我希望每个类添加之间稍有延迟。

2 个答案:

答案 0 :(得分:4)

试试:

$('.image').each(function (i) {
    $(this).delay(i*1000).queue(function (next) {
        $(this).addClass('img-vis');
        next(); //used just to dequeue
    });
});

答案 1 :(得分:0)

你的意思是这样的:

$(document).scroll(function(){
    if($(this).scrollTop() > t)
    {   
        setTimeout( addImgVis, 1000 );
    }
});

function addImgVis(){
    $('.image').addClass('img-vis');
}

在你的滚动函数中执行w /后会添加1秒(即1000毫秒)。