2011-01-26 4 views

답변

38

콜백을 사용

$('somediv').fadeOut(function() { $(this).remove(); }); 

당신이 애니메이션이 완료 될 때까지 실행되지 않습니다 fadeOut()(docs)에 전달하는 콜백 함수의 코드.

예 :http://jsfiddle.net/p2LWE/

이 대안이 queue()(docs)remove()(docs)하는 것입니다,하지만 난 콜백 더 나은 생각합니다.

$('somediv').fadeOut() 
      .queue(function(nxt) { 
       $(this).remove(); 
       nxt(); 
      }); 
+0

하고 "제거"를위한 "느린"매개 변수를 추가? – armen

+2

@armen : $ ('somediv'). fadeOut ('slow', function() {$ this .remove();}); – Merijn

1

jQuery 체인을 사용하면 시간 기반 구성 요소가있는 경우 체인의 한 부분이 다른 부분을 종료 할 때까지 기다리지 않습니다. 그래서 다른 일이 끝나면 어떤 일이 일어나기를 원하면 콜백을 사용해야합니다. 이 경우 fadeOut()에 매개 변수를 지정하여 완료되면 실행할 함수를 호출합니다. 그래서 같이 :

$('#somediv').fadeOut(function(){ $(this).remove(); })};

그래서이 fadeOut()이 완료되면 (그리고 당신이 그 얼마나 걸릴지, 두 밀리 초 또는 '빠른', '정상'또는 '느린'지시 선도적 인 매개 변수를 추가 할 수 있습니다), 그것은 remove()을 수행하는 함수를 호출 할 것입니다. 여기

9

간단한 방법입니다,

$('#somediv').fadeOut(300,function(){ $(this).remove(); })}; 

또는

$('#somediv').fadeOut("slow",function(){ $(this).remove(); })}; 
관련 문제