Javascript jquery旋转函数不工作

Javascript jquery旋转函数不工作,javascript,jquery,rotation,Javascript,Jquery,Rotation,嗨,伙计们,现在我正试图找出如何旋转一个div,并使它停在一个位置。我在这方面得到了一些帮助,但是我不确定我做错了什么。对代码的任何帮助都将是巨大的 <script type="text/javascript"> var $elie = $("#super"); rotate(1); function rotate(degree) { $elie.css({ WebkitTransform: 'rotate(' + degree + 'deg)' }); $elie.css

嗨,伙计们,现在我正试图找出如何旋转一个div,并使它停在一个位置。我在这方面得到了一些帮助,但是我不确定我做错了什么。对代码的任何帮助都将是巨大的

<script type="text/javascript">
var $elie = $("#super");
rotate(1);

function rotate(degree) {
$elie.css({
    WebkitTransform: 'rotate(' + degree + 'deg)'
});
$elie.css({
    '-moz-transform': 'rotate(' + degree + 'deg)'
});

if (degree < 1196) {
    timer = setTimeout(function() {
        rotate(++degree);
    }, 1);
}
}

var$elie=$(“超级”);
旋转(1);
函数旋转(度){
$elie.css({
WebKittTransform:'旋转('+度+'度)'
});
$elie.css({
'-moz变换':'旋转('+degree+'deg)'
});
如果(度<1196){
计时器=设置超时(函数(){
旋转(++度);
}, 1);
}
}

看起来它正在旋转并停止,但1196的值需要一段时间才能达到。这是一个关于发生了什么的小插曲

Html:

你好​ Javascript:

var $elie = $("#super");
rotate(1);

function rotate(degree) {
    $elie.css({
        '-ms-transform': 'rotate(' + degree + 'deg)',
        '-webkit-transform': 'rotate(' + degree + 'deg)',
        '-o-transform': 'rotate(' + degree + 'deg)',
        '-moz-transform': 'rotate(' + degree + 'deg)'
    });

    console.log(degree);
    if (degree < 360) {
        timer = setTimeout(function() {
            rotate(++degree);
        }, 1);
    }
}​
var$elie=$(“#super”);
旋转(1);
函数旋转(度){
$elie.css({
“-ms变换”:“旋转(“+度+”度)”,
“-webkit变换”:“旋转(“+degree+”deg)”,
“-o变换”:“旋转(“+度+”度)”,
'-moz变换':'旋转('+degree+'deg)'
});
控制台日志(度);
如果(度<360度){
计时器=设置超时(函数(){
旋转(++度);
}, 1);
}
}​

看起来它正在旋转并停止,但1196的值需要一段时间才能达到。这是一个关于发生了什么的小插曲

Html:

你好​ Javascript:

var $elie = $("#super");
rotate(1);

function rotate(degree) {
    $elie.css({
        '-ms-transform': 'rotate(' + degree + 'deg)',
        '-webkit-transform': 'rotate(' + degree + 'deg)',
        '-o-transform': 'rotate(' + degree + 'deg)',
        '-moz-transform': 'rotate(' + degree + 'deg)'
    });

    console.log(degree);
    if (degree < 360) {
        timer = setTimeout(function() {
            rotate(++degree);
        }, 1);
    }
}​
var$elie=$(“#super”);
旋转(1);
函数旋转(度){
$elie.css({
“-ms变换”:“旋转(“+度+”度)”,
“-webkit变换”:“旋转(“+degree+”deg)”,
“-o变换”:“旋转(“+度+”度)”,
'-moz变换':'旋转('+degree+'deg)'
});
控制台日志(度);
如果(度<360度){
计时器=设置超时(函数(){
旋转(++度);
}, 1);
}
}​

这是一个可重用的版本,我正在使用它。希望它能帮助你

$(function () {

    var rotateAnimation = function (props) {
        // init animation props
        var rotateEl = props.el,
            curAngle = props.startAngle,
            endAngle = props.endAngle;
        // scope angle to parent function
        var angleValue = 'rotate(' + curAngle + 'deg)';

        // define worker function
        var rotate = function () {
            // increment the angle
            curAngle += props.increment;

            // see if we are done animating
            if (curAngle >= endAngle) {
                curAngle = endAngle;
                clearInterval(timer);//stop looping

            }
            // create css value 
            angleValue = 'rotate(' + curAngle + 'deg)';
            rotateEl.css({
                '-moz-transform': angleValue,
                '-webkit-transform': angleValue,
                '-o-transform': angleValue,
                '-ms-transform':angleValue
            });
        };

        var timer = setInterval(rotate, props.delay);//let the fun begin
    };

    $('#super').on('click', function () {
        rotateAnimation({
            el: $(this),
            startAngle: 0,
            endAngle: 1234,
            delay: 1,
            increment: 3
        });
    });

});

这是一个可重用的版本,我得到了工作。希望它能帮助你

$(function () {

    var rotateAnimation = function (props) {
        // init animation props
        var rotateEl = props.el,
            curAngle = props.startAngle,
            endAngle = props.endAngle;
        // scope angle to parent function
        var angleValue = 'rotate(' + curAngle + 'deg)';

        // define worker function
        var rotate = function () {
            // increment the angle
            curAngle += props.increment;

            // see if we are done animating
            if (curAngle >= endAngle) {
                curAngle = endAngle;
                clearInterval(timer);//stop looping

            }
            // create css value 
            angleValue = 'rotate(' + curAngle + 'deg)';
            rotateEl.css({
                '-moz-transform': angleValue,
                '-webkit-transform': angleValue,
                '-o-transform': angleValue,
                '-ms-transform':angleValue
            });
        };

        var timer = setInterval(rotate, props.delay);//let the fun begin
    };

    $('#super').on('click', function () {
        rotateAnimation({
            el: $(this),
            startAngle: 0,
            endAngle: 1234,
            delay: 1,
            increment: 3
        });
    });

});


您没有分配给未固定版本吗?IE、Firefox和Opera使用的是非固定版本。我不明白。。抱歉,我不是jquery的最佳版本该CSS属性的非固定版本是
transform
。也许如果你给我举个例子,我可以试一下,看看你的意思是什么,你没有分配给非固定版本?IE、Firefox和Opera使用的是非固定版本。我不明白。。抱歉,我不是jquery的最佳版本该CSS属性的非固定版本是
transform
。也许如果你给我举个例子,我可以试一下,看看你的意思是什么,但仍然不起作用。我能问一下我需要用什么库来使用这个函数吗?你没有看到div正在旋转吗?现在试试看。。。我添加了一个背景色以使其清晰。我得到的div甚至没有旋转它们。这就是问题所在你看过我在答案中的链接了吗?对于库,您需要包含jquery。您使用的浏览器是什么?仍然无法工作。我能问一下我需要用什么库来使用这个函数吗?你没有看到div正在旋转吗?现在试试看。。。我添加了一个背景色以使其清晰。我得到的div甚至没有旋转它们。这就是问题所在你看过我在答案中的链接了吗?对于库,您需要包含jquery。您使用的浏览器是什么?