2011-09-24 4 views
1

나는 좌우 90도 회전하여 연속적으로 이미지를 가지고 있는데, 멈추려 고하지만 나는 그걸 어떻게 알아낼 수 없어요.jQuery 루프 애니메이션을 중지하려면 어떻게해야합니까?

If 문에 함수를 넣으려고 했으므로 function = false; 또는 true을 호출 할 수는 있지만 작동하지 않습니다. 이것은 그것을 할 것입니다

$('.img').stop(true, true) 

답변

2

당신은

$("img").rotate({angle:0, callback:function(){ false; }}); 

거짓
+0

이것도 그렇게 할 것입니다. 나는이 대답을 내 것보다 더 좋아한다. – maxedison

+0

@maxedison 그래, 똑같아. 고마워. 둘 다. – jQuerybeast

0

당신은 JQuery와 정지 방법 (http://api.jquery.com/stop/)

을 사용할 수 있습니다

예 : 여기

는 바이올린입니다 언급 한 If 문을 사용하여 시도한 것이 확실하지 않은 이유는 그것이 귀하의 바이올린에 없기 때문이며, 아마도 귀하는 올바른 거래를하고있을 것입니다. ck.

rotate() 콜백 test() 내 :

function(){ 
     if(!$('img').hasClass('stop')){ 
      rotation() 
     }else{ 
      $('img').rotate({angle:0}); 
     } 
    } 

버튼 클릭 이벤트 : 여기에 내가 만든 주요 변경입니다

$(".btn").click(function(){ 
    $("img").addClass('stop'); 
}); 
+0

에 콜백 함수를 변경할 수는 - 1 : 이것은 작동하지 않습니다 : http://jsfiddle.net/gpPcU/15/ 그것이 작동하지 않는 이유는 .stop() stop 현재 실행중인 & 대기중인 애니메이션. 그러나 코드를 보면 콜백 함수가 본질적으로 끊임없이 새로운 애니메이션을 큐에 넣는 루프를 생성한다는 것을 알 수 있습니다. 따라서 .stop()은 현재 애니메이션을 멈추게합니다. 그러나 새로운 애니메이션은 그 후에 바로 대기열에 들어갑니다. 핵심은 콜백 루프를 깨는 것입니다. 내 대답과 같습니다. – maxedison

관련 문제