圖片懶載入原理
圖片懶載入原理
什麼是圖片懶載入?
當開啟一個有很多圖片的頁面時,先只載入頁面上可視區域的圖片,等滾動到頁面下面時,再載入所需的圖片。這就是圖片懶載入。
圖片懶載入的作用
減少或延遲請求數,緩解瀏覽器的壓力,增強使用者體驗。
圖片懶載入的基本原理
1、設定圖片src屬性為同一張圖片,同時自定義一個data-src屬性來儲存圖片的真實地址
2、 頁面初始化顯示的時候或者瀏覽器發生滾動的時候判斷圖片是否在視野中
3、 當圖片在視野中時,通過js自動改變該區域的圖片的src屬性為真實地址
1.document.documentElement.clientHeight獲取螢幕可視視窗大小;
2.document.documentElement.scrollTop獲取瀏覽器視窗頂部與文件頂部之間的距離,也就是滾動條滾動的距離
3.判斷當滾動條滾動到一定高度的時候就進行圖片懶載入;
let lazyImages = [...document.querySelectorAll('.lazy-image')]
let inAdvance = 300 // 自定義一個高度,當距離300px到達圖片時載入
function lazyLoad() {
lazyImages.forEach(image => {
if (image.offsetTop < window.innerHeight + window.pageYOffset + inAdvance) { // 距離xxpx時載入圖片
image.src = image.dataset.src
image.onload = () => image.classList.add('loaded')
}
})
}
lazyLoad()
window.addEventListener('scroll', _.throttle(lazyLoad, 16)) // 用到了lodash的節流函式
window.addEventListener('resize', _.throttle(lazyLoad, 16))
相關文章
- 滾動載入圖片(懶載入)實現原理
- 圖片懶載入
- 圖片懶載入(IntersectionObserver)Server
- 圖片預載入和懶載入
- 單張圖片懶載入
- 圖片懶載入實現
- 圖片懶載入踩坑
- 圖片懶載入大白話
- Js圖片懶載入(lazyload)JS
- 圖片懶載入js實現JS
- 頁面圖片預載入與懶載入策略
- [譯] 原生實現圖片懶載入
- vue圖片懶載入lazy-loadVue
- React如何實現圖片懶載入React
- 實現圖片懶載入(throttle, debounce)
- 前端優化之圖片懶載入前端優化
- 手把手實現圖片懶載入+封裝vue懶載入元件封裝Vue元件
- layui圖片懶載入-loading佔點陣圖UI
- 圖片預載入,圖片懶載入,和jsonp中的一個疑問JSON
- glide圖片載入原理IDE
- 實現圖片懶載入的三種方式
- Vue圖片懶載入之lazyload外掛使用Vue
- ECMAScript擴充套件 -12 【圖片的預載入與懶載入】套件
- 關於懶載入原理
- 【前端優化】js圖片懶載入及優化前端優化JS
- 30行Javascript程式碼實現圖片懶載入JavaScript
- 小程式記憶體問題–圖片懶載入記憶體
- Vue實現一個圖片懶載入外掛Vue
- 微信小程式--實現圖片懶載入(lazyload)微信小程式
- 圖片預載入和懶載入(附上一個小demo瀑布流)
- 舉例說明圖片懶載入的方案有哪些?
- 前端效能優化-圖片懶載入(防抖、節流)前端優化
- 一起來實現圖片滾動懶載入
- 效能更優越的小程式圖片懶載入方式
- 小說APP原始碼的圖片載入方式,懶載入和預載入的實現APP原始碼
- webpack懶載入程式碼原理深究Web
- 小程式之圖片懶載入[完美方案,你不來看看?]
- 懶載入