首頁  >  文章  >  web前端  >  圖片懶加載有哪些方法

圖片懶加載有哪些方法

百草
百草原創
2023-11-13 14:41:21974瀏覽

圖片懶載入的方法有基於Intersection Observer的懶載入、使用scroll事件監聽的懶載入和使用setTimeout的懶載入等。詳細介紹:1、基於Intersection Observer的懶加載,Intersection Observer是瀏覽器提供的一種API,可以監測元素是否進入了用戶的視口;2、使用scroll事件監聽的懶加,透過監聽滾動事件來判斷等等。

圖片懶加載有哪些方法

本教學作業系統:windows10系統、DELL G3電腦。

圖片懶載入是一種最佳化網頁效能的技術,它可以延遲載入頁面上的圖片,只有當圖片即將出現在使用者的視窗中時才載入它們。這樣可以減少頁面的載入時間,提高使用者體驗和網站的整體效能。在本文中,我將介紹幾種常用的圖片懶載入方法。

1. 基於Intersection Observer的懶載入:

Intersection Observer是瀏覽器提供的一種API,可以監控元素是否進入了使用者的視窗。透過使用Intersection Observer,我們可以監聽圖片元素是否可見,當圖片進入視窗時再載入它們。這種方法不僅簡單易用,而且性能較好。

以下是一個使用Intersection Observer實現圖片懶加載的範例程式碼:

// 创建一个Intersection Observer实例
const observer = new IntersectionObserver((entries, observer) => {
  entries.forEach((entry) => {
    if (entry.isIntersecting) {
      // 当图片进入视口时加载它
      entry.target.src = entry.target.dataset.src;
      observer.unobserve(entry.target);
    }
  });
});
// 获取所有需要懒加载的图片元素,并添加观察者
const lazyImages = document.querySelectorAll('.lazy');
lazyImages.forEach((lazyImage) => {
  observer.observe(lazyImage);
});

2. 使用scroll事件監聽的懶載入:

這種方法是透過監聽滾動事件來判斷圖片是否進入視口。當使用者捲動頁面時,檢查每張圖片的位置是否在視窗中,如果是,則載入圖片。

以下是使用scroll事件監聽實作圖片懶載入的範例程式碼:

window.addEventListener('scroll', () => {
  const lazyImages = document.querySelectorAll('.lazy');
  lazyImages.forEach((lazyImage) => {
    if (lazyImage.getBoundingClientRect().top <= window.innerHeight && lazyImage.getBoundingClientRect().bottom >= 0) {
      lazyImage.src = lazyImage.dataset.src;
      lazyImage.classList.remove(&#39;lazy&#39;);
    }
  });
});

3. 使用setTimeout的懶載入:

這個方法是透過設定一個延遲時間來載入圖片。當頁面載入完成後,先載入一張佔位圖片,然後使用setTimeout來延遲載入真實圖片,以達到懶加載的效果。

以下是一個使用setTimeout實現圖片懶加載的範例程式碼:

window.addEventListener(&#39;load&#39;, () => {
  const lazyImages = document.querySelectorAll(&#39;.lazy&#39;);
  lazyImages.forEach((lazyImage) => {
    lazyImage.src = lazyImage.dataset.placeholder;
    setTimeout(() => {
      lazyImage.src = lazyImage.dataset.src;
      lazyImage.classList.remove(&#39;lazy&#39;);
    }, 1000); // 设置延迟时间,单位为毫秒
  });
});

總結:

圖片懶載入是一種有效的優化網頁效能的方法,可以減少頁面載入時間,提高使用者體驗。本文介紹了幾種常用的圖片懶載入方法,包括基於Intersection Observer的懶載入、使用scroll事件監聽的懶載入和使用setTimeout的懶載入。開發者可以根據實際需求選擇適合自己的方法來實現圖片懶加載。

以上是圖片懶加載有哪些方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn