透明度设置

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

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; 
}

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

 

 

标签:透明度,透明,ie
0
投稿

猜你喜欢

  • 操作mysql数据库的类

    2010-03-13 12:53:00
  • 使用IP地址来统计在线人数方法

    2007-08-13 12:51:00
  • Oracle学习笔记(五)

    2012-01-05 18:52:30
  • Oracle的数据字典技术简析

    2010-07-20 13:03:00
  • 什么是XSL?

    2007-11-05 19:47:00
  • 盖座漂亮的“楼”–浅谈网页设计中的构图

    2010-09-10 12:44:00
  • 仿迅雷焦点广告效果(JQuery版)

    2009-08-03 14:18:00
  • 再谈“字符串拼接”的效率

    2009-04-30 12:48:00
  • (X)HTML中最多余的元素标签

    2008-06-15 15:48:00
  • YUI Grids CSS 解读

    2008-05-28 12:49:00
  • ASP.NET 2.0防止同一用户同时登录

    2007-10-03 14:30:00
  • Oracle 8i在P4上的安装

    2010-07-31 13:19:00
  • 用css+Javascript实现扫描线效果图片

    2007-11-08 19:12:00
  • 一个CSS图片切换效果代码

    2008-02-12 12:17:00
  • mysql 重启方法(初学者)

    2010-12-03 16:40:00
  • asp如何让用户也能修改密码?

    2010-05-13 16:41:00
  • 2008年个性设计挂历参考

    2007-12-29 20:30:00
  • 作为Web开发人员,我为什么喜欢Google Chrome浏览器

    2011-08-29 15:37:47
  • 内容页页码的预览导航

    2008-07-07 16:43:00
  • 用ASP实现远程批量文件改名

    2007-09-12 12:23:00
  • asp之家 网络编程 m.aspxhome.com