如何使用jQuery创建无限滚动?

时间:2011-01-25 12:43:58

标签: jquery

$( "body").scroll( function() {
   $( "#myDiv").load( "test.html");
});

使用此语法,我们可以在用户滚动时将内容加载到div。但在插入div之前,我想确保当用户向下滚动时div位于视口区域。

如果是,那么我想将外部内容加载到div。请帮助我实现目标。

2 个答案:

答案 0 :(得分:2)

  $( "body").scroll( function() { 
    if (document.elementFromPoint(x,y) == $("#whatever")) { 
      $( "#myDiv").load( "test.html");
    }
  }

答案 1 :(得分:0)

让我们说你有一个名为#footer的页脚div:

function element_in_scroll(elem) {
var docViewTop = $(window).scrollTop(); var docViewBottom = docViewTop + $(window).height();

var elemTop = $(elem).offset().top;
var elemBottom = elemTop + $(elem).height();

return ((elemBottom <= docViewBottom) && (elemTop >= docViewTop));
}

$(document).scroll(function(e){
if (element_in_scroll("#footer")) {
    //Here you must do what you need to achieve the infinite scroll effect...
};
});

此外,如果您想了解更多信息,请查看如何在jquery手册上创建无限滚动http://dumpk.com/2013/06/02/how-to-create-infinite-scroll-with-ajax-on-jquery/