js實(shí)現(xiàn)圖片懶加載的方法代碼
簡(jiǎn)單的js實(shí)現(xiàn)圖片列表懶加載的方法和代碼。必須在懶加載js前面加上jquery才可以。
<script>
// 獲取頁(yè)面可視區(qū)域的高度
const visibleHeight = window.innerHeight;
// 獲取頁(yè)面上所有圖片的元素
const imgs = document.querySelectorAll("img");
// 為每個(gè)圖片元素添加 data-src 屬性
for (const img of imgs) {
img.setAttribute("data-src", img.src);
img.src = "data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAIBRAA7";
}
// 監(jiān)聽(tīng)滾動(dòng)事件
window.addEventListener("scroll", () => {
// 遍歷所有圖片元素
for (const img of imgs) {
// 獲取圖片元素的頂部位置
const top = img.getBoundingClientRect().top;
// 如果圖片元素的頂部位置距離可視區(qū)域頂部距離小于閾值
if (top <= visibleHeight - threshold) {
// 延遲 0.5 秒后,將圖片 src 屬性設(shè)置為 data-src 屬性的值
setTimeout(() => {
img.src = img.getAttribute("data-src");
}, delay);
}
}
});
// 設(shè)置閾值
const threshold = 100;
// 設(shè)置延遲
const delay = 50;
</script>
相關(guān)推薦
-
哪些頁(yè)面路由需要懶加載
隨著前端開(kāi)發(fā)的發(fā)展,網(wǎng)頁(yè)應(yīng)用程序變得越來(lái)越復(fù)雜和龐大。為了提高用戶(hù)的體驗(yàn)和應(yīng)用程序的性能,懶加載成為了一個(gè)常用的技術(shù)手段。懶加載可以延遲加載頁(yè)面的一部分或全部?jī)?nèi)容,只有當(dāng)用戶(hù)需要訪(fǎng)問(wèn)時(shí)才進(jìn)行加載,從而
-
什么叫做懶加載異常
懶加載異常是指在應(yīng)用程序中使用懶加載技術(shù)時(shí)出現(xiàn)的異常情況。懶加載是一種優(yōu)化技術(shù),它允許在需要時(shí)才加載頁(yè)面的一部分或全部資源,以減少初始加載時(shí)間和網(wǎng)絡(luò)流量。然而,在某些情況下,懶加載可能會(huì)導(dǎo)致異常情況的
-
懶加載為什么耗內(nèi)存
懶加載是一種優(yōu)化技術(shù),它允許在需要時(shí)才加載資源,以減少初始加載時(shí)間和網(wǎng)絡(luò)流量。然而,懶加載可能會(huì)導(dǎo)致較高的內(nèi)存消耗。下面是一些原因:1、內(nèi)存泄漏:在懶加載模式下,一些資源可能只被加載和存儲(chǔ)在內(nèi)存中一次
-
懶加載的方式有哪些
懶加載是一種程序設(shè)計(jì)模式,通常用于優(yōu)化資源加載和頁(yè)面性能。這種策略的目標(biāo)是在需要時(shí)才加載特定的資源或數(shù)據(jù),從而避免一開(kāi)始就加載所有資源,以減少頁(yè)面加載時(shí)間,提高頁(yè)面性能。懶加載通常用于圖片、視頻、腳本
-
懶加載的框架有哪些
懶加載(Lzy Loding)是一種優(yōu)化網(wǎng)站或應(yīng)用程序性能的技術(shù),它允許在需要時(shí)才加載資源,而不是一次性加載所有內(nèi)容。這種技術(shù)對(duì)于提高網(wǎng)頁(yè)加載速度和減少帶寬的消耗非常有幫助。















