zoukankan      html  css  js  c++  java
  • 获取对象样式属性函数getStyle()

    function getStyle(elem, styleName){  
        if(elem.style[styleName]){ //获取内联样式  
            return elem.style[styleName];  
        }  
        else if(elem.currentStyle){ //IE特有的属性  
            return elem.currentStyle[styleName];  
        }  
        else if(window.getComputedStyle){ //DOM标准属性  
            return window.getComputedStyle(elem, null)[styleName];  
        }  
        else{   
            return null;  
        }  
    }  
    

      

    考虑到函数中有重复工作的部分,优化一下:

    function getStyle(elem, styleName){  
        if(elem.currentStyle) {  
            getStyle = function(elem, styleName) {  
                if(elem.style[styleName]){   
                    return elem.style[styleName];    
                } else {  
                     return elem.currentStyle[styleName];  
                }  
            }  
        } else if(window.getComputedStyle) {  
            getStyle = function(elem, styleName) {  
                if(elem.style[styleName]){  
                    return elem.style[styleName];  
                } else {  
                    return window.getComputedStyle(elem, null)[styleName];    
                }  
            }  
        } else {  
            getStyle = function(elem, styleName) {  
                return elem.style[styleName];  
            }  
        }  
        return getStyle(elem, styleName);  
    }  
    

      

    代码貌似有点长了,再优化一下:

    function getStyle(elem, styleName){  
        if(elem.currentStyle) {  
            getStyle = function(elem, styleName) {  
                return elem.style[styleName] ? elem.style[styleName] : elem.currentStyle[styleName];  
            }  
        } else if(window.getComputedStyle) {  
            getStyle = function(elem, styleName) {  
                return elem.style[styleName] ? elem.style[styleName] : window.getComputedStyle(elem, null)[styleName];  
            }  
        } else {  
            getStyle = function(elem, styleName) {  
                return elem.style[styleName];  
            }  
        }  
        return getStyle(elem, styleName);  
    }  
    

    不作多余代码解释了,网上搜下一大堆。

     

     

  • 相关阅读:
    iisexpress应用讲解
    Flex document文档 下载网址:
    HDU1407 测试你是否和LTC水平一样高
    HDU1715 大菲波数 Java
    HDU1573 大明A+B Java
    HDU1063 Exponentiation Java
    HDU1754 I Hate It 线段树 链式
    HDU2054 A == B? Java
    HDU1166 敌兵布阵 不完全线段树
    HDU1698 Just a Hook 线段树 Lazy思想
  • 原文地址:https://www.cnblogs.com/maplejan/p/2774144.html
Copyright © 2011-2022 走看看