勉強したことのメモ

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

JavaScriptで画像読み込み完了のタイミングを検知する「imagesLoaded」ライブラリの利用方法

  JavaScript

大き目のサイズの画像をページに設置すると読み込み完了まで時間がかかる。その画像がスライダー等に組み込まれていた場合、画像が読み込まれずにエラーになるといったケースが偶にある。「imagesLoaded」ライブラリも使用すると画像読み込み完了のタイミングが検知できるのでその辺りの問題を解決できそう。以下に利用方法をメモ。

 

imagesLoaded

公式サイト

https://imagesloaded.desandro.com/

GitHub

https://github.com/desandro/imagesloaded

CDN

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

<script src="https://unpkg.com/imagesloaded@5/imagesloaded.pkgd.min.js"></script>

 

サンプル

https://taitan916.info/sample/imagesLoaded/

画像読み込み完了後にアラートが表示される筈。

 

利用方法

ソースコード

<script src="https://unpkg.com/imagesloaded@5/imagesloaded.pkgd.min.js"></script>
<script>
//バニラJSの場合
imagesLoaded( document.querySelector('.img_area'), function( instance ) {
    alert('画像読み込み完了');
});

//jQueryの場合
$('.img_area').imagesLoaded( function() {
    alert('画像読み込み完了');
});
</script>

 

所感

今までだと苦肉の策でsetTimeoutで対応していたが、このライブラリで解決できた(slickで確認済み)。

 - JavaScript

  関連記事

バニラJS対応(jQuery非依存)の画像遅延読み込みライブラリ「lazysizes」の利用方法

あるサイトのコーディングデータを貰った際に「lazysizes」というJavaS ...

ブラウザ上で画像の切り抜き等編集を行う方法(Cropper.js)

あるサイトで画像をアップロードし、その画像に対してブラウザ上で切り抜き等トリミン ...

jQuery UIでカレンダーピッカー(Datepicker)の利用方法

フォーム等で日付を入力する際にカレンダーピッカー機能を実装することがある。その際 ...

画像にマウスを合わせると拡大表示させる「drift」ライブラリの利用方法

amazon等ECサイトで商品画像にマウスを合わせると当該部分が拡大表示されると ...

JavaScriptで小数の計算をする際にずれ(誤差)を無くす方法(decimal.js)

JavaScriptで小数の計算をすると値がずれる(誤差が発生する)ことがあった ...