jQuery recolher grau de rotação do elemento

by Salustiano Silva

HTML

<div id="bubu"></div>
<p></p>

CSS

div{
    width:100px;
    height:50px;
    background:gray;
    -webkit-transform:rotate(35deg);
    -moz-transform:rotate(35deg);
    -ms-transform:rotate(35deg);
    -o-transform:rotate(35deg);
    transform:rotate(35deg);
}

JavaScript

function rotacaoEmGraus(obj) {
    var matrix = obj.css("-webkit-transform") ||
    obj.css("-moz-transform")    ||
    obj.css("-ms-transform")     ||
    obj.css("-o-transform")      ||
    obj.css("transform");

    var angle = 0;

    if (matrix !== 'none') {
        var values = matrix.split('(')[1].split(')')[0].split(','),
            angle = Math.round(Math.atan2(values[1], values[0]) * (180/Math.PI));
    }

    return (angle < 0) ? angle +=360 : angle;
}

$('p').html(rotacaoEmGraus($('#bubu')));