JavaScriptで画像のプリロードをする方法を解説!

JavaScriptで画像をプリロードする方法をサンプルコード付きで解説します。後から表に出す画像の表示遅延を無くすために画像のプリロードを実装しましょう。

コンテンツ [表示]

  1. 1画像のプリロードとは?
  2. 2JavaScriptで画像のプリロードをする方法

画像のプリロードとは?

例えば画像にカーソルを当てると別の画像に差し替える場合などでは、カーソルが当たった瞬間に画像を読み込むため、そこで容量が大きめの画像だと、ネットワーク速度によっては画像の読み込むが遅くデザイン上違和感が発生し、好ましくない体験が発生します。

例えば下記のサンプルコードを見てみましょう。

上記のサンプルコードのプレビューではマウスオーバーすると画像が差し替わりますが、ネットワーク速度が遅かったり、画像の容量が大きいと、読み込むまでに時間がかかり遅延が発生します。特にスマホなど低速なネットワークでの場合は余計遅延が目立つ事があります。

そこで画像のプリロードという手法があり、プリロードは画像が表に出ていない状態でも、予め画像を読み込んで置くことで、後から画像を表側に表示する際にも遅延無しですぐに表示させる仕組みの事です。

今回はこのようなプリロードの仕組みをJavaScript読みを使って実現させる方法をサンプルコード付きで解説します。

JavaScriptで画像のプリロードをする方法

早速JavaScriptで画像のプリロードをしてみたいと思います。下記のサンプルコードを見てみましょう。

上記のサンプルコードではindex.jsで画像のプリロードを行っています。そのやり方ですが、まずプリロード対象となる画像を配列でまとめます。

for文で画像の配列を処理し、document.createElementimg要素を生成します。そのsrc属性に画像のパスを割り当てることで画像がプリロードされます。
(生成したimg要素は表側に表示されません)

デベロッパーツールでプリロードを確認
プリロードされているかどうかはChromeのデベロッパーツールで確認しましょう。

デベロッパーツールのNetworkタブを開いている状態で、WEBページを表示して、画像が表示される前に該当の画像が一覧に出てくればプリロードされています。
あわせて読みたい
Chromeでデベロッパーツールをショートカットで開く方法!のイメージ
Chromeでデベロッパーツールをショートカットで開く方法!
Chromeでデベロッパーツールをショートカットキーで開く方法を紹介します。先にショートカットのやり方の結論を伝え、また検証から開く方法やメニューから開く方法もあわせて解説します。

今回はJavaScriptのみでプリロードを実装しましたが、jQueryを使ってもプリロードは実装することが出来ます。ぜひ下記も参考にしてみて下さい。

あわせて読みたい
jQueryで画像をプリロードする方法を解説!のイメージ
jQueryで画像をプリロードする方法を解説!
jQueryで画像をプリロードする方法をサンプルコード付きで解説します。1枚の写真や複数枚の画像をプリロードする方法を習得しましょう。
GeekHive採用サイト

関連記事