如何获取对象JQuery / CSS的旋转值

时间:2014-03-01 18:12:42

标签: jquery css image rotation

我有一个基于YOffset旋转和来回图像的代码。但是,我想知道如何获得我的图像旋转的度数,并将其用作我的if语句。

代码:

<script type="text/javascript">
    $(function() {
        var sdegree = 0; 
        $(window).scroll(function() {
            sdegree = ( window.pageYOffset > 1000 ) ? sdegree + 4 : sdegree - 4;
            var srotate = "rotate(" + sdegree + "deg)";
            $(".plane").css({
            transform : srotate
        });
      });
    });   
</script>

我想要的是什么:

<script type="text/javascript">
    $(function() {
        var sdegree = 0; 
        $(window).scroll(function() {
            sdegree = ( //INSERT DEGREES that .plane has been rotated > 30deg )// ? sdegree + 4 : sdegree - 4;
            var srotate = "rotate(" + sdegree + "deg)";
            $(".plane").css({
                transform : srotate
            });
        });
    });   
</script>

1 个答案:

答案 0 :(得分:0)

我实际上最近也必须得到一个元素的旋转度。我的方法与此类似:

function calculateAngle(element) {
    var tr = (window.getComputedStyle(element, null)).getPropertyValue("-webkit-transform"),
        values = tr.split("(")[1],
        values = values.split(")")[0],
        values = values.split(","),
        a = values[0],
        b = values[1],
        c = values[2],
        d = values[3],
        radians = Math.atan2(b, a);
    if (radians < 0) {
        radians += (2 * Math.PI);
    }
    return Math.round(radians * (180 / Math.PI));
}

var element = document.getElementById("rotate");
calculateAngle(element);

Example

然后,您可以根据角度使用所需的if语句。