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);
各种等等。。。
本文转载于猿2048:js 获取和设置css3 属性值的实现方法