得到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

相关文章
相关标签/搜索