公交车上荫蒂添的好舒服的电影-公用玩物(np双xing总受)-公用小荡货芊芊-公与妇仑乱hd-攻把受做哭边走边肉楼梯play-古装一级淫片a免费播放口

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網站管理員

【JavaScript】JS實現WEB頁面上的圖片動態(tài)懶加載

admin
2023年5月24日 10:11 本文熱度 1598

1.懶加載原理

圖片未進入可視區(qū)域時,先不加載圖片可以加載指定的動態(tài)提示圖片。

2.懶加載思路及實現

實現懶加載有四個步驟,如下:
1.加載提示圖片
2.判斷哪些圖片要加載
3.隱形加載圖片
4.替換真圖片

1.加載loading圖片是在html部分就實現的

2.如何判斷圖片進入可視區(qū)域是關鍵。

引用網友的一張圖,可以很清楚的看出可視區(qū)域。

fb04b9d6c0b23655ab7ba867d3d06b1c.png

如上圖所示,讓在瀏覽器可視區(qū)域的圖片顯示,可視區(qū)域外的不顯示,所以當圖片距離頂部的距離top->height等于可視區(qū)域h和滾動區(qū)域高度s之和時說明圖片馬上就要進入可視區(qū)了,就是說當top->height<=s+h時,圖片在可視區(qū)。

常用API函數:
頁可見區(qū)域寬: document.body.clientWidth;
網頁可見區(qū)域高: document.body.clientHeight;
網頁可見區(qū)域寬: document.body.offsetWidth (包括邊線的寬);
網頁可見區(qū)域高: document.body.offsetHeight (包括邊線的寬);
網頁正文全文寬: document.body.scrollWidth;
網頁正文全文高: document.body.scrollHeight;
網頁被卷去的高: document.body.scrollTop;
網頁被卷去的左: document.body.scrollLeft;
網頁正文部分上: window.screenTop;
網頁正文部分左: window.screenLeft;
屏幕分辨率的高: window.screen.height;
屏幕分辨率的寬: window.screen.width;
屏幕可用工作區(qū)高度: window.screen.availHeight;

HTMLElement.offsetTop 為只讀屬性,它返回當前元素相對于其 offsetParent 元素的頂部的距離。window.innerHeight:瀏覽器窗口的視口(viewport)高度(以像素為單位);如果有水平滾動條,也包括滾動條高度。

1.   // onload是等所有的資源文件加載完畢以后再綁定事件

2.   window.onload = function(){

3.    // 獲取圖片列表,即img標簽列表

4.    var imgs = document.queryselectorAll('img');

5.    

6.    // 獲取到瀏覽器頂部的距離

7.    function getTop(e){

8.    console.log('e.offsetTop', e.offsetTop)

9.    return e.offsetTop;

10.     }

11.  

12.  // 懶加載實現

13.  function lazyload(imgs){

14.  // 可視區(qū)域高度

15.  var h = window.innerHeight;

16.  //滾動區(qū)域高度

17.  var s = document.documentElement.scrollTop || document.body.scrollTop;

18.  for(var i=0;i<imgs.length;i++){

19.  //圖片距離頂部的距離大于可視區(qū)域和滾動區(qū)域之和時懶加載

20.  if ((h+s)>getTop(imgs[i])) {

21.  // 真實情況是頁面開始有2秒空白,所以使用setTimeout定時2s

22.                 (function(i){

23.  setTimeout(function(){

24.  // 不加立即執(zhí)行函數i會等于9

25.  // 隱形加載圖片或其他資源,

26.  //創(chuàng)建一個臨時圖片,這個圖片在內存中不會到頁面上去。實現隱形加載

27.  var temp = new Image();

28.  temp.src = imgs[i].getAttribute('src');//只會請求一次

29.  // onload判斷圖片加載完畢,真是圖片加載完畢,再賦值給dom節(jié)點

30.  temp.onload = function(){

31.  // 獲取自定義屬性src,用真圖片替換假圖片

32.  imgs[i].src = imgs[i].getAttribute('src')

33.                         }

34.                     },2000)

35.                 })(i)

36.             }

37.         }

38.     }

39.  lazyload(imgs);

40.  

41.  // 滾屏函數

42.  window.onscroll =function(){

43.  lazyload(imgs);

44.     }

45. }



該文章在 2023/5/24 10:22:55 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業(yè)的專業(yè)生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業(yè)的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業(yè)務管理,結合碼頭的業(yè)務特點,圍繞調度、堆場作業(yè)而開發(fā)的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 国产欧美国日产高清视频 | 91精品欧美综合在线 | 国产丝袜一区二区在线播放 | 国产精品国产三级国产专区5o | 高潮毛片无遮挡高清视频播放 | 国产精品白丝av在线观看播放 | 91精品1区2 | 成人综合亚洲日本一区二区 | 91精品在线视频观看 | 国产麻豆一精品一av一免费 | 国产成人免费精品在线观看 | 国偷自产视频一区二区久 | 国产在线播精品第三 | 国产精品国产三级大全在线观看 | 国产果冻豆传媒麻婆精东 | 国产一二三区视频 | 国产一区二区日韩欧美在线 | 国产精品高清一区二区不卡片 | 成人全黄三级视频在线观 | 国产成人无码av片在 | 国产成人精品久久一区二区三 | 国产爆乳无码一区二区麻豆 | 精品国产片自在线拍免费看 | 国产黄片按摩视频 | 国产三级精品三级男 | 国产精品乱码一本二本三本色 | 高清无码中文 | 国产欧美日韩中文字幕第一页 | 果冻传媒一区 | 2025国产精品最新在线 | 国产精品亚洲精品观看不卡 | 精品午夜视频一区二区三 | 国产97精品一区二区三区四区 | 99久久综合狠狠综合久久aⅴ | 国产成人精品影视在线观看 | 国产精品午夜福利免费 | 国产精品高潮森林久久av无码 | 国产一区二区色淫影院 | 91久久精品一区二区三区 | 国产专区综合另类日韩一区 | 国产真人一级a爱做片 |