溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

使用JavaScript怎么實(shí)現(xiàn)懶加載頁面數(shù)據(jù)

發(fā)布時(shí)間:2021-04-16 17:49:53 來源:億速云 閱讀:152 作者:Leah 欄目:web開發(fā)

這篇文章給大家介紹使用JavaScript怎么實(shí)現(xiàn)懶加載頁面數(shù)據(jù),內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。

<!-- 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()為返回滾動(dòng)條的垂直位置
    // $(window).height()代表了當(dāng)前可見區(qū)域的大小,即你看到的瀏覽器顯示范圍
   if (a >= $(window).scrollTop() && a < ($(window).scrollTop()+$(window).height())) {
      // 如果到達(dá)了可視區(qū)域,則設(shè)置其布爾值為false,防止一直調(diào)用下面函數(shù),即只做一次ajax請(qǐng)求
     scrollflaga = false;
      // 你的ajax請(qǐng)求函數(shù)
     loadingFunction();
 }
  }
}
</script>

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

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

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

關(guān)于使用JavaScript怎么實(shí)現(xiàn)懶加載頁面數(shù)據(jù)就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI