• ベストアンサー

NN4とNN6でのレイヤーの表示・非表示

WINとMACでNN4とNN6でのレイヤーの表示・非表示を制御する、そんな都合の良いJavaScriptってありますか? あったら教えて下さい!!

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

  • ベストアンサー
  • selene_pl
  • ベストアンサー率49% (102/207)
回答No.2

以下は、私が使っていたものを、そのまま写しています。 function ShowMessage(mID){ if(document.all) document.all(mID).style.visibility = 'visible'; else if(document.layers) document.layers[mID].visibility = true; else if(document.getElementById) document.getElementById(mID).style.visib ility = 'visible'; } function HideMessage(mID){ if(document.all) document.all(mID).style.visibility = 'hidden'; else if(document.layers) document.layers[mID].visibility = false; else if(document.getElementById) document.getElementById(mID).style.visib ility = 'hidden'; } おわかりだとは思いますが、mIDは、各レイヤーのIDです。 引数にして渡してやってください。 ちなみに、Netscape6.0以降は、document.layersはFALSEになってしまいます。 そこで、document.getElementByIdを使うのですが、これはIE5.0以上でもTRUEになってしまいます。 (だから elseを使っているんですが) Netscapeは、4.x以前と6.0以降でまったく別物になっているので、 同じ処理はほとんどの場合使えません。 むしろ、6.0はIE5.x以降にかなり近いです。 WINとMACの違いは、ブラウザの細かい仕様とバグに関わってくるので、 あんまり気にしても仕方がないような。。。

y-james
質問者

お礼

ありがとうございます。 やってみます。

その他の回答 (1)

  • taka2456
  • ベストアンサー率29% (36/122)
回答No.1

if (document.all){   IEの場合ここに処理内容を書く } if (document.layers){ NNの場合の処理内容 } document.allを使用するとIEの場合真になります、NNの場合は偽ですね NN4とNN6の違いは理解してませんが NNのバージョンで判別できると思います 判別はnavigator.appNameとnavigator.appVersionを使えばいいと思います テストはしてませんのでテストしてくださいね 自信ないのでほかの人の回答も参考にしてください

y-james
質問者

お礼

ありがとうございます。 やってみます。

関連するQ&A

専門家に質問してみよう