Javascriptサンプルみてください・・・

[上に] [前に] [次に]
Moonlight [E-Mail] [HomePage] 2000/02/25(金) 21:21:38
http://www.backgammon.gr.jp/OrangeDesign/JavascriptSample/list.html
ここに今テスト中のJavaScriptサンプルをUPしてあります。
Sample1からSample3はフリースクリプトからいただいたものです。
Sample1からSample3を組み合わせて、IE4,NN4でみられるページを
作りたいのですが、
Sample4とSample5は成功しましたが、Sample2とSample3の組み合わせであるSample6はNN4でエラーが出てしまいます。;;
どこがまずいのでしょうか。
どなたか教えてください。おねがいします^^

にょろにょろ 2000/02/26(土) 00:19:44
IEでレイヤー上の画像を書き換えるには、

document.images["画像名"].src=img[〜].src;

でOKですが、NNでレイヤー上の画像を書き換えるには、

document.layers["レイヤー名"].document.images["画像名"].src=img[〜].src;

とする必要があります。ちなみに、レイヤーを入れ子にすれば、

document.layers["親レイヤー"].document.layers["子レイヤー"].〜

のようになります。これで大丈夫っすか?

Moonlight 2000/02/26(土) 00:41:56
お答えありがとうございます^^
なるほど…。 ということは、Sample6をNN4でも動くようにするためには、
スクリプト内の "onMouseOverで画像を変える" のfunction chg_xxxの部分をIEとネスケに
分けなくてはいけないということですね。
自分でスクリプト書けないので… もしよろしければ具体的に教えてください。
おねがいします。

にょろにょろ 2000/02/26(土) 01:08:13
 他人様の作ったサンプルを改変したものに、さらに手を加える
のも気が引けますが……

function chg_stp1(layName, a){
  if(Active){
    if(isIE4){
      document.images["stp1"].src=img[a].src;
    }else if(isNN4){
      document.layers[layName].document.images["stp1"].src=img[a].src;
    }
  }
}

と改変して、関数を呼ぶときに親レイヤーの名前を追加してください。

onMouseOver="chg_stp1('lay1',1)"

これでいかがっすか?


>自分でスクリプト書けないので…
 自分に理解できないものを使うと、何か起きたときに対応するのが面倒なので、
「書ける人」を目指すことをお勧めします(^^;。

Moonlight 2000/02/26(土) 02:20:00
[[解決]]
できましたーー!うれしいです^^
どうもありがとうございました。

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