通过js获取元素css3的transform rotate旋转角度方法
2017-04-07 16:32
1016 查看
我们再试用jquery获取样式的时候是通过$('domName').css('transform');的方式来获取元素的css样式,但是通过它获取到的css3的transform属性是以矩阵的方式呈现的:matrix(a,b,c,d,e,f);这样的返回值并不是我们想要的结果。
我们要想获取真正的旋转角度值就需要通过一系列的处理来过去,具体方法是:
ViewCode
这个方法是国外的牛人写的,记录下来。
我们要想获取真正的旋转角度值就需要通过一系列的处理来过去,具体方法是:
<!DOCTYPEhtml> <htmllang="en"> <head> <metacharset="UTF-8"> <title>Document</title> </head> <style> #divTransform{ margin:30px; width:200px; height:100px; background-color:yellow; /*Rotatediv*/ transform:rotate(9deg); -ms-transform:rotate(9deg); /*InternetExplorer*/ -moz-transform:rotate(9deg); /*Firefox*/ -webkit-transform:rotate(9deg); /*Safari和Chrome*/ -o-transform:rotate(9deg); /*Opera*/ } </style> <body> <divid="divTransform"> </div> </body> <script> varel=document.getElementById("divTransform"); varst=window.getComputedStyle(el,null); vartr=st.getPropertyValue("-webkit-transform")|| st.getPropertyValue("-moz-transform")|| st.getPropertyValue("-ms-transform")|| st.getPropertyValue("-o-transform")|| st.getPropertyValue("transform")|| "FAIL"; //Withrotate(30deg)... //matrix(0.866025,0.5,-0.5,0.866025,0px,0px) console.log('Matrix:'+tr); //rotationmatrix-http://en.wikipedia.org/wiki/Rotation_matrixvarvalues=tr.split('(')[1].split(')')[0].split(','); vara=values[0]; varb=values[1]; varc=values[2]; vard=values[3]; varscale=Math.sqrt(a*a+b*b); console.log('Scale:'+scale); //arcsin,convertfromradianstodegrees,round varsin=b/scale; //nextlineworksfor30degbutnot130deg(returns50); //varangle=Math.round(Math.asin(sin)*(180/Math.PI)); varangle=Math.round(Math.atan2(b,a)*(180/Math.PI)); console.log('Rotate:'+angle+'deg'); </script> </html>
ViewCode
这个方法是国外的牛人写的,记录下来。
相关文章推荐
- 如何通过js获取到CSS3里面transform rotate旋转角度的度数,matrix解析
- 如何通过js获取到CSS3里面transform rotate旋转角度的度数,matrix解析
- 通过js或jQuery,<iframe>子父窗口之间元素、方法、window的相互获取
- CGAffineTransform 获取 旋转的弧度 和 角度 的方法
- JS利用CSS3 transform rotate 实现旋转转盘或背景(大转盘抽奖)
- transform:rotate()将元素进行不同角度的旋转
- js通过classname来获取元素的方法
- JS原生通过id,class,tagname 来获取元素的方法
- 获取transform值 x y z及rotate旋转角度
- js通过class获取元素的方法
- js 获取class的元素的方法 以及创建方法getElementsByClassName
- js中获取指定ID元素方法和指定类型元素的方法
- CSS3 transform rotate(旋转)锯齿的解决办法
- js和jquery获取父级元素、子级元素、兄弟元素的方法
- Js 获取HTML DOM节点元素的几种方法
- JS获取并操作iframe中元素的方法
- js中获取页面元素方法总结
- javascript 通过class来获取元素方法
- js querySelector和getElementById通过id获取元素的区别
- 通过js来获取包含中文字符的字符串的长度的方法