zoukankan      html  css  js  c++  java
  • 透明度设置

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

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

    相关链接

  • 相关阅读:
    Windows Driver Mode 1
    一个程序员的奋斗经历 2
    JavaScript判断文件是否存在
    流程图个图标详解
    wget for windows
    软件的开发周期
    Firefox支持activex的插件
    第二次作业
    C/C++字符串使用整理
    c#学习小记录(1)
  • 原文地址:https://www.cnblogs.com/rubylouvre/p/1621262.html
Copyright © 2011-2022 走看看