• ベストアンサー

Netscapeで動かない

みなさん、こんにちは。Blackwinglsです。 以下のようなScriptを作成したのですが、Netscapeで動いてくれません(^^;) IEしか持っていないので、Netscapeに対応させるにはどうしたら良いのかさっぱりわかりません。 <script language="JavaScript"> <!-- var ax=20 function mv() { if(document.all) { obj=document.all.L1.style WIDTH=document.body.clientWidth } if(document.layers) { obj=document.L1 WIDTH=window.innerWidth } setTimeout("mv()",100) x=obj.left n=x.length y=(eval(x.substring(0,n-2))-ax) obj.left=y+"px" x2=obj.width n2=x2.length y2=(eval(x2.substring(0,n2-2))) if(y < -y2) { obj.left=WIDTH } } //--> </script> 何処が間違っているのでしょうか? 良きアドバイスをお願いします。

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

  • ベストアンサー
  • shigatsu
  • ベストアンサー率26% (511/1924)
回答No.2

これってレイヤーを動かしたいってことでいいんですよね? IEとNCではその辺のコマンドが微妙に違っているんですね。それをどちらでも動かすということになると、クロスブラウザという考えかたをしないといけなくなります。 参考URLがひじょうに役に立つと思います。

参考URL:
http://www.fureai.or.jp/~tato/DHTML/simple/contents.htm
Blackwingls
質問者

お礼

ある方より obj.leftで得られる値がIEとNNでは違っているとのアドバイスを頂きました。 IEだと文字列として得られるようですが、NNだと整数値として得られるようです。 他にも若干の誤まりがあったようですが・・・・(^^;) NNは仕方がないのでmoveToを使って動かすようにするか、別途ほかに考えてみます。 回答ありがとうございました。

その他の回答 (1)

noname#9414
noname#9414
回答No.1

スクリプトのコメントを外してはどうでしょう。 <!-- と --> ですね。 #これを外すと<SCRIPT>に対応していないもので #見えてしまいますが・・・ 確かむかしNetscapeでそんな風に対処したら 動作した記憶がありますよ。

Blackwingls
質問者

補足

アドバイスありがとうございます。 なにぶん手元にNetscapeないもんで動作確認は月曜になってからになりますが、早速試してみます。 一応、 http://member.nifty.ne.jp/Blackwingls/z.htm に問題のhtmlファイルをアップしておきましたので、何か他に解決の糸口がありましたら宜しくお願いしますm(__)m