- ベストアンサー
IE5でonmouseoverがうまく行きません。
画像にマウスが触れた時にその画像を 替えたいのですが,NNではうまく行き, IE5では画像は変化せずうまく行きません。 IE5は次のエラーメッセージがでます。 ページでエラーが発生しました。 -> オブジェクトを指定してください。 よろしくお願いします。 <HTML><HEAD><title></title> <script language="javascript"> <!--- img = new Array(); for (i = 0; i <= 1; i++) { imag[i] = new Image() ; imag[i].src = "on_" + i + ".gif"; } function On(n) { document.images['menu'+n].src = imag[n].src; } function Off(n) { document.images['menu'+n].src = "off_" + n + ".gif"; } //---> </script></head> <BODY> <a href="xxx.html" TARGET="MAIN" onMouseOver="On(0)" onMouseOut="Off(0)"> <img src="off_0.gif" name="menu0" border="0"></a> <a href="yyy.html" TARGET="MAIN" onMouseOver="On(1)" onMouseOut="Off(1)"> <img src="off_1.gif" name="menu1" border="0"></a> </BODY></HTML>
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
うちでもエラーになりましたね。IE5.0。 NN 4.7では大丈夫です。 function On の中のimag[n].srcも当然直してますよね? で、いろいろ試してやっとわかった気が…。ひょっとして、ここで質問 するために綺麗に字下げしているだけじゃなくて、本当のソースの 方でも全角スペース使ってませんか? コピーペーストしてやってたら再現したのですが、全角スペースに やっと気がついて(forとfunctionの中ですね)取り除いたら うまく動作するようになりました。 もしこれが原因なら…全角スペース、やめましょう。
その他の回答 (4)
- KojiS
- ベストアンサー率46% (145/312)
「オブジェクトを指定してください。」というエラーだったということでしたので、コピー&ペースト後につい整形してしまいましたが、そのままでもNetscapeの場合はエラーにならないんですね。 文法的にはエラーになりそうなところがないので、そういうところからチェックしてみるといいのかもしれません。
お礼
レスポンス遅れましてすみませんでした。 大変ありがとうございました。
- KojiS
- ベストアンサー率46% (145/312)
すいません。読み違えていました。 ただし、うちではIE5でもエラーにはなりませんでした。
- KojiS
- ベストアンサー率46% (145/312)
Netscapeのバージョンは? 4.7で確認しましたが、特にエラーにはなりませんでした。
補足
Netscape4.73です。ただ,こちら(Netscape) ではうまく行っており,IE5でエラーと なります。
- kokucho81
- ベストアンサー率61% (157/255)
× img = new Array(); ◎ imag = new Array();
補足
最初の質問で書き間違えました。 プログラムは正しく imag = new Array(); とかいてありますので,この部分 の誤りではありません。
お礼
仕事の関係でレスポンスが遅れました。全角スペースという つまらない私のミスでした。質問前、初めてJavaScript をさわって1日悩んでおりました。回答ありがとうございました。