2012-07-12 50 views
9

我使用的是伟大的无限滚动plugin- http://www.infinite-scroll.com/infinite-scroll-jquery-plugin/触发无限滚动时没有足够的内容滚动条在页面加载

但在更大的屏幕分辨率有没有足够的职位,以显示滚动条,以便无限滚动永远不会被触发。想知道如果这些解决方案没有大量的初始职位。

猜测某种if语句来检查浏览器高度等。但是,如果我返回true,然后如何触发无限滚动。

任何想法

感谢

奔去快速检查

回答

13

一种方法是:

// Force 'retrieve' for next page if window is taller than document 
if($(window).height() >= $(document).height()){ 
$wall.infinitescroll('retrieve'); 
}; 

猜你可能需要把它变成了多个功能'检索'如果需要,直到窗口不比文档高。

+0

应该选择这个作为答案。感谢Luigi! – Joe 2013-01-18 01:45:31

+1

工程很棒! ; D – Waymas 2013-05-15 18:06:20

3

对于infinitescroll的新版本,设置该解决方案的创建和讨论的选项

prefill: true 

+0

它不适合我。它保持相同的方式,没有垂直滚动,新的项目不会被添加。 – Atadj 2013-09-08 21:11:09

+0

确保您使用的是最新版本的infinitescroll插件。 – 2013-09-09 07:27:44

+0

我使用2.0b2.120519,仍然没有。这个问题的其他答案很有用。 – Atadj 2013-09-09 09:15:45

0

我知道的问题是旧的,但这会帮助你们中的许多人。

@Luigi答案很好,但如果加载内容一次显示滚动条是不够的?

这应做到最好

var no_scrollbar_workaround = setInterval(function checkVariable() { 

      if($(window).height() >= $(document).height()) { 
        jsonloader(); //here you put your function for more content 
      } else { 
        clearInterval(no_scrollbar_workaround); 
      } 
}, 1000); 

这将运行几次,直到需要实际显示滚动条。

您可以测试这个功能,看看它的所有荣耀,当你与按Ctrl+因为你可以尽可能缩小页面 -

直到显示滚动条时,您将看到新内容的调用。