2011-01-05 3 views
2
$('#gallerie ul li:eq(1)').animate({opacity: 1}, 1250).remove(); //results in instand remove 
$('#gallerie ul li:eq(1)').delay(3000).remove(); //instant remove 
$('#gallerie ul li:eq(1)').remove().delay(3000); //that didnt work either 

개체를 즉시 제거하지 않고 3 초 후에 어떻게 제거 할 수 있습니까?3 지연 후 요소를 제거하는 방법?

답변

8
setTimeout(function(){ 
    $('#gallerie ul li:eq(1)').remove(); 
},3000); 
+0

당신은 날 죽이고 사람 - 멋진 이잖아 고마워 – Tomkay

+0

않을까요'에서는 setTimeout ($ ('# 한 텍스처의 UL 리! eq (1) '). 제거, 3 000)'도 괜찮습니까? 이것은 심각한 질문입니다. (파이썬에서는 작동하지만 파이썬은 JS가 아닙니다 ...). – delnan

+0

@delnan, 작동해야하지만 Manny의 사례는 이해하기 쉽고 따라야합니다. – Soviut

0

할 수있다 :이 방법에 대해

setTimeout(function(){ 
     $('#gallerie ul li:eq(1)').remove(); 
},3000); 
0

:

$('#gallerie ul li:eq(1)').animate({opacity: 1}, 1250,function(){ 
    $(this).remove(); 
}); 
2

delay 방법은 애니메이션에 사용됩니다, 그것은 지연 후 체인 그래서에만 애니메이션 방법. delay 메서드는 애니메이션 큐에 지연을 배치하고 코드 실행을 지연시키지 않습니다.

애니메이션 후에 요소를 제거하려면 콜백 메서드를 사용할 수 있습니다. 예 : 당신이 그것을 .delay 방법을 수행 할 경우

$('#gallerie ul li:eq(1)').fadeOut(3000, function() { 
    $(this).remove(); 
}); 
2

The manual page 말한다 (아주 명확하게, 실제로) :

"버전 1.4의 jQuery에 추가 된 .delay() 메서드를 사용하면 재미있는 실행을 지연시킬 수 있습니다. 대기열에서 그 뒤에 오는 ctions. 표준 효과 대기열 또는 사용자 정의 대기열과 함께 사용할 수 있습니다. 대기열의 후속 이벤트 만 지연됩니다. 예를 들어이 효과 큐를 사용하지 않는 .show() 또는 .hide()의 노 인수 양식을 지연하지 않습니다. "

remove()는 효과 큐를 사용하지 않습니다.

을 당신은 jQuery의 fadeOut(), hide()을 사용할 수 있습니다 .. .. 또는 도움이 원래 시도에 대한 완전한 동등 Javascript's basic setTimeout function.

희망으로

+0

중요한 단서 - 감사합니다. – Tomkay

+0

문제가 없습니다. 다행 이군. –

관련 문제