Javascript 如何旋转然后停止?
我有一个div开始旋转,但我不知道如何使它以一定角度停止。目前所发生的一切就是它一直在继续。我的问题是如何让它以96度的角度停止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('
<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没问题,很乐意帮助:)虽然这会起作用,但继续调用erotate
每两毫秒以相同的值运行一次。如果将计时器延迟设置为2(ms),则会降低性能。将其设置为16-40ms(25-60 fps)范围内的值。