• ベストアンサー

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>

質問者が選んだベストアンサー

  • ベストアンサー
回答No.4

うちでもエラーになりましたね。IE5.0。 NN 4.7では大丈夫です。 function On の中のimag[n].srcも当然直してますよね? で、いろいろ試してやっとわかった気が…。ひょっとして、ここで質問 するために綺麗に字下げしているだけじゃなくて、本当のソースの 方でも全角スペース使ってませんか? コピーペーストしてやってたら再現したのですが、全角スペースに やっと気がついて(forとfunctionの中ですね)取り除いたら うまく動作するようになりました。 もしこれが原因なら…全角スペース、やめましょう。

atoba
質問者

お礼

仕事の関係でレスポンスが遅れました。全角スペースという つまらない私のミスでした。質問前、初めてJavaScript をさわって1日悩んでおりました。回答ありがとうございました。

その他の回答 (4)

  • KojiS
  • ベストアンサー率46% (145/312)
回答No.5

「オブジェクトを指定してください。」というエラーだったということでしたので、コピー&ペースト後につい整形してしまいましたが、そのままでもNetscapeの場合はエラーにならないんですね。 文法的にはエラーになりそうなところがないので、そういうところからチェックしてみるといいのかもしれません。

atoba
質問者

お礼

レスポンス遅れましてすみませんでした。 大変ありがとうございました。

  • KojiS
  • ベストアンサー率46% (145/312)
回答No.3

すいません。読み違えていました。 ただし、うちではIE5でもエラーにはなりませんでした。

  • KojiS
  • ベストアンサー率46% (145/312)
回答No.2

Netscapeのバージョンは? 4.7で確認しましたが、特にエラーにはなりませんでした。

atoba
質問者

補足

Netscape4.73です。ただ,こちら(Netscape) ではうまく行っており,IE5でエラーと なります。

  • kokucho81
  • ベストアンサー率61% (157/255)
回答No.1

× img = new Array(); ◎ imag = new Array();

atoba
質問者

補足

最初の質問で書き間違えました。 プログラムは正しく imag = new Array(); とかいてありますので,この部分 の誤りではありません。