日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

网页性能优化02-懒加载工作原理

發布時間:2024/9/30 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 网页性能优化02-懒加载工作原理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

懶加載工作原理

1.1-懶加載介紹(以圖片懶加載為例)

1.為什么要有懶加載技術

  • (1)img標簽特點:不管圖片隱藏還是顯示 有src屬性都會去加載
    • 例如電商類網站,一個頁面有幾百張圖片。有時候假設用戶不滾動,也會加載圖片資源,此時非常損耗網頁性能
  • (2)那么如果頁面上有太多的圖片 而且有些圖片不在可視窗口內 如果加載了會影響頁面的渲染頁面時間。
    • 判斷網頁是否使用圖片懶加載技術:滾動網頁的時候,圖片會動態加載(一般會有一個漸變動畫,例如京東)

2.如何實現懶加載技術

  • 核心原理:延遲加載: 當圖片進入可視區域內容的時候才去加載
  • 實現思路
    • 1.將圖片真實資源放入一個自定義屬性中
      • 自定義屬性作用:存儲圖片路徑,此時圖片不會加載
    • 2.監聽頁面滾動條事件
    • 3.判斷圖片是否進入頁面可視區域
    • 4.取出圖片的自定義屬性,賦值給圖片的src屬性(此時真正加載圖片資源)
  • 示例代碼如下:
<!doctype html> <html lang="en"><head><meta charset="UTF-8"><title>Document</title><style>* {margin: 0;padding: 0;}ul {list-style: none;width: 1000px;margin: 0 auto;}ul li {width: 230px;height: 230px;float: left;margin-right: 20px;margin-bottom: 20px;}ul li.last {margin-right: 0;}ul li img {width: 100%;height: 100%;display: block;opacity: 0;/* 過渡動畫 */transition: all 5s linear;}</style> </head><body><!-- 假設上面的內容高度1000px --><div style="height: 1000px;;background-color: rgba(200, 111, 111, 0.5)"></div><ul id="ul1"><li><img data-src="http://img.daimg.com/uploads/allimg/160324/1-160324232117.jpg" alt=""></li><li><img data-src="http://img.daimg.com/uploads/allimg/160318/1-16031P01P0.jpg" alt=""></li><li><img data-src="http://img.daimg.com/uploads/allimg/160318/1-16031P01332.jpg" alt=""></li><li><img data-src="http://img.daimg.com/uploads/allimg/160318/1-16031P01332.jpg" alt=""></li></ul><script>/* 懶加載工作原理 *///0. 將圖片的資源放入自定義屬性中(例如data-src)//1.監聽頁面滾動條事件window.onscroll = function(e){console.log(document.scrollTop + document.clientHeight);//2.如果圖片進入可視區域(假如400px),則取出自定義屬性,賦值給src屬性(真正加載)//ul是否進入可視區域 : 滾動條距離 + 頁面可視區域高度 > 盒子高度if(document.documentElement.scrollTop + document.documentElement.clientHeight > 1000){var imgList = document.querySelectorAll('li>img');for(var i = 0;i<imgList.length;i++){imgList[i].style.opacity = 1;//過渡動畫imgList[i].src = imgList[i].getAttribute('data-src');//過渡動畫};}};</script> </body></html>

總結

以上是生活随笔為你收集整理的网页性能优化02-懒加载工作原理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。