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

(编辑:jimmy 日期: 2024/10/10 浏览:2)


   众多周知 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);

   各种等等。。。

一句话新闻

高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。