每次到达页面底部时加载内容

时间:2014-05-30 19:28:21

标签: jquery

我目前正在尝试每次到达页面底部时加载内容。 (类似于它如何在9GAG上运行)。 这是我的代码:

$(window).scroll(function() {
  if($(window).scrollTop() + $(window).height() > $(document).height() - 300) {
  $(window).unbind('scroll');

   $.get( "content.html", function( data ) {
       $("#div").append(data);
       $(window).bind('scroll');
    });
   }   
});

显然它只能使用一次,尽管我使用 $(window).bind('scroll'); 。 有什么方法可以做到,所以每次都加载吗?

编辑:问题在于我使用> 而不是 == ,这导致 $。get 要多次被解雇,如果我没有解除绑定事件。使用 == ,它可以正常工作。

2 个答案:

答案 0 :(得分:3)

这样做:

$(window).scroll(function () {

if ($(window).scrollTop() + $(window).height() == $(document).height()) 
   {

        $.get( "content.html", function( data ) {

        $("#div").append(data);

       });
   }
});

以下是blog post我在申请表中实施后的{{3}}。

答案 1 :(得分:0)

您不必取消绑定滚动事件。 如果允许获取数据,则可以创建var作为标志,并在get函数之前将其设置为false,并将get回调设置为true。

将标志添加到if语句中,这应解决问题。