5 초 동안 jQuery 표시 후 숨기기


145

.show양식을 제출 한 후 숨겨진 메시지를 표시하는 데 사용 하고 있습니다.

5 초 동안 메시지를 표시 한 다음 숨기는 방법?

답변:


351

다음 .delay()과 같이 애니메이션 전에 사용할 수 있습니다 .

$("#myElem").show().delay(5000).fadeOut();

애니메이션이 아닌 경우 다음 setTimeout()과 같이 직접 사용 하십시오.

$("#myElem").show();
setTimeout(function() { $("#myElem").hide(); }, 5000);

지속 시간없이 .hide()애니메이션 ( fx) 대기열 에 있지 않기 때문에 두 번째 작업은 즉석 효과 일뿐입니다.

또는 다른 옵션은 다음 .delay().queue()같이 자신 을 사용하는 것입니다.

$("#myElem").show().delay(5000).queue(function(n) {
  $(this).hide(); n();
});

1
제안 2는 확인 표시 아이콘을 표시하고 hide () 대신 fadeOut ()을 사용하여 완벽하게 작동했습니다. 좋은 대답입니다.
Kevin Zych

2
@wilsjd 아니요 , 요소 .delay()와 함께 작동하지 않으며 .hide()즉시 숨겨집니다. 이것이 jsFiddle을 참조하십시오. Nick이 "애니메이션이 아닌 경우 다음과 같이 setTimeout ()을 직접 사용하십시오 ...."라고 언급 한 이유입니다.
Wesley Smith

흠, 나는 그것이 2 년 전에 일했던 적이 있는지 궁금합니다. 그래도 좋은 발견. 정직하게 해주셔서 감사합니다.
wilsjd

나는 또한이 구현하지만 5 초 이내에 두 번 MSG를 표시 할 때 처음이 아니 리셋 지연을 수행하는 동안 다음은, 이전과 재 공연을 숨겨야합니다
alamnaryab

18

아래 효과를 사용하여 애니메이션을 적용하고 요구 사항에 따라 값을 변경할 수 있습니다

$("#myElem").fadeIn('slow').animate({opacity: 1.0}, 1500).effect("pulsate", { times: 2 }, 800).fadeOut('slow'); 

1
$ (...). fadeIn (...). animate (...). effect는 JQuery 2.1.3의 함수가 아닙니다.
Dustin Charles

@DustinCharles jQuery뿐만 아니라 jQueryUI를 추가하십시오. jQuery는 effect () 함수를 포함하지 않습니다. code.jquery.com/ui/1.12.0/jquery-ui.min.js
Rahul

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.