Home > イヌでもわかるJavaScript講座 お品書き
イヌでもわかるJavaScript講座 お品書き へ戻ります
イヌでもわかるJavaScript講座


Step.99 - カーソルが触れると画像を変更させる


画像にマウスカーソルが触れると画像を変更させます。


Step テーマ
● onmouseover イベント
● onmouseout イベント

実行例







リスト


<script type="text/javascript"><!--
function myChgPic(myPicURL,myImgTagName){
    document.images[myImgTagName].src = myPicURL;
}
// --></SCRIPT>

<A href="javascript:void(0)" onmouseover="myChgPic( 'IMG_0141.gif' , 'img0141' )" onmouseout="myChgPic( 'IMG_0141s.gif' , 'img0141' )">
<IMG src="IMG_0141s.gif" name="img0141"><BR>
</A>

<A href="javascript:void(0)" onmouseover="myChgPic( 'IMG_0400.gif' , 'img0400' )" onmouseout="myChgPic( 'IMG_0400s.gif' , 'img0400' )">
<IMG src="IMG_0400s.gif" name="img0400"><BR>
</A>

<A href="javascript:void(0)" onmouseover="myChgPic( 'IMG_0667.gif' , 'img0667' )" onmouseout="myChgPic( 'IMG_0667s.gif' , 'img0667' )">
<IMG src="IMG_0667s.gif" name="img0667"><BR>
</A>

<A href="javascript:void(0)" onmouseover="myChgPic( 'IMG_0679.gif' , 'img0679' )" onmouseout="myChgPic( 'IMG_0679s.gif' , 'img0679' )">
<IMG src="IMG_0679s.gif" name="img0679">
</A>


サンプルだけの HTMLは こちらへ

Q&A


[Q] たくさん画像があって、画像にマウスカーソルをあてると その画像を別の画像に変えたいのですが
[A] 前回のステップを改造してみましょう。

使い方


・画像を準備します (サンプルでは HTMLと同じフォルダに画像ファイルをアップロードしています)。

・画像を表示するタグを設置します。
    <A href="javascript:void(0)" onmouseover="myChgPic( 'IMG_0667.gif' , 'img0667' )" onmouseout="myChgPic( 'IMG_0667s.gif' , 'img0667' )">
    <IMG src="IMG_0667s.gif" name="img0667">
    </A>
   myChgPic() の
   第1パラメータに 画像のファイル名(URL) をシングルクォートで囲って指定します。
                        ※ onmouseover はマウスカーソルが乗ったときに変更する画像を指定します。
                        ※ onmouseout はマウスカーソルが離れたときに変更する画像を指定します。

   第2パラメータに <IMG>タグの name属性でつけた任意の名前を シングルクォートで囲って指定します。

説明


画像にマウスが乗ったり離れたりすると myChgPic() を呼ぶようにしました。

パラメータには 表示する画像のファイル名 (URL) と、<IMG>タグの name属性で指定した名前 を指定します。
onmouseover = "myChgPic( 'IMG_0400.gif' , 'img0400' )"
onmouseout = "myChgPic( 'IMG_0400s.gif' , 'img0400' )"

myChgPic() 内部の処理は、第2パラメータで受け取った name属性の<IMG>タグの画像を、第1パラメータで受け取った画像に変更しただけです。
document.images[myImgTagName].src = myPicURL;


今回のサンプルはマウスカーソルが離れると縮小画像を表示、マウスカーソルが乗ると拡大画像を表示します。

よって、画像サイズが変わるために <IMG>タグに width や height は指定していません。
つまり、ページイメージが伸びたり縮んだりと、落ち着きのないページになっています。 (^^;
乗る/離れるの画像サイズが同じであれば、指定しましょう。
<IMG src="IMG_0141s.gif" width="320" height="240" name="img0141">
※ NC4 や OP6 は一度表示した画像サイズの変更ができません。初回表示した画像サイズに調整されます。


※ IE3 は document.images が使えないためにエラーが発生します。
<script type="text/javascript"><!--
  function myChgPic(myPicURL,myImgTagName){
    if (document.images){
       document.images[myImgTagName].src = myPicURL;
    }
  }
 // --></SCRIPT>
とすれば、IE3でエラーは発生しなくなります。


参考ステップ
Step.33 マウスカーソルが触れたらアイコン画像を変えてみましょう
Step.66 サムネイル画像をクリックして拡大画像を表示してみましょう
Step.67 マウスカーソルが触れたらアイコン画像を変えてみましょう その2
Step.98 サムネイル画像にカーソルを合わせて拡大画像を表示してみましょう その2
Step.100 サムネイル画像にカーソルを合わせて拡大画像を表示してみましょう その3


 
イヌでもわかるJavaScript講座 お品書き へ戻ります