JavaScript

画像を遅延読込する方法【lazysizes.js】

lazysizes.jsを使ってサイトに掲載してる画像を遅延読込し表示させる方法をご紹介します。
画像の表示スピードはSEOにも影響するので遅延読込前と後で「PageSpeed Insights」で表示速度を計測してみて下さい。

lazysizesのソース元

以下がソース元になります。以下からlazysizes.min.jsをダウンロードできます。
lazysizes

CSSの記述

※ここは重要ではないので必要に応じて変更して下さい。

<style type="text/css">
body{
  font-family:Verdana,"Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W6",Osaka,"MS Pゴシック",Arial,sans-serif;
  padding: 0;
  margin: 0;
  line-height: 1.8em;
}
h1{
  font-size:16px;
  text-align:center;
  font-weight:normal;
  padding:10px 0;
  position: relative;
}
.wrap1{
  width: 90%;
  margin: 0 auto;
  padding-top: 800px;
  text-align: center;
}
.wrap2{
  width: 90%;
  margin: 0 auto;
  padding-top: 800px;
  text-align: center;
}
</style>
<!-- lightgallery.js CSS -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/lightgallery-js/1.2.0/css/lightgallery.min.css" />

imgに設定した画像を遅延読込するHTML記述

※imgタグに「class=”lazyload”」を追加し、「src=”loading.gif”」は遅延読込前の画像として表示されるので容量が軽い画像を設定します。
 「data-src=”~”」に遅延読込表示する画像を設定します。

<h1>下にスクロールすると2枚の画像を遅延読込・表示します</h1>

<div class="wrap1">
<img class="lazyload" src="loading.gif" data-src="technology-1283624_1280.jpg" alt="">
</div>
<div class="wrap1">
<img class="lazyload" src="loading.gif" data-src="capwp210804-768x768.jpg" alt="">
</div>

lazysizes.jsファイルを読込むだけ

※ページの下に以下を記述し「lazysizes.min.js」を読み込むだけです。

<script src="lazysizes.min.js"></script>

lazysizes.jsを使って画像を遅延読込するデモページ

lazysizes.jsを使って画像を遅延読込するデモ

 

※流用される場合は自己責任でお願いします。
 デモページタグ内のGoogleアナリティクスタグは流用しないで下さい。