所以這裏是發生了什麼事情。我有一個名爲「home.html」的html文檔。它包含很多div,每個div都是一個單獨的帖子。我也有一個index.html,並在其中有一個div#內容。 index.html中的內容是空的,但它通過.load()調用被home.html中的div填充。另外,在.load調用中使用div:nth-child(-n + 10)我可以只加載前10個帖子。我如何使用waypoint.js爲此添加無限滾動?因此,一旦滾動條達到底部的75%,它會從home.html加載下一個10個div。如何無限滾動waypoint.js?
2
A
回答
4
加載頁面上的10個元素後,連接一個jQuery的航點,將觸發一個動作。
該行動的第一步將禁用到航點(所以它只會觸發一次)。然後讓它通過ajax加載額外的數據並在頁面上渲染。 經過(通過回調)完成後,您將重新激活航點,以便在用戶向下滾動時啓動新的航點。
您的應用程序將不得不跟蹤加載了多少元素以及哪些元素,因此您的ajax請求請求正確的數字(即10個已加載,所以下一個請求應該從10開始並獲取10,接下來應該從20和取10等)。
「通往底部的75%的路」很容易在航點配置。你會使用「偏移」。
我把一個觸發我有,所以我加載更多的內容,它會自動把它推主網架的下面我無限滾動的DOM元素。
1
我使用jquery masonry + waypoint js ..但是如果你不在masonry回調中註冊waypoint,它會加載你的ajax調用不止一次的內容。這裏是我的解決方案;
//INFINITE SCROLL
var $loading = $("#itemsloading"),
$footer = $('footer'),
opts = {
offset: '120%',
onlyOnScroll:false
};
$footer.waypoint(function(event, direction) {
$footer.waypoint('remove');
$loading.toggle(true);
$.get($('.more').attr('href'), function(data) {
var $data = $(data.result[0]);
if($(data.result[0]).length==0){
$loading.toggle(false);
return false;
}
$('#items').append($data).masonry('appended', $data, true,
function(){
$footer.waypoint(opts);
});
$loading.toggle(false);
});
}, opts);
相關問題
- 1. 如何做無限滾動。
- 2. 無限滾動
- 3. 如何使用ajax進行遠程無限滾動(無限滾動)?
- 4. 無限滾動+ iphone
- 5. Vue.js無限滾動
- 6. RelayJS無限滾動
- 7. Yii無限滾動
- 8. UIScrollView無限滾動?
- 9. React無限滾動
- 10. 無限滾動QListWidget
- 11. ViewPager - 無限滾動?
- 12. UIScrollView無限滾動
- 13. jQuery - 無限滾動
- 14. CellList無限滾動
- 15. 無限滾動UIPageViewController
- 16. Laravel無限滾動
- 17. NodeJS - 無限滾動
- 18. Onsenui - 無限滾動
- 19. WP_Query +無限滾動
- 20. 如何啓用磚石無限滾動?
- 21. 如何實現無限滾動石工
- 22. 如何實現UITableView的無限滾動
- 23. 如何在Recyclerview上無限滾動?
- 24. 如何用mysql實現無限滾動?
- 25. 如何使ScrollRect內容無限滾動?
- 26. 如何下載無限滾動網頁
- 27. 如何創建無限滾動的UIScrollView?
- 28. Facebook如何實現無限滾動?
- 29. 如何用ajax做無限滾動?
- 30. 如何進行無限滾動?
您應該說「從底部開始10個元素」而不是「75%」,因爲頁面增長的時間越長,從服務器請求元素的頻率越高。它應該保持不變。 – Bergi