2012-07-12 58 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+因爲你可以儘可能縮小頁面 -

直到顯示滾動條時,您將看到新內容的調用。