获取元素-moz-transform:在jQuery中旋转值 [英] Get element -moz-transform:rotate value in jQuery

查看:258
本文介绍了获取元素-moz-transform:在jQuery中旋转值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个CSS样式的图层:

  .element {
-webkit-transform:rotate deg);
-moz-transform:rotate(7.5deg);
-ms-transform:rotate(7.5deg);
-o-transform:rotate(7.5deg);
transform:rotate(7.5deg);有没有办法通过jQuery得到curent旋转值?

有没有办法通过jQuery获取curent旋转值?



我试过这个

  $('。element')。css moz-transform)

结果是 matrix(0.991445,0.130526, 0.130526,0.991445,0px,0px)这不告诉我很多。我想要得到的是 7.5

解决方案



这会返回与应用到任何HTML元素的旋转对应的数值。

  function getRotationDegrees(obj){
var matrix = obj.css( - webkit-transform)||
obj.css( - moz-transform)||
obj.css( - ms-transform)||
obj.css( - o-transform)||
obj.css(transform);
if(matrix!=='none'){
var values = matrix.split('(')[1] .split(')')[0] .split ;
var a = values [0];
var b = values [1];
var angle = Math.round(Math.atan2(b,a)*(180 / Math.PI));
} else {var angle = 0; }
return(angle< 0)? angle + 360:angle;
}

angle1 = getRotationDegrees($('#myDiv'));
angle2 = getRotationDegrees($('。mySpan a:last-child'));

等...


I have CSS style for a layer:

.element {
    -webkit-transform: rotate(7.5deg);    
     -moz-transform: rotate(7.5deg);    
      -ms-transform: rotate(7.5deg);    
       -o-transform: rotate(7.5deg);   
          transform: rotate(7.5deg);
}

Is there a way to get curent rotation value through jQuery?

I tried this

$('.element').css("-moz-transform")

The result is matrix(0.991445, 0.130526, -0.130526, 0.991445, 0px, 0px) which doesn't tell me a lot. What I'm looking to get is 7.5.

解决方案

Here's my solution using jQuery.

This returns a numerical value corresponding to the rotation applied to any HTML element.

function getRotationDegrees(obj) {
    var matrix = obj.css("-webkit-transform") ||
    obj.css("-moz-transform")    ||
    obj.css("-ms-transform")     ||
    obj.css("-o-transform")      ||
    obj.css("transform");
    if(matrix !== 'none') {
        var values = matrix.split('(')[1].split(')')[0].split(',');
        var a = values[0];
        var b = values[1];
        var angle = Math.round(Math.atan2(b, a) * (180/Math.PI));
    } else { var angle = 0; }
    return (angle < 0) ? angle + 360 : angle;
}

angle1 = getRotationDegrees($('#myDiv'));
angle2 = getRotationDegrees($('.mySpan a:last-child'));

etc...

这篇关于获取元素-moz-transform:在jQuery中旋转值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆