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

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

    相关链接

  • 相关阅读:
    Debugging Kafka connect
    android O 蓝牙设备默认名称更改
    qualcomm sdm450 tinymix mic record
    QACT 在线调试 Android O
    Android O seLinux 编译错误
    Android seLinux 设置
    高通 fastboot 显示
    高通 双MIC 设置
    高通 添加 cmdline
    高通 mixer_paths.xml 音频配置文件 初始化过程
  • 原文地址:https://www.cnblogs.com/rubylouvre/p/1621262.html
Copyright © 2011-2022 走看看