国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > JavaScript > 正文

快速實(shí)現(xiàn)JS圖片懶加載(可視區(qū)域加載)示例代碼

2019-11-19 18:08:23
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

js懶加載圖片

如何提高網(wǎng)頁(yè)加載速度?在網(wǎng)頁(yè)中有許多img標(biāo)簽,這些標(biāo)簽就是圖片,其屬性src則是指向服務(wù)器地址,當(dāng)瀏覽器從上往下讀取到src標(biāo)簽中的地址時(shí),瀏覽器就會(huì)開(kāi)啟線程,加載這張圖片。而并不是等到整張頁(yè)面都解析完成才加載圖片。我們要做的就是加載用戶可視范圍內(nèi)的圖片。

js懶加載圖片的目的

     1.網(wǎng)頁(yè)優(yōu)化,提高網(wǎng)頁(yè)加載速度

     2.頁(yè)面優(yōu)化友好,提高SEO收錄與排名

     3.提高用戶體驗(yàn),減少服務(wù)器壓力

實(shí)例代碼如下:

<!DOCTYPE html><html lang="en"> <head> <meta charset="UTF-8"> <title>圖片懶加載(可視區(qū)域加載)</title> <style>  * {  padding: 0px;  margin: 0px;  }    html,  body {  width: 100%;  min-height: 100%;  }    #SB {  margin: 0;  padding: 0;  list-style: none;  }    #SB .in {  border: 1px solid red;  margin: 10px;  text-align: center;  height: 400px;  width: 400px;  float: left;  }    .in img {  border: none;  vertical-align: middle;  height: 400px;  width: 400px;  } </style> </head> <body> <ul id="SB">  <li class="in"><img src="" data-imgurl="img/1.jpg"></li>  <li class="in"><img src="" data-imgurl="img/2.jpg"></li>  <li class="in"><img src="" data-imgurl="img/3.jpg"></li>  <li class="in"><img src="" data-imgurl="img/4.jpg"></li>  <li class="in"><img src="" data-imgurl="img/5.jpg"></li>  <li class="in"><img src="" data-imgurl="img/6.jpg"></li>  <li class="in"><img src="" data-imgurl="img/7.jpg"></li>  <li class="in"><img src="" data-imgurl="img/8.jpg"></li>  <li class="in"><img src="" data-imgurl="img/9.jpg"></li>  <li class="in"><img src="" data-imgurl="img/10.jpg"></li>  <li class="in"><img src="" data-imgurl="img/11.jpg"></li>  <li class="in"><img src="" data-imgurl="img/12.jpg"></li>  <li class="in"><img src="" data-imgurl="img/13.jpg"></li>  <li class="in"><img src="" data-imgurl="img/14.jpg"></li>  <li class="in"><img src="" data-imgurl="img/15.jpg"></li>  <li class="in"><img src="" data-imgurl="img/16.jpg"></li>  <li class="in"><img src="" data-imgurl="img/1.jpg"></li>  <li class="in"><img src="" data-imgurl="img/2.jpg"></li>  <li class="in"><img src="" data-imgurl="img/3.jpg"></li>  <li class="in"><img src="" data-imgurl="img/4.jpg"></li>  <li class="in"><img src="" data-imgurl="img/5.jpg"></li>  <li class="in"><img src="" data-imgurl="img/6.jpg"></li>  <li class="in"><img src="" data-imgurl="img/7.jpg"></li>  <li class="in"><img src="" data-imgurl="img/8.jpg"></li>  <li class="in"><img src="" data-imgurl="img/9.jpg"></li>  <li class="in"><img src="" data-imgurl="img/10.jpg"></li>  <li class="in"><img src="" data-imgurl="img/11.jpg"></li>  <li class="in"><img src="" data-imgurl="img/12.jpg"></li>  <li class="in"><img src="" data-imgurl="img/13.jpg"></li>  <li class="in"><img src="" data-imgurl="img/14.jpg"></li>  <li class="in"><img src="" data-imgurl="img/15.jpg"></li>  <li class="in"><img src="" data-imgurl="img/16.jpg"></li>  <li class="in"><img src="" data-imgurl="img/1.jpg"></li>  <li class="in"><img src="" data-imgurl="img/2.jpg"></li>  <li class="in"><img src="" data-imgurl="img/3.jpg"></li>  <li class="in"><img src="" data-imgurl="img/4.jpg"></li>  <li class="in"><img src="" data-imgurl="img/5.jpg"></li>  <li class="in"><img src="" data-imgurl="img/6.jpg"></li>  <li class="in"><img src="" data-imgurl="img/7.jpg"></li>  <li class="in"><img src="" data-imgurl="img/8.jpg"></li>  <li class="in"><img src="" data-imgurl="img/9.jpg"></li>  <li class="in"><img src="" data-imgurl="img/10.jpg"></li>  <li class="in"><img src="" data-imgurl="img/11.jpg"></li>  <li class="in"><img src="" data-imgurl="img/12.jpg"></li>  <li class="in"><img src="" data-imgurl="img/13.jpg"></li>  <li class="in"><img src="" data-imgurl="img/14.jpg"></li>  <li class="in"><img src="" data-imgurl="img/15.jpg"></li>  <li class="in"><img src="" data-imgurl="img/16.jpg"></li> </ul> <script type="text/javascript">  var aImages = document.getElementById("SB").getElementsByTagName('img'); //獲取id為SB的文檔內(nèi)所有的圖片  loadImg(aImages);  window.onscroll = function() { //滾動(dòng)條滾動(dòng)觸發(fā)  loadImg(aImages);  };  //getBoundingClientRect 是圖片懶加載的核心  function loadImg(arr) {  for(var i = 0, len = arr.length; i < len; i++) {   if(arr[i].getBoundingClientRect().top < document.documentElement.clientHeight && !arr[i].isLoad) {   arr[i].isLoad = true; //圖片顯示標(biāo)志位   //arr[i].style.cssText = "opacity: 0;";    (function(i) {    setTimeout(function() {    if(arr[i].dataset) { //兼容不支持data的瀏覽器     aftLoadImg(arr[i], arr[i].dataset.imgurl);    } else {     aftLoadImg(arr[i], arr[i].getAttribute("data-imgurl"));    }    arr[i].style.cssText = "transition: 1s; opacity: 1;" //相當(dāng)于fadein    }, 500)   })(i);   }  }  }  function aftLoadImg(obj, url) {  var oImg = new Image();  oImg.onload = function() {   obj.src = oImg.src; //下載完成后將該圖片賦給目標(biāo)obj目標(biāo)對(duì)象  }  oImg.src = url; //oImg對(duì)象先下載該圖像  } </script> </body></html>

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)武林網(wǎng)的支持。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 武宁县| 讷河市| 丹棱县| 乌海市| 阆中市| 中江县| 霸州市| 安平县| 仲巴县| 隆德县| 丰镇市| 土默特右旗| 托克逊县| 娱乐| 当雄县| 石渠县| 蓬溪县| 方正县| 达日县| 会同县| 介休市| 双流县| 准格尔旗| 成都市| 德格县| 施秉县| 澄迈县| 华阴市| 木里| 威信县| 肥乡县| 临西县| 兴文县| 二连浩特市| 东阳市| 安西县| 沂源县| 龙川县| 和田县| 屏山县| 株洲市|