Javascript 如何旋转然后停止?

Javascript 如何旋转然后停止?,javascript,jquery,rotation,Javascript,Jquery,Rotation,我有一个div开始旋转,但我不知道如何使它以一定角度停止。目前所发生的一切就是它一直在继续。我的问题是如何让它以96度的角度停止 <script type="text/javascript"> $(function() { var $elie = $("#super"); rotate(1); function rotate(degree) { $elie.css({ WebkitTransform: 'rotate('

我有一个div开始旋转,但我不知道如何使它以一定角度停止。目前所发生的一切就是它一直在继续。我的问题是如何让它以96度的角度停止

<script type="text/javascript">
$(function() {
var $elie = $("#super");
rotate(1);
function rotate(degree) {        
    $elie.css({ WebkitTransform: 'rotate(' + degree + 'deg)'});  
    $elie.css({ '-moz-transform': 'rotate(' + degree + 'deg)'});                      
    timer = setTimeout(function() {
     rotate(++degree);
    },2);
}
});
</script>

$(函数(){
var$elie=$(“超级”);
旋转(1);
函数旋转(度){
$elie.css({webkitttransform:'rotate('+degree+'deg')});
$elie.css({'-moz transform':'rotate('+degree+'deg')});
计时器=设置超时(函数(){
旋转(++度);
},2);
}
});

要在96度时停止,请尝试以下操作:

if (degree < 96) {
    timer = setTimeout(function() {
        rotate(++degree);
    }, 2);
}
if(度<96){
计时器=设置超时(函数(){
旋转(++度);
}, 2);
}

试试这样的方法:

<script type="text/javascript">

var stopAtValue = 96;

$(function() {
var $elie = $("#super");
rotate(1);
function rotate(degree) {        
    $elie.css({ WebkitTransform: 'rotate(' + degree + 'deg)'});  
    $elie.css({ '-moz-transform': 'rotate(' + degree + 'deg)'});                      
    timer = setTimeout(function() {
    if(degree==stopAtValue) {
      // do nothing
    } else {
      rotate(++degree);
    },2);
}
});
</script>

var-stopAtValue=96;
$(函数(){
var$elie=$(“超级”);
旋转(1);
函数旋转(度){
$elie.css({webkitttransform:'rotate('+degree+'deg')});
$elie.css({'-moz transform':'rotate('+degree+'deg')});
计时器=设置超时(函数(){
如果(度==停止值){
//无所事事
}否则{
旋转(++度);
},2);
}
});

@ktamlyn好点a不打97-我已经解决了。至于以功能方式安装,我不知道你的意思是什么。打96后,
旋转
函数将不会再次调用,因此超时将不再被实例化。@AliBOOM没问题,很乐意帮助:)虽然这会起作用,但继续调用e
rotate
每两毫秒以相同的值运行一次。如果将计时器延迟设置为2(ms),则会降低性能。将其设置为16-40ms(25-60 fps)范围内的值。