WEB开发网
开发学院网页设计JavaScript JS 获取最终样式 【getStyle】 阅读

JS 获取最终样式 【getStyle】

 2010-03-31 00:00:00 来源:WEB开发网   
核心提示: 先回顾下基础style标准的样式!可能是由style属性指定的!runtimeStyle运行时的样式!如果与style的属性重叠,将覆盖style的属性!currentStyle指style和runtimeStyle的结合!style 内联的样式 currentStyle 代表了在全局样式表、内

先回顾下基础

style          标准的样式!可能是由style属性指定的!

runtimeStyle   运行时的样式!如果与style的属性重叠,将覆盖style的属性!

currentStyle   指 style 和 runtimeStyle 的结合!

style 内联的样式

currentStyle 代表了在全局样式表、内嵌样式和 HTML 标签属性中指定的对象格式和样式

runtimeStyle  代表了居于全局样式表、内嵌样式和 HTML 标签属性指定的格式和样式之上的对象的格式和样式

(FF中没有currentStyle 和runtimeStyle)

getStyle(元素id,获取属性);

获取元素style标签内的样式

elem.style[styles] || elem.style[styles.camelize()]

支持传入"font-size"的写法

但这并不是最终的样式 .

获取最终样式 有两终办法 一个是

document.defaultView.getComputedStyle //w3c的方法

还有就是通过 elem.currentStyle["..."] //ie下的方法

currentStyle  方法 需要将带"-"字符的属性 需要通过String.prototype.camelize转换成ie可识别的属性

 if(value=="auto" && ["width","height"].contains(styles) && elem.style.display!="none"){
            value=elem["offset"+styles.capitalize()]+"px";
  }

当 css中定义 元素的宽度为 auto时,并不能获取元素的最终宽度是多少,我们可以用 offsetWidth 和 offsetHeight 获取实际值

当然前提是要在元素为"可见"的状态下!

 try {
        value = elem.filters['DXImageTransform.Microsoft.Alpha'].opacity;
        value =value/100;
 }catch(e) {
       try {
             value = elem.filters('alpha').opacity;
       } catch(err){}
  }

这是获取透明度的方法,ie中定义透明度和其他浏览器不同.需把通过滤镜得到的opacity值/100。返回标准的opacity值(范围0-1);

上一页  1 2 

Tags:JS 获取 最终

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接