<SCRIPT LANGUAGE="JavaScript"> <!-- Code hiding from here function In(n) { if (NNCheck(3)) { document.images["tri" + n].src = "trir.gif"; } } function Out(n) { if (NNCheck(3)) { document.images["tri" + n].src = "triy.gif"; } } function NNCheck(version) { if ((navigator.appName.indexOf("Netscape") >= 0) && (version <= parseInt(navigator.appVersion.substring(0, 3)))) { return true; } else { return false; } } // end --> </SCRIPT> <A HREF="viaduc.html" OnMouseOver="In(1)" OnMouseOut="Out(1)"><IMG SRC="triy.gif" NAME="tri1" BORDER="0">ヴィア・デュック地区</A><BR> <A HREF="elysee.html" OnMouseOver="In(2)" OnMouseOut="Out(2)"><IMG SRC="triy.gif" NAME="tri2" BORDER="0">エリゼ宮</A><BR> <A HREF="madeleine.html" OnMouseOver="In(3)" OnMouseOut="Out(3)"><IMG SRC="triy.gif" NAME="tri3" BORDER="0">マドレーヌ寺院</A><BR> <A HREF="Invalides.html" OnMouseOver="In(4)" OnMouseOut="Out(4)"><IMG SRC="triy.gif" NAME="tri4" BORDER="0">アンヴァリッド</A><BR> <A HREF="cite.html" OnMouseOver="In(5)" OnMouseOut="Out(5)"><IMG SRC="triy.gif" NAME="tri5" BORDER="0">シテ島</A><BR>
OnMouseOver="In(2)" ← マウスが入ったらIn(2)を実行としています。
OnMouseOut="Out(2)" ← マウスが出たらOut(2)を実行
にょろ(~: ほんとはチルダって言うんでしたっけ)の部分を引数で渡した数にしたいので、前回はeval()関数を使って この文を生成していました。document.tri1.src='triy.gif' ~
JavaScriptではプロパティの参照を配列参照のように行なうこともできます。 document.images[0]とするとそのページに含まれる最初の画像(Imageオブジェクト) を参照し、2番めの画像はdocument.images[1]として参照できます。
また、上の例のようにNAMEアトリビュートで名前をつけていれば、この画像は<IMG SRC="trir.gif" NAME="tri3">
として参照できます。3の部分を引数で渡した変数nに置き換え、document.images["tri3"]
これでevalを使わずに同じ処理ができました。document.images["tri" + n].src = "trir.gif";
この機能は関数NNCheck()で実現します。