背景画像も遅延読み込み可能なLazyload系ライブラリ「lazysizes」

背景画像も遅延読み込み可能なLazyload系ライブラリ「lazysizes」

背景画像も遅延読み込み可能なLazyload系ライブラリ「lazysizes」

lazysizesは、画像を遅延読み込みすることができるLazyload系のJavaScriptライブラリです。通常の画像だけでなく背景画像も遅延読み込み可能です。また、jQuery非依存で単体で動作します。

挙動については、以下デモページよりご確認いただけます。

デモページを見る

lazysizesの使い方

ステップ1. lazysizesのダウンロードと設置

GitHubからlazysizesをダウンロードして、lazysizes.min.jsをサーバー上に設置します。

ファイルを設置したら、HTMLの</body>の直前に以下を追加します。

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

ファイルパスは適宜変更してください。

ステップ2. 画像のマークアップ

画像のHTMLは、src属性にプレースホルダー画像(ダミー画像)、data-src属性に本来の画像をセットします。また、画像には.lazyloadクラスを付与します。

<img src="placeholder.jpg" data-src="image.jpg" class="lazyload">

プレースホルダー画像は指定しなくても大丈夫です。

iframe要素でも遅延読み込み可能で、iframeの場合は以下のように記述します。

<iframe data-src="//www.youtube.com/embed/U_N5rrfvPBs" class="lazyload"></iframe>

基本的な使い方はこんな感じです。導入は簡単ですね。

背景画像の遅延読み込み

背景画像の遅延読み込みを有効化するには、lazysizes.min.jsと合わせてls.unveilhooks.min.jsも読み込む必要があります。


<script src="lazysizes.min.js"></script>
<script src="plugins/unveilhooks/ls.unveilhooks.min.js"></script>

HTMLでは、通常の画像と同様に.lazyloadクラスを付与して、data-bg属性に画像をセットします。

<div data-bg="bg_image.jpg" class="lazyload">…</div>

あとがき

jQuery非依存かつ軽量なので、画像の遅延読み込みを導入しようと検討中の方はぜひ!

ちなみに、付与した.lazyloadクラスは読み込みが完了すると.lazyloadedクラスに切り替わります。この挙動を利用してCSSアニメーションを付けたりすることも可能ですね。

この記事が気に入ったら
いいね!してね♪

Twitter で

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です