拖動滾動條實現網頁內容自動載入程式碼例項

admin發表於2017-04-01

本章節分享一段程式碼例項,它實現了向下拖動滾動條,能夠自動載入網頁內容的功能。

這種效果在很多網站都有應用,當然它們載入的內容都是從資料庫讀取的,下面的演示自然不能從資料庫讀取內容,不過原理大致如此,實際應用的時候只要和後臺人員配合一下就可以實現了。

程式碼例項如下:

[HTML] 純文字檢視 複製程式碼
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>螞蟻部落</title>
<style>
#antzone{
  border:1px solid tomato;
  margin-top:20px;
  color:#ac1;
  height:800
}
</style>
<script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
  var range = 50;
  var elemt = 500;
  var maxnum = 20;
  var num = 1;
  var totalheight = 0;
  var main = $("#content");
  $(window).scroll(function(){
    var srollPos = $(window).scrollTop();
    totalheight = parseFloat($(window).height()) + parseFloat(srollPos);
    if(($(document).height()-range) <= totalheight  && num != maxnum) {
      main.append("<div style='border:1px solid tomato;margin-top:20px;color:#ac"
      +(num%20)+(num%20)+";height:"+elemt+"px' >hello world"+srollPos+"---"+num+"</div>");
      num++;
    }
  });
});
</script>
</head>
<body>
<div id="content" style="height:960px">
  <div id="follow">頁面下拉自動載入內容</div>
  <div id="antzone">螞蟻部落歡迎您</div>
</div>
</body>
</html>

上面的程式碼實現了我們的要求,下面介紹一下它的實現過程。

一.程式碼註釋:

(1).$(document).ready(function(){}),當文件結構完全載入完畢再去執行函式中的程式碼。

(2).var range = 50,規定距離下邊界還有多少距離就要載入內容。

(3).var elemt = 500,插入元素的高度。

(4).var maxnum = 20,最多可以載入的數目。

(5).var num = 1,宣告一個變數並賦初值為1,用來表示載入元素的次序。

(6).var totalheight = 0,後面會用到,用來儲存一個高度。

(7).var main = $("#content"),獲取指定的元素jquery物件。

(8).$(window).scroll(function(){}),為window物件註冊scroll事件處理函式。

(9).var srollPos = $(window).scrollTop(),獲取瀏覽器向上滾動的尺寸。

(10).totalheight = parseFloat($(window).height()) + parseFloat(srollPos),獲取客戶瀏覽器客戶區高度和向上滾動的高度之和。

(11).if(($(document).height()-range) <= totalheight  && num != maxnum),判斷瀏覽器距離地段是不是小於等於range,並且沒有達到最大數目,那麼就執行新增元素的操作。

二.相關閱讀:

(1).scroll事件可以參閱jQuery scroll 事件一章節。

(2).scrollTop()方法可以參閱jQuery scrollTop()一章節。

(3).parseFloat()方法可以參閱javascript parseFloat()一章節。

(4).append()方法可以參閱jQuery append()一章節。

相關文章