最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JS實(shí)現(xiàn)頁面數(shù)據(jù)懶加載

 更新時間:2020年02月13日 10:53:52   作者:鐺鐺當(dāng)  
這篇文章主要為大家詳細(xì)介紹了JS實(shí)現(xiàn)頁面數(shù)據(jù)懶加載,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下

頁面數(shù)據(jù)懶加載。Div移動到可視區(qū)域再去ajax加載內(nèi)容。

最近有需求做頁面的多個table用于加載數(shù)據(jù),但是用戶瀏覽頁面的時候不需要一次將頁面所有的東西加載出來,比如頁面上3個table就占滿了,用戶點(diǎn)進(jìn)去第一眼也就只能看到3個。為了防止一次加載拖慢了頁面的速度,所以之后的table我們要懶加載。即該table移動到了可視區(qū)域再去異步請求加載數(shù)據(jù)。

以下為目前實(shí)現(xiàn)的方法:

<!-- page lazyloading -->
<script>
$(function(){
  // 設(shè)置布爾值用于判斷是否該DIV到達(dá)過可視區(qū)域
 var scrollflaga = true;
  // 監(jiān)聽滾輪事件
 $(window).scroll(function() {
  // 要加載的DIV的ID
  // 距離可視區(qū)域頂部的距離
 var a = document.getElementById("myDiv").offsetTop;
 if (scrollflaga == true) {
    // 判斷
    // $(window).scrollTop()為返回滾動條的垂直位置
    // $(window).height()代表了當(dāng)前可見區(qū)域的大小,即你看到的瀏覽器顯示范圍
   if (a >= $(window).scrollTop() && a < ($(window).scrollTop()+$(window).height())) {
      // 如果到達(dá)了可視區(qū)域,則設(shè)置其布爾值為false,防止一直調(diào)用下面函數(shù),即只做一次ajax請求
     scrollflaga = false;
      // 你的ajax請求函數(shù)
     loadingFunction();
 }
  }
}
</script>

1、需要導(dǎo)入jquery文件

2、封裝的不是很好,對于多的要加載的數(shù)據(jù),比如有許多個div下的table要懶加載,就要設(shè)置對應(yīng)的多個布爾值用于判斷是否各個div是否加載,要申明個多變量(有多少個div就申明幾個對應(yīng)的變量)去獲取他們距離屏幕頂部的高度然后做判斷

3、目前使用的是該方法,有更好的方法的可以留言討論,如果我又發(fā)現(xiàn)了更好的方法會持續(xù)更新

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

姚安县| 永丰县| 和顺县| 郯城县| 海林市| 汤原县| 武宣县| 板桥市| 韶山市| 金秀| 南川市| 明星| 铜陵市| 轮台县| 成安县| 莲花县| 江门市| 尚义县| 且末县| 静海县| 石家庄市| 穆棱市| 德格县| 惠水县| 宜宾市| 滕州市| 慈利县| 富源县| 宣威市| 巨野县| 安平县| 台前县| 凤庆县| 丹寨县| 游戏| 鄄城县| 宁河县| 诸城市| 阿拉尔市| 海淀区| 翁牛特旗|