2012-12-24 4 views
0

나는 그림을 회전시키고 회전의 새로운 각도를 저장하기 위해 Jquery Rotate Plugin을 사용하고 있습니다. 누군가가이 그림의 회전을 다시 시작하면 같은 각도에서 다시 시작하고 싶지만 원점에서 회전을 멈추고 회전시킬 때처럼 반복하지 않습니다. 당신의 도움 :)각도에서 회전 다시 시작

var anglestop = 0; 
$('.rotate').click(function() { 
    var rotation = function(){ 

    $('#image').rotate({ 
     angle:anglestop,   
     animateTo:360, 
     duration: 3000, 
     callback: rotation, 
     easing: function (x,t,b,c,d){ 
     return c*(t/d)+b;  
    }, 
     bind: { 
     click: function(){ 
      $(this).stopRotate(); 
      anglestop=$(this).getRotateAngle(); 
     }} 
    }); 
    } 

    rotation(); 
}); 

답변

0

확인이 아웃에 대한

Thannks : 여기

var anglestop = 0; 
var rotating = false; 

function toggleRotate(event) { 
    if (event && event.type == "click") { 
     if (rotating) { 
      $(this).stopRotate(); 
      anglestop = $(this).getRotateAngle(); 
      rotating = false; 
      return; 
     } 
    } else { 
     anglestop = 0; 
    }   

    $(this).rotate({ 
     angle:anglestop,   
     animateTo:360, 
     duration: 3000 * (360 - anglestop)/360, 
     easing: function (x,t,b,c,d){ 
     return c*(t/d)+b;  
     }, 
     callback: toggleRotate 
    }); 
    rotating = true; 
} 

$("#image").click(toggleRotate); 

working example입니다.

+0

예를 들어 내 코드와 동일한 문제가 있습니다. 회전을 다시 시작하면 원래 각도로 "google"이 멈추고 처음에는 루프가 발생하지 않습니다. ( – slig36

+0

코드를 업데이트하여 작동하게 만들었습니다. 이벤트 처리기가 여러 번 바인드되고 회전 할 때 Anglestop이 다시 시작되면 Anglestop은 이전 정류장에서 나온 것이므로 시간은 Anglestop에 비례해야만 동일한 속도를 유지할 수 있습니다. –