- ベストアンサー
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> 何処が間違っているのでしょうか? 良きアドバイスをお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
これってレイヤーを動かしたいってことでいいんですよね? IEとNCではその辺のコマンドが微妙に違っているんですね。それをどちらでも動かすということになると、クロスブラウザという考えかたをしないといけなくなります。 参考URLがひじょうに役に立つと思います。
その他の回答 (1)
スクリプトのコメントを外してはどうでしょう。 <!-- と --> ですね。 #これを外すと<SCRIPT>に対応していないもので #見えてしまいますが・・・ 確かむかしNetscapeでそんな風に対処したら 動作した記憶がありますよ。
補足
アドバイスありがとうございます。 なにぶん手元にNetscapeないもんで動作確認は月曜になってからになりますが、早速試してみます。 一応、 http://member.nifty.ne.jp/Blackwingls/z.htm に問題のhtmlファイルをアップしておきましたので、何か他に解決の糸口がありましたら宜しくお願いしますm(__)m
お礼
ある方より obj.leftで得られる値がIEとNNでは違っているとのアドバイスを頂きました。 IEだと文字列として得られるようですが、NNだと整数値として得られるようです。 他にも若干の誤まりがあったようですが・・・・(^^;) NNは仕方がないのでmoveToを使って動かすようにするか、別途ほかに考えてみます。 回答ありがとうございました。