勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ

バニラJS対応(jQuery非依存)の画像遅延読み込みプラグイン「echo.js」の利用方法

あるサイトをブラウザの開発者ツールで見ていると「echo.js」と聞いたことの無いライブラリを読み込んでいた。これは何なのか調べたところjQuery非依存の画像遅延読み込み系ライブラリみたい。以前にメモした「lazysizes」よりも軽量なのが強みっぽい。以下にサンプルと利用方法をメモ。

 

サンプル

https://taitan916.info/sample/echo.js/

 

echo.js

GitHub

https://github.com/toddmotto/echo

CDN

CDNで使う場合は以下を記述する。

<script src="https://cdn.jsdelivr.net/npm/echo-js@1.7.3/src/echo.min.js"></script>

 

利用方法

ソースコード

<div><img src="./img/dummy.jpg" data-echo="./img/001.jpg"></div>
<div><img src="./img/dummy.jpg" data-echo="./img/002.jpg"></div>
<div><img src="./img/dummy.jpg" data-echo="./img/003.jpg"></div>
<div><img src="./img/dummy.jpg" data-echo="./img/004.jpg"></div>
<div><img src="./img/dummy.jpg" data-echo="./img/005.jpg"></div>

<script src="https://cdn.jsdelivr.net/npm/echo-js@1.7.3/src/echo.min.js"></script>
<script>
const option = {
    throttle : 0, //指定したミリ秒以内の間隔では処理をしないようにする。デフォルトは250
};
echo.init(option);
</script>

解説等

src属性は遅延読み込み中に表示される画像、data-echo属性は遅延読み込み後に表示される画像を指定すること。

また、オプションに関しては公式ページを参照。

 

その他

lazysizesとの違い

以下の通りファイルサイズが半分以下となる。

  • lazysizes(ver5.3.2) -> 4.17kb
  • echo.js(ver1.7.3) -> 1.73kb

遅延読み込みだけできればよく、オプション等はあまり設定しないということであればecho.jsを使うのが良いかも。

 - JavaScript

  関連記事

Gif画像に再生ボタンを設置し、ユーザーの操作により再生⇔停止が行える「gifffer」ライブラリの利用方法
Gif画像に再生ボタンを設置し、ユーザーの操作により再生⇔停止が行える「gifffer」ライブラリの利用方法

あるページにGif画像を設置し、当該画像が表示されても自動再生させず、再生ボタン ...

PHPで「ramsey/uuid」ライブラリを用いてUUIDを生成する方法
PHPで「ramsey/uuid」ライブラリを用いてUUIDを生成する方法

PHPでUUID(Universally Unique Identifier)を ...

バニラJS対応(jQuery非依存)の画像スライダー系プラグイン「Flickity」の利用方法
バニラJS対応(jQuery非依存)の画像スライダー系プラグイン「Flickity」の利用方法

画像スライダーを設置する場合「slick」プラグインを利用することが多い。ただ、 ...

「slick」でarrows(次に進む・前に戻るボタン)を設定しても表示されない場合の対応方法
「slick」でarrows(次に進む・前に戻るボタン)を設定しても表示されない場合の対応方法

「slick」で画像スライダーを表示する際にarrows(次に進む・前に戻るボタ ...

JavaScriptにて「QRCode.js」ライブラリを利用してQRコードを生成する方法
JavaScriptにて「QRCode.js」ライブラリを利用してQRコードを生成する方法

PHPが使えない環境で動的にQRコードを生成したかった。以前にメモしたAPI等の ...