【jQuery】リンクホバー(マウスオーバー)で複数の画像を切替え表示

投稿者: | 2021年4月24日
JQueryアイキャッチ画像

今回はマウスオーバー時にリンクにマウスカーソルを重ねる(hover)と画像が自動で切り替わる処理を実施してみたいと思います。

まずは下記のサンプル1~サンプル5のリンクにマウスカーソルを重ねてみてください。

 

完成後

サンプルリンクにマウスカーソルを重ねると画像が自動で切り替わります。

(スマホの場合はタップしかできないので不可です)

画像が表示されない場合はCtrl + F5 キー押してみてください。

 

 

 

 

 

 

それでは行ってみましょう!

 

手順

作成手順

HTMLにタグを挿入します(prependToとafter

画像パスの配列を作成

リンクの配列を作成

hoverイベントでリンクにマウスが重なったら処理

大まかにこんな流れで完成します。

 

HTMLにタグを挿入(jQuery)

後程、img srcに画像パスを挿入させるために、img src(空の)タグをimgSampleの子の先頭に挿入しておきます。(prependTo

 

後程、liタグのリンクを挿入させるために、imgSampleの兄弟要素のすぐ後ろに.link ulタグを挿入しておきます。(after

 

このようにたったの1行でjQueryを使用すると簡単に自動でHTMLに要素を追加挿入できます。

 

画像パスの配列を作成

画像パスを5個作成して配列に格納します。

 

リンクの配列を作成

リンクを5個作成して配列に格納します。

 

ページロード時の表示

ページのロード時にattrメソッドを使用してimgのsrc属性に画像配列(srcAry)の画像を1つなんでもいいので表示させておきます。

 

.link > ulの子の最後尾にappendで、linkAry(リンクの配列)をeachメソッドで繰り返し配列分、追加していきます。

 

まずは上記の2つの処理で、ページのロード時に画像1枚とリンクが表示されるようにしておきます。

 

ホバーイベントで画像切換え

最後にマウスがリンクの上に乗ったら画像を切り替える処理を加えていきます。

.link liをホバーしたリンクのHTMLを取得します。

➀で取得したhtmlを、indexOfメソッドで一致したリンクの配列(linkAry)の中から、インデックスを取得します。

imgSample imgのsrc属性にattrメソッドで、➁で取得したインデックスを、画像パスの配列(srcAry)に設定するとリンクの画像が表示されて完成です\(^^)/

 

全サンプルコード

コピペで即試せます(*゚▽゚)ノ

 

今回使用した画像5枚

111 222 333 444 555

完成

リンクにマウスを重ねると画像が切り替わります\(^^)/

 

 

 

 

 

ブラウザでデバッグして確認すると、マウスがリンクの上に乗ったsrc属性の画像パスが自動で切り替わるのが確認できます。

src属性自動追加

まとめ

さあこれであなたなら何を作成しますか?というようなイメージをすることが大切です。

以上です。