网络编程
位置:首页>> 网络编程>> JavaScript>> 透明度设置

透明度设置

 来源:Ruby's Louvre 发布时间:2009-12-12 18:51:00 

标签:透明度,透明,ie

IE在处理透明度上真够恶心,而且在IE7必须让元素的hasLayout为ture,要不会失效。以下是我最新处理透明度的代码:

var getIEOpacity = function(el){ 
var op = 1; 
//这是最快的获取IE透明值的方式,不用正则来处理字符串了! 
if(el.filters.alpha){ 
op = el.filters.alpha.opacity; 

}else if(el.filters["DXImageTransform.Microsoft.Alpha"]){ 
        
op = el.filters["DXImageTransform.Microsoft.Alpha"].opacity 
   


return op  ? op /100 :op//如果是零就不用除100了 
}; 
var setIEOpacity = function(el,value){ 
 if(!el.currentStyle.hasLayout){ 
    
el.style.zoom = 1;//让元素获得hasLayout 



if(el.filters.alpha){ 
       
//必须已经定义过透明滤镜才能使用以下便捷方式 
        
el.filters.alpha.opacity = value * 100; 
  
}else{ 
       
el.style.filter = "alpha(opacity="+value *100+")"; 
   

    
return el; 
}; 
var clearOpacity = function(el){ 
   
if(el.filters.alpha){//处理IE 
       
el.filters.alpha = null; 
    
}else if(el.filters["DXImageTransform.Microsoft.Alpha"]){//处理IE 
       
el.filters["DXImageTransform.Microsoft.Alpha"] = null; 
   
}else{//处理标准游览器 
        
el.style.opacity = ''
   

    
return el; 
}

如果你有更好的方法,请不吝赐教!

 

 

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com