2012-11-03 81 views
1

我有一個由4個div列組成的單個php/html頁面網站。他們中的所有4人都從MySQL數據庫中的特定表中提取結果,並且他們都很長。我決定尋求一種無限的滾動解決方案,但問題是我發現的所有腳本都是指只滾動一個div來追加結果。無限滾動多列?

所以我想通過一些定製它應該可以使它適用於多列。我決定放棄這一點:https://github.com/tournasdim/PHP-infinite-scrolling。我試着改變數值並添加多個查詢源,然後將它們附加到不同的div上,但我不太確定該如何應對。

這是custom_jquery.js:

$.ajax({ 
dataType : "html" , 
url: "jquery-loadMoreComments.php?lastComment="+ $(".postedComment:last").attr('id') , 
success: function(html) { 
doMouseWheel = 1 ; 
if(html){ 
$("#postedComments").append(html); 
//console.log("Append html--------- " +$(".postedComment:first").attr('id')); 
//console.log("Append html--------- " +$(".postedComment:last").attr('id')); 
$("#last").remove(); 
$("#postedComments").append("<p id='last'></p>"); 
$('div#loadMoreComments').hide(); 
}else{  
$('div#loadMoreComments').replaceWith("<center><h1 style='color:red'>End of countries !!!!!!!</h1></center>"); 

你對如何採取這個有什麼建議?

任何見解給予高度讚賞!

此外,如果您知道另一個腳本可以更好地開箱即用,或者需要更少的修改,歡迎您使用。

我目前使用CodeIgniter從數據庫中提取結果並將它們顯示在頁面上,但因爲它是一個簡單的頁面,所以我也可以在不使用CodeIgniter的情況下執行此操作。

+0

所有4列總是相同的高度? –

+0

由於所有列都從動態數據庫加載其結果(通過管理面板單獨管理),因此內部項目的數量通常會發生變化。所以,不,他們不會是同一個高度。 – SpiritFly

+0

@Jules谷輪如果它們的高度相同?如果它們有解決方案嗎? – SpiritFly

回答

2

通過將滾動事件綁定到四個Ajax調用,使用不同的id,你可以快速和簡單地做到這一點,但這將是非常低效的。

特別是如果它檢查全部四列,即使您知道一個已經用完新內容。

理想情況下,您應該將所有四個呼叫合併爲一個,然後相應地拆分響應。

沒有看到更多的代碼,我真的幫不了很多,但這應該是一個起點。

+0

由於我的項目很簡單,並且沒有加載很多結果,所以我按照您的建議快速且骯髒地完成了它。被稱爲腳本4次。我知道這樣做效率低下,但我沒有時間重寫一次電話。 – SpiritFly