OnMouseOverで同時に四つの画像を変更

[上に] [前に] [次に]
マル 2000/01/30(日) 01:00:37
初歩的な質問で申し訳ありません。
以前ラウンジで一つの画像の上にマウスを持ってくるとその画像と隣の画像が変化するという
スクリプトがあったので、では1の画像の上に持って来ると1・2・3・4の画像も変化するのはと
やってみました。
しかし一応動作するのですが、1は2のマウスオーバー時のみ動作するのですが、3・4はそれ自身の
マウスオーバーも反応してしまいます。
ソースは以下の通りです。
長々と書いてしまいましたが、どうか教えてください。よろしくお願い致します。

<script language="JavaScript">
<!--starting JavaScript
if(navigator.appVersion.charAt(0)>=3)
{
if(document.images){
var img = new Array();
img[0] = new Image();  img[0].src = "1.gif";
img[1] = new Image();  img[1].src = "2.gif";
img[2] = new Image();  img[2].src = "3.gif";
img[3] = new Image();  img[3].src = "4.gif";
img[4] = new Image();  img[4].src = "5.gif";
img[5] = new Image();  img[5].src = "6.gif";
img[6] = new Image();  img[6].src = "7.gif";
img[7] = new Image();  img[7].src = "8.gif";
img[8] = new Image();  img[8].src = "9.gif";
}

function changeImg(num){
if (document.images) {
    document.mainImg.src = img[num].src;
}
}

function kazImg(num){
if (document.images) {
    document.daImg.src = img[num].src;
}
}

function yoImg(num){
if (document.images) {
    document.moImg.src = img[num].src;
}
}

function swapImg(name,num) {
if (document.images) {
    document.images[name].src = img[num].src;
}
}
}
// -->
</script>
<!--1--><href="***.htm" onMouseOver="swapImg('mainImg',1);" onMouseOut="swapImg('mainImg',2)"><img src="line.gif" name="mainImg" border="0" width="470" height="20">
<!--2ここにマウスオーバーしたら他が変わる--><a href="ne3.htm" onMouseOver="changeImg(3); kazImg(4); yoImg(5); swapImg('img1',1);" onMouseOut="changeImg(8); kazImg(8); yoImg(8); swapImg('img1',0)"><img src="bot-0.gif" name="img1" border="0" width="50" height="20">
<!--3--><a href="***.htm" onMouseOver="swapImg('moImg',7);" onMouseOut="swapImg('moImg',8)"><img src="e-ne.gif" name="moImg" border="0" width="110" height="20">
<!--4--><a href="***.htm" onMouseOver="swapImg('daImg',6);" onMouseOut="swapImg('daImg',7)"><img src="line1.gif" name="daImg" border="0" width="470" height="20">

とくめいX 2000/01/30(日) 01:17:46
<a>と</a>の対応がおかしくないでしょうか?
というか、</a>が全く無いし。

マル 2000/01/30(日) 11:01:50
とくめいXさん、ありがとうございます。
肝心なところをミスっていました。反省。

ただやはり2の上だけにマウスを持ってきたときに反応させたいの
ですが、そういうことは無理なのでしょうか?
どうしても1・3・4の上にマウスを持って来るとそこのマウスオーバー
が実行されてしまうのが気になります。
もしかしたら仕方のないことかもしれないのかな?
JavaScriptを勉強中なのでまったく初歩的な質問かもしれないのですが
教えてくださるとありがたいです。よろしくお願い致します。

Mugi [E-Mail] [HomePage] 2000/01/30(日) 14:48:39
2以外はマウスが乗っても何もしないということでしょうか。
それなら、何もしないリンクのonmuseover=... とonmouseout=... を消すだけですよ。
違うかな?

マル 2000/01/30(日) 23:20:49
[[解決]]
Mugiさん、ありがとうございます!
その通りでした。
もうなんだか訳がわからなくなっていて、頭が混乱していたようです。
ほんとうに助かりました。
ワタシもみなさんのように早くレベルアップするよう努力します。

[上に] [前に] [次に]