문제

몇 초의 지연 후 요소와 모든 어린이 요소를 사라지고 싶습니다. 그러나 지정된 시간 지연 후에 효과가 시작되어야한다는 것을 명시 할 방법을 찾지 못했습니다.

도움이 되었습니까?

해결책

setTimeout(function() { $('#foo').fadeOut(); }, 5000);

5000은 밀리 초에서 5 초입니다.

다른 팁

방금 쓴이 일시 중지 플러그인을 사용합니다

$.fn.pause = function(duration) {
    $(this).animate({ dummy: 1 }, duration);
    return this;
};

다음과 같이 부릅니다.

$("#mainImage").pause(5000).fadeOut();

참고 : 콜백이 필요하지 않습니다.


편집 : 이제 사용해야합니다 jQuery 1.4. 지연 () 내장 방법. 나는 확인하지 않았지만 플러그인보다 더 '영리한'것으로 가정합니다.

이전에는 이런 일을 할 것입니다

$('#foo').animate({opacity: 1},1000).fadeOut('slow');

첫 번째 애니메이션은 이미 요소에 불투명도 1을 가지고 있기 때문에 아무것도하지 않지만 시간 동안 일시 중지됩니다.

jQuery 1.4에서, 그들은 이것을 프레임 워크에 구축하므로 위와 같이 핵을 사용할 필요가 없습니다.

$('#foo').delay(1000).fadeOut('slow');

기능은 원본과 동일합니다 jQuery.delay() 플러그인 http://www.evanbot.com/article/jquery-delay-plugin/4

가장 좋은 방법은 jQuery 지연 방법을 사용하는 것입니다.

$ ( '#my_id'). Delay (2000) .fadeout (2000);

Fadeto () 메소드를 사용하여 Settimeout을 사용하지 않고 5 초 지연을 설정하지 않을 수 있습니다.

$("#hideAfterFiveSeconds").click(function(){
  $(this).fadeTo(5000,1,function(){
    $(this).fadeOut("slow");
  });
});

체인에 지연을 추가 할 수 있도록 플러그인을 작성했습니다.

예를 들어 $ ( '#div'). fadeout (). 지연 (5000) .fadein (); // 요소가 페이드 아웃, 5 초를 기다렸다가 페이드 요소를 다시 들어냅니다.

애니메이션 해킹이나 과도한 콜백 체인을 사용하지 않고 간단한 깨끗한 짧은 코드 만 사용하지 않습니다.

http://blindsignals.com/index.php/2009/07/jquery-delay/

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top