//分頁 $(window).scroll(function(){ var srollPos = $(window).scrollTop(); //滾動條距頂部距離(頁面超出窗口的高度) totalheight = parseFloat($(window).height()) + parseFloat(srollPos); if($(document).height() <= totalheight && pageindex != pagecount) { pageindex++; Search(pageindex); } });
話不多說直接上代碼。。
第二次看這個文章必須加上的話:
真的太傻了,很多事情都沒好好弄清楚,先說一下原理:
第一是加載到底部的時候會加載內容,所以要判斷的是是否加載到底部了還有是否是頁數內
第二是上面那些height。。其實我一開始也不知道簡單復制過來就用了發現能行也沒有去看這些是什么高度,而且還發了一篇博客真是慚愧啊直到今天發現不滾動了才仔細看了一下(打臉一下,今后學習不能這樣!)
scrolltop是元素(這里是頁面)加載到現在滾動條頂部高度
$(window).height()是這個當前這個頁面的高度
$(document).height()是整個頁面的高度
最后我也把我的方法修改成了:
//分頁
$(window).scroll(function () {
var srollPos = $(window).scrollTop()+0.5; //滾動條距頂部距離(頁面超出窗口的高度)
if (srollPos>=($(document).height()-$(window).height()) && pageindex != pagecount) {
pageindex++;
Search(pageindex);
}
});
有一個加0.5的步驟 :是因為我發現好像不可能讓scrollpos完全等於那個高度是不是,所以要加上一點數據才能觸發這個判斷,這一塊我也不太清楚,不知道說的對不對,希望知道的大神能在評論里解答一下
最后很感謝 http://www.cnblogs.com/piuba/archive/2013/01/06/2847295.html 這篇博文 是他讓我弄清楚了各種高度的解釋 真的還需要多學習 不能再犯這種錯誤了 自己學習的心太浮躁了真的不應該 今天優化從前的代碼才發現這么多問題 真的太次了 就這樣
還有自己的夢想 要怎么實現啊!必須要改!!!!!!!
pagecount為頁面ajax傳來的頁數
pageindex在執行每次需要重新加載數據時賦1
Search事件為根據第幾頁加載相應數據然后返回給頁面顯示的函數
