2013-12-12 42 views
0

好的,我已经得到了一些脚本,当某些元素变得可见时,这些脚本就会添加一个类名称。addClass与多个元素之间的轻微延迟

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

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

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

+1

“类名懒” 懒惰或图像? –

+0

[http://luis-almeida.github.io/unveil/](unveil)是你的朋友,以防万一。 – moonwave99

+0

对不起,classname图片 – Alex

回答

4

试一下:

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

不错的做法。 Upvoted。 – melancia

+0

精美的作品,谢谢! :d – Alex

0

你的意思是这样的:(即1000毫秒)

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

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

将增加1类其次,它执行瓦特/ UR滚动功能后。

+1

它会一次又一次地将所有图像添加到所有图像中。您的选择器正在使用class =图像返回所有图像。 – melancia