关于样式获取的小细节--屏蔽单位及计算样式

以前写过一个移动的滑动事件,在改变样式的时候由于DOM.style.xxx获取到的内联样式是带单位的字符串,而获取计算样式的结果也是一样,故而我总是把单位先split掉再parseInt().今天偶然发现原来可以直接parseInt(返回的styleValue)。。。返回的结果是样式的数值,不带单位,方便直接计算/赋值

心里是日了狗狗的。。。。

下面附上以前收集在插件里的获取计算样式的方法,主要是兼容IE,这里先留下免得以后翻项目找。

1 (function(){
2   var CM={};
3   //more code
4   CM.getStyle=function(el,attr){
5 //获取el当前的attr样式,解决ie问题
6     return el.currentStyle?el.currentStyle[attr]:getComputedStyle(el,null)[attr];
7   };
8   module.exports=CM;
9 })()

*注意:getStyle方法里第二个参数是字符串形式,驼峰写法('marginLeft')和连字符写法('margin-left')都可以,返回值是个带样式单位的字符串。

posted @ 2017-08-25 14:48  瓶子2333  阅读(126)  评论(0编辑  收藏  举报