情況是當滑動條滑動到最底部的時候,數據顯示出一部分的更多
思路:獲取到瀏覽器屏幕的高度client,文檔的高度h和滑動距離頂部的距離scroll,當h<=client+scroll的時候就是滑動條到了底部的時候了,
判斷好什么時候到了底部的時候,調取ajax獲取到相對應的數據;
代碼:
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> <style> *{margin:0px;padding:0px;} .content{width:500px;height:100%;border:1px solid red;margin:10px auto 0px;} </style> </head> <body> <div class="content"></div> <script src="js/jquery-1.7.2.js"></script> <script> $(function(){ //一開始顯示數據 //實際中應該是將分頁的效果做成加載更多的效果 但是調取數據的原理 是一樣的 就是顯示數據的效果不一樣 ajax(); $(document).scroll(function(){ //滾動條滑動的時候獲取滾動條距離頂部的距離 var scroll=$(document).scrollTop(); //屏幕的高度 var client=$(window).height(); var h=$(document).height(); var flag=true; if (h<=scroll+client) { // 到達底部時,加載新內容 if(flag==false){ return; } ajax(); } }); function ajax(){ $.ajax({ url:'https://sug.so.360.cn/suggest?callback=suggest_so&encodein=utf-8&encodeout=utf-8&format=json&fields=word,obdata&word=新聞', type:'GET', dataType:'jsonp', success:function(data){ flag=false; setTimeout(function(){//只是模擬一下需要有個時間過程表示正在調取數據 for(var i=0;i<data.result.length;i++){ var result=data.result[i]; var odiv='<span style="font-size:35px;margin:10px;line-height:50px;">'+result.word+'</span></br>'+ '<span style="font-size:35px;margin:10px;line-height:50px;">'+result.word+'</span></br>'; $(".content").append(odiv); } },500); }, }); }; }); </script> </body> </html>
代碼地址:https://github.com/GainLoss/load-more
因為加載更多的效果其實作用和分頁是一樣的 分頁的地址:http://www.cnblogs.com/GainLoss/p/5810112.html