勉強したことのメモ

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

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

   2024/10/01  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

  関連記事

summernoteにギャラリーから画像を挿入する機能を追加する方法
summernoteにギャラリーから画像を挿入する機能を追加する方法

summernoteの画像機能はデフォルトだと「画像ファイルを選ぶ」「URLから ...

JavaScriptの「Day.js」ライブラリで日付の比較を行う方法
JavaScriptの「Day.js」ライブラリで日付の比較を行う方法

JavaScriptの日時・時刻用ライブラリ「Day.js」を用いて日付の比較を ...

ajaxを使わずに非同期っぽくsubmitする
ajaxを使わずに非同期っぽくsubmitする

ajaxを使わずに見た目はページ遷移せず、 画像を含めたformをsubmitし ...

画像をアップロードすると複数サムネイルを生成する方法
画像をアップロードすると複数サムネイルを生成する方法

フォームで画像をアップロードすると、予め定めておいた大中小のサイズでサムネイル画 ...

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

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