js_原生js實現上拉加載更多的功能。


1.人生啊,是我莽撞了啊。這是我公司一個喜歡讀書的女孩子的個性簽名,喜歡哪些句子,不悲傷,卻切切實實的令人喜好。

2.寫程序是一件很直接明了的事情,明白了就是明白了,不懂就是不懂,不懂裝懂的會讓你走很多彎路,對於我們在度娘上找到的一些方法,我們把它用到項目中的時候,也要把它弄懂,

只有自己弄懂了,才會實打實的沉淀下來,變成屬於自己的東西。一個人對於一個問題的態度,終將把你變成那樣的人。願你對一個問題有一種把它切底弄懂的情懷。時間那么淺,別太把它

用來打王者農葯了,那段位的榮耀在生活中,終是不能成就你。

3.最近在健身,花錢不少,相信是值得的。

 

此處以下,是關於技術。

 

 

 
 1                 //--------------上拉加載更多---------------
 2         //獲取滾動條當前的位置 
 3         function getScrollTop() {
 4             var scrollTop = 0;
 5             if(document.documentElement && document.documentElement.scrollTop) {
 6                 scrollTop = document.documentElement.scrollTop;
 7             } else if(document.body) {
 8                 scrollTop = document.body.scrollTop;
 9             }
10             return scrollTop;
11         }
12 
13         //獲取當前可視范圍的高度 
14         function getClientHeight() {
15             var clientHeight = 0;
16             if(document.body.clientHeight && document.documentElement.clientHeight) {
17                 clientHeight = Math.min(document.body.clientHeight, document.documentElement.clientHeight);
18             } else {
19                 clientHeight = Math.max(document.body.clientHeight, document.documentElement.clientHeight);
20             }
21             return clientHeight;
22         }
23 
24         //獲取文檔完整的高度 
25         function getScrollHeight() {
26             return Math.max(document.body.scrollHeight, document.documentElement.scrollHeight);
27         }
28         
29         //滾動事件觸發
30         window.onscroll = function() {
31             if(getScrollTop() + getClientHeight() == getScrollHeight()) {
32                34             }
35         }
36         //-----------------結束--------------------                

 

原理很簡單,代碼31行做了一個判斷getScrollTop() + getClientHeight() == getScrollHeight(),第一個函數獲取滾動條的位置,第二個函數獲取當前屏幕可見的高度,第三個函數獲取當前文檔的總高度,

當前兩個參數等等第三個參數的時候,就表示文檔已經拉到底部了,觸發事件向后台請求數據。這樣一個分頁功能就寫出來了。

 

這里多提一點,向后台請求數據的時候,需要向后台發送一個參數,第一頁就是1,第二頁就是2,如此用來區分,我們在后台拿到的數據是相對應的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM