如何在向下滚动后逐个删除相同类的元素?

时间:2015-03-11 16:23:22

标签: javascript jquery

我有一个15个方格的列,有一个“盒子”类。

我希望在向下滚动后逐个将它们从体内删除。

我尝试过但没有任何反应:

$(window).scroll(function() {

    if ($('.box:first').offset().top + $('.box:first').height() < $(window).scrollTop()) {

       $(this).remove(); 
       };
})

有什么建议吗?

http://jsfiddle.net/e1m1bmd4/1/

3 个答案:

答案 0 :(得分:4)

$(this)替换为$'.box:first').remove()。因为$(this)引用窗口滚动对象而不是框元素。

Working JSFiddle

答案 1 :(得分:3)

$(this)指的是窗口对象。更具体一点:

if ( $('.box:first').offset().top 
  + $('.box:first').height() <  $(window).scrollTop() ) {
    $('.box:first').remove();
}

<强> Demo

答案 2 :(得分:1)

您可以使用first()

$(window).scroll(function() {

    if ($('.box').first().offset().top + $('.box').first().height() < $(window).scrollTop()) {

       $('.box').first().remove(); 
       };
})

并参考当前第1个类别的非窗口代码中的窗口。

<强> Fiddle