获取元素的宽高等属性值,解决兼容性——纯JS
描述:.style 只能获取行间属性。而getComputedStyle不兼容IE678,currentStyle不兼容除了IE外的其他浏览器。
解决办法:
function getStyle( obj, attr ){ return obj.currentStyle ? obj.currentStyle[attr] : getComputedStyle( obj )[attr]; }
封装后写法:
getStyle( oBtn,'marginRight' );
注意事项:
1、只能获取单一样式,不能获取复合样式。会有兼容性问题
复合样式例如:background,包含很多颜色背景图片等属性。改为单一样式,例如:backgroundColor
2、属性名marginRight 处不要手抖多打空格,否则会undefined
3、不要获取未设置的样式,比如marginRight没设置就不要获取,否则会不兼容,不同浏览器获取结果不同