[問題] scrollPagination Plugin 的問題

看板Ajax作者 (焰離雨星)時間12年前 (2013/09/30 15:39), 編輯推噓0(002)
留言2則, 1人參與, 最新討論串1/1
我想要做出可以滾到網頁底部就可以載入更多資料的頁面 於是找了 jQuery ScrollPagination 來做 http://www.jqueryrain./?gG3nSRD 已經把它改成可以用 PHP 傳回來的 JSON 資料去顯示了 js檔(自己改過的) if (mayLoadContent){ if (opts.beforeLoad != null){ opts.beforeLoad(); } $(obj).children().attr('rel','loaded'); $.ajax({ type:'GET', url:opts.contentPage, data: { 'id': "society", 'page': i, }, dataType:'json', success: function(json){ var NumOfData = json.length; for (var i = 0; i < NumOfData; i++) { $(obj).append("<li style=" + "opacity:0;-moz-opacity: 0;filter: alpha(opacity=0);>" + "<p>" + json[i]['title'] + "</p></li>"); } var objectsRendered = $(obj).children('[rel!=loaded]'); if (opts.afterLoad != null){ opts.afterLoad(objectsRendered); } }); i++; //完成後i+1,下次觸發時,從第二頁開始 }}, PHP的部分 $id = $_GET['id']; $page = $_GET['page']; $start = $page*10; $db->query("SELECT title FROM $id LIMIT $start,10"); id是要從哪個表單拿資料,start則是拿第幾頁的 上面是可以動的 但卻有幾個問題... ----- 他在提供給使用者設定那裡有一個 if ($('#content').children().size() > 100) 預先設定成到100項的時候就停止 但如果資料沒有那麼多的話 他最面就會卡在 Wait a moment... it's loading! 一直找不到方法讓它發現沒有更多資料時停止...... ----- 另一個則是 如果拉太快的話 中間會出現空白 下一頁的會先跑出來 而上一頁的還在載入 不知道該怎麼讓它變成 等上面的載入完畢且在頁面底端時才繼續載入...... ----- 希望各位可以提供方向解決 自己找卻一直找不到方法... 麻煩各位了 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.242.48.48 我剛剛試出來了 success: function(json){ if(json){ //先判斷還有沒有資料 .... } else{ //沒有的話就停止並提示無資料 $('#loading').fadeOut(); $('#nomoreresults').fadeIn(); $('#content').stopScrollPagination(); } }, 然後把前面的 if ($('#content').children().size() > 100) 去掉 這樣應該就可以了 滾太快中間會有空白還是無解.... ※ 編輯: flirmnave 來自: 111.242.48.48 (09/30 17:44) ※ 編輯: flirmnave 來自: 111.242.48.48 (09/30 17:46) ※ 編輯: flirmnave 來自: 111.242.48.48 (09/30 17:48)

10/04 00:00, , 1F
設定個 bool 變數, load 之前先判斷是否為 true
10/04 00:00, 1F

10/04 00:01, , 2F
是的話才 load, 開始 load 時要馬上設為 false
10/04 00:01, 2F
文章代碼(AID): #1IIIgn0x (Ajax)
文章代碼(AID): #1IIIgn0x (Ajax)