遅延読み込み、または「Lazy Load」とは、ウェブページに表示される画像が、実際にユーザーがその部分をスクロールして見るときに初めて読み込まれる仕組みのことです。つまり、ページが最初に表示されるときには、全ての画像を読み込まずに済むので、表示速度が速くなります。
多くの画像を一度に読み込む必要がなくなるため、ページの表示が早くなります。これにより、ユーザーはストレスなくサイトを利用できます。
遅延読み込みを使うことで、ユーザーが実際に見ることがない画像を読み込む必要がなくなります。その結果、データ通信量を節約することができ、特にモバイルユーザーにとっては大きなメリットです。
ページの表示速度は検索エンジン最適化(SEO)にも影響を与えます。遅延読み込みを採用することで、検索エンジンからの評価が上がりやすくなります。
では、実際に遅延読み込みを実装する方法を簡単に説明します。HTMLとJavaScriptを使用して、遅延読み込みを実現できます。
まず、画像を表示するHTMLを準備します。通常のタグの代わりに、以下のように書きます。
<img class="lazy" data-src="画像のURL" alt="説明文">
ここで、data-src
属性に実際の画像のURLを設定し、src
属性は空のままにします。これにより、画像は遅延読み込みできる状態になります。
次に、遅延読み込みを実行するためのJavaScriptを追加します。以下のコードを使ってみてください。
document.addEventListener("DOMContentLoaded", function() {
const lazyImages = document.querySelectorAll("img.lazy");
const options = {
root: null,
rootMargin: "0px",
threshold: 0.1
};
const imageObserver = new IntersectionObserver((entries, observer) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
const img = entry.target;
img.src = img.dataset.src;
img.classList.remove("lazy");
observer.unobserve(img);
}
});
}, options);
lazyImages.forEach(image => {
imageObserver.observe(image);
});
});
このJavaScriptは、画像が表示領域に入ったときに読み込むためのものです。これにより、実際にユーザーが見ない限り画像は読み込まれません。
遅延読み込みは、ウェブサイトの表示速度を改善するためのシンプルで効果的な手段です。特に画像が多いサイトでは、ユーザー体験を大幅に向上させることができます。