Javascript関連情報

更新日:2002年06月15日

クロスブラウザを制する Part 2 2-28 不透明度set

レイヤ-の背景色の不透明度を指定するサンプルファンクションです。











牛久大仏、高さ120m。





















setOpacity('レイヤ?名',不透明度)
Win n4代替 n6 moz e4 e5 e6 o6無変化 ,
Mac n4代替 n6 moz e4.5代替 e5代替 ,
Linux n4代替 n6 moz
レイヤ?の背景色の不透明度を指定するサンプルファンクションです。

<script language='JavaScript'>
<!--

  //--不透明度set    function setOpacity(layName,arg) { //arg は 0 ~ 1、0は透明、1は不透明。     var ua = navigator.userAgent     if( document.layers ) {   //n4とMac版e4,e5は0の時hidden       if(arg > 0)     document.layers[layName].visibility='visible'       else if(arg==0) document.layers[layName].visibility='hidden'     } else if( ua.indexOf('Mac_PowerPC') !=-1 && document.all ) {       if(arg > 0)     document.all(layName).style.visibility='visible'       else if(arg==0) document.all(layName).style.visibility='hidden'     } else if(document.all) {  //Win版e5,e6         document.getElementById(layName).style.filter="alpha(opacity=0)"         document.getElementById(layName).filters.alpha.opacity  = (arg * 100)     } else if(ua.indexOf('Gecko')!=-1)  //n6,m1         document.getElementById(layName).style.MozOpacity = arg   }

  //--背景色set 
  function setBGCOLOR(layName,color){
    if(color=='')(!!window.opera)?color='white':color='transparent';
    if(document.getElementById)       //n6,m1,e5,e6,o6用
      document.getElementById(layName).style.backgroundColor =color
    else if(document.all)             //e4用
      document.all(layName).style.backgroundColor=color
    else if(document.layers){         //n4用
      if(color=='transparent')color=null
        document.layers[layName].bgColor=color 
    }
  }
  
//-->
</script>
<style type="text/css">
<!--
.helps { position         : absolute           ;
         font-family      : Osaka,'MS PGothic' ;
         width            : 250px              ;
         height           : 50px               ;
         clip             : rect(0,250,50,0)   ;
         color            : #ffffff            ;
         font-size        : 16px               ;
         padding          : 4px                ;
}
#help-0 {
         position         : absolute           ;
         left             : 200px              ;
         top              : 180px              ;
         background-color : orange             ;
         font-weight           : 900                ;
}
#daibutsu { 
         position         : absolute           ;
         left             : 50px               ;
         top              : 50px               ;
}

-->
</style>
</head>
<body onload="setOpacity('help-0',0);
setBGCOLOR('help-0','orange')
" <!-- 画像レイヤー --> <div id="daibutsu"> <img src="//img.allabout.co.jp/gm/article/24028/daibutsu.gif"> <a href="daibutsu.gif" TARGET="photo" onmouseover="setOpacity('help-0',0.7)" onmouseout="setOpacity('help-0',0)"> ここに触ると半透明のヘルプが表示されます。 </a> <br><br><font size=-1>(n4,Operaは不透明ヘルプで代替)</font> </div> <!-- ヘルプレイヤー --> <div class="helps" id="help-0"> 牛久大仏、高さ120m。 </div> * 緑文字が今回の関数 * 赤文字がこのスクリプトで最初に動作する部分
今回のサンプルはリンクに触ると半透明ヘルプが表示されるというもの  ですが、ちょっと手を抜いているのでページを開いた時にヘルプが  丸見えです(笑)。最初に隠しておきたい場合は、top,leftをマイナス  な位置へ表示するようにしておいて、必要なタイミングでmoveLAYER()  などを使い表示した居場所へ移動させるのが良いと思います。 (opacityはCSS2までには指定されていない暫定実装なので将来のCSS仕様によっては変更される場合もあり得ることに注意してください。変更等がわかればメルマガで連絡したいと思います。)


シリーズ目次 |



  • 印刷する
  • ブックマークする
  • 携帯に送る
  • ブログに書く

あわせて読みたい

この記事の担当ガイド

写真

高橋 登史朗

Javascriptをはじめ、Ajax、jQueryの著書多数のガイドが、何かと最近騒がれているJa…

続きを読む

住まいには、人の個性がよく現れるもの。同じ空間をどのように使うかで、雰囲気も、快適さも大きく変わってくる。ここでは、「建築家と家を建てる」ガイド の川畑博哉氏が厳選した10軒を紹介し、建築家それぞれのこだわりのポイントを紹介しよう。建築のプロたちが考え出した、マネしたくなるアイデアが満載! さぁ、いますぐチェック!

人気Javascriptランキング

Powered by 価格.com

デジタル関連コミュニティ

北欧好きが、愛用の北欧モノを見せ合うコミュニティ

メルマガ登録

【デジタルメルマガ】オトナのオトコなら知っておきたい、PCやデジモノに関する情報をお届けします。

ショッピングカタログ

All About ウェブマガジン

女性向け

雨が楽しくなる!レイングッズ15

男性向け

マネしたくなるアイデア住宅

All About モバイル

QRコード

All Aboutがケータイで読める!

オススメ記事をメールでチェック

知識・経験を生かして、記事を書いてみませんか?