jQuery - 无限滚动

时间:2012-08-22 13:07:16

标签: javascript jquery scroll infinite

我正在尝试在我的页面上实现无限滚动,但是当我滚动回到顶部时,不管是什么东西搞砸了,而不是触发页面底部。有谁知道什么可能触发这个?

$(window).scroll(function()
{
    if($(window).scrollTop() == $(document).height() - $(window).height())
    {
        alert("hello");
    }
});

我目前正在使用上面的代码,它在jsfiddle中运行得很好。我还尝试了另一种选择 -

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

注意:我正在使用CodeIgniter(虽然我不确定这会导致问题吗?)

如果您想了解我的意思,您可以在http://carllawl.kwebserv.info/recent查看测试页面(只需向下滚动然后再向上查看我的意思)

3 个答案:

答案 0 :(得分:0)

当我将它粘贴到firebug控制台并且此时测试页面未加载时,此代码运行良好。

答案 1 :(得分:0)

使用此

  $(window).scroll(function() {
    if ($(window).scrollTop() <= $(document).height() - $(window).height() && $(window).scrollTop() >= $(document).height() - $(window).height() - 10) {
    yourfunctionhere()
  }
 });

答案 2 :(得分: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/