得到obj樣式:支持width, opacity,兼容IE8 ff chrome


<html>
  <head>
    <title></title>
<style>
#div1{width:100px; height:120px; position:absolute; top:20px; left:100px; 
	background:red; color:white;
	opacity:0.2;
	filter:alpha(opacity=20);
}
</style>
  </head>
  <body>
  
  <div id=div1>div1</div>
  
  
    <script>
  /********************************
*獲取非行間樣式 ok
********************************
*用js的style屬性能夠得到html標籤的樣式,可是不能獲取非行間樣式。
*那麼怎麼用js獲取css的非行間樣式呢?
*在IE下能夠用currentStyle,而在火狐下面咱們須要用到getComputed
*已經對透明度作單獨處理,兼容IE8 ff chrome。
*/
function getStyle3(obj_, attr){
        var obj = typeof obj == 'string' ? document.getElementById(obj_) :
obj_;//防止傳入的是ID,加強健壯性;
        
        var _value=obj.currentStyle? obj.currentStyle[attr] :  //for IE only
                getComputedStyle(obj, false)[attr] ;    //for ff/chrome only
        if (attr != 'opacity' ){//全部透明度都是[0, 100]
                return _value;
        }else{
                return _value*100;
        }
}
  
  var o = document.getElementById('div1');
  alert(  	getStyle3(o, 'opacity')	);  
</script>
  </body>
</html>




---- css

相關文章
相關標籤/搜索