js 获取和设置css3 属性值的实现方法

众多周知 CSS3 增加了很多属性,在读写的时候就没有原先那么方便了。

如:<div style="left:100px"></div>

只考虑行间样式的话,只需 div.style.left 就可获取,设置的时候也只需要 div.style.left='100px' 即可。很简单。

但是css3来了

如:<div style="-webkit-transform: translate(20px,-20px)"></div>

怎么搞?被吓住了。。。

设置的时候很简单:div.style.webkitTransform='translate(20px,-20px)' 遵循驼峰式的写法即可。

获取的时候:
div.style. webkitTransform 的值为字符串 ‘translate(20px,-20px) '
如何获取想要的X、Y值呢?搜索半天没有找到简单办法。只能字符串截取,或者正则匹配来获得了。

写一个正则表达式 获取想要的 20和-20

reg=/\-?[0-9]+/g 匹配负号和数字
reg2=/\-?[0-9]+\.?[0-9]*/g 可能包含小数点的

然后来match搜索一下
div.webkitTransform.match(reg) //结果 [20,-20]

就会返回一个包含X值和Y值的数组了。

同理:

-webkit-transform: skew(20deg,-50deg);/ skew(相对x轴倾斜,相对y轴倾斜)/

-webkit-transform: matrix(1,0.4,0,1,0,0);

各种等等。。。

    原文作者:CodeMan
    原文地址: https://segmentfault.com/a/1190000008790986
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞