图片懒加载 lazyload
生活随笔
收集整理的這篇文章主要介紹了
图片懒加载 lazyload
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
目錄
- 了解
- 代碼
- 效果
了解
圖片懶加載是一種網(wǎng)頁性能優(yōu)化的方法,能夠極大的提升用戶的體驗效果,現(xiàn)代一張圖片都有可能是幾兆的問題,加入100張圖片你進(jìn)入頁面難道就直接全部請求,這得要多卡,所以使用圖片懶加載的形式,只請求可視區(qū)域的圖片鏈接資源,這樣能夠大幅度減少請求次數(shù)從而做到體驗優(yōu)化。
還有一種說法就是圖片不直接進(jìn)行展示,而是在請求途中通過一個 loading 的加載圖片進(jìn)行等待,并最終直接讓圖片直接完全展示,不用等待緩慢的一步步展示。
代碼
// window.innerHeight 獲取視口顯示區(qū)域的高度// Element.getBoundingClientRect() 元素的大小及其相對于視口的位置let images = document.querySelectorAll('img')window.addEventListener('scroll', e => {images.forEach(img => {let imgTap = img.getBoundingClientRect().topif(imgTap < window.innerHeight) { // 證明該圖片在視口區(qū)域let dataSrc = img.getAttribute('data-src')img.setAttribute('src',dataSrc)console.log('圖片加載')}})})
以上的方法實現(xiàn)了圖片的 lazyload 效果,但是每次滑動頻繁的性能消耗不太雅觀,是需要我們自己手動去進(jìn)行個判斷來停止頻繁的性能消耗。
效果
通過 IntersectionObserver API 實現(xiàn)完整的效果
該方法效果很明顯,操作簡潔上手
總結(jié)
以上是生活随笔為你收集整理的图片懒加载 lazyload的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 备战蓝桥杯day20__超声波基本应用
- 下一篇: 2022湖南科技大学 新生快乐赛 题解