Javascriptは、ブラウザの種類やバージョン、環境により機能するものとしないものがあります。
また、DHTMLを使用している場合もあります。
※DHTMLについては「DHTMLサンプル」もご参照下さい。
■ オンマウスで画像の変更3
メニューなどでよく使用されている、マウスによって画像を変更する処理です。
画像の上にマウスが乗ったら、その画像を別の指定した画像に変更します。
もちろん、マウスが画像から離れたら元の画像に戻します。
今回は、Javascriptの記述を簡素化するため、変更したい画像自身、入換える画像名の両方をパラメータで与えます。
この場合、画像自身をJavascriptに与えるので、name属性は必要ありません。
この方法を取れば、HTMLの記述は少し煩雑にはなりますが、かなり自由度が高まります。
「画像にマウスが乗ったら..」と言うのを専門の言葉(Javascriptなど)で「オンマウス」、あるいは「マウスオーバー」と言います。
また、
「マウスが画像から離れたら..」と言うのを同じく、「マウスアウト」と言います。
同じような処理はDHTMLでも可能です。
Javascriptの場合はDHTMLと違い、ひとつひとつ細かな指定ができる点にメリットがあります。
DHTMLを使った同じような処理は「DHTML(DynamicHTML)サンプル」−「オンマウスで画像の変更」にあります。
◆ 実行サンプル
略号の説明 | 動作が確認できたブラウザ |
---|---|
IE6.0 NS7.0 MZ1.7.7 FF1.5 OP7.53 |
- 【 解 説 】
-
まず、画像にマウスが乗った場合の処理は、
onmouseover="(javascriptの記述)"マウスが画像から離れた場合の処理は、
onmouseout="(javascriptの記述)"と記述します。
Javascriptで画像を変更する場合は、その画像に名前が必要になります。
名前の指定は「name」属性を使用し、次のように記述します。
name="(イメージタグの名前)"今回、Javascriptの処理名を「image_change」とします。
この処理に変更したい画像をオブジェクト、入換える画像のファイル名の両方をパラメータとして渡す場合は次のように記述します。
img_change(this, '(入換える画像名)'); ※「this」はその画像自身を渡す時使用します。この処理で与えられたそれぞれのパラメータを「obj0」、「gfnam0」で、受ける場合は、次のように記述します。
img_change(obj0,gfnam0)変更したい画像がオブジェクトで与えられた場合の画像変更は次のように記述します。
obj0.src = gfnam0;
- 【記述サンプル】
-
画像のname属性、画像のファイル名、ともに呼び出し時に指定する場合。
まず、テキストエディタなどを使用し、次の記述を「mgraph3.js」というファイル名で保存します。
function img_change(obj0,gfnam0){ obj0.src = gfnam0; }
次に、HEAD句内にJavascriptの呼び出しを次のように記述します。
<script type="text/javascript" src="mgraph3.js"></script>
オンマウスで画像を変更したい画像のタグはを次のように記述しています。
<img src="../../images/top/menut0_02.png" alt="トップ" width="40" height="16" onmouseover="img_change(this,'../../images/top/menut0d_02.png');" onmouseout="img_change(this,'../../images/top/menut0_02.png');"> <img src="../../images/top/menut0_03.png" alt="新着情報" width="59" height="16" onmouseover="img_change(this,'../../images/top/menut0d_03.png');" onmouseout="img_change(this,'../../images/top/menut0_03.png');">