Odpowiedzi:
Możesz użyć .delay()
przed animacją, na przykład:
$("#myElem").show().delay(5000).fadeOut();
Jeśli to nie jest animacja, użyj setTimeout()
bezpośrednio, na przykład:
$("#myElem").show();
setTimeout(function() { $("#myElem").hide(); }, 5000);
Robisz drugą, ponieważ .hide()
normalnie nie byłoby w animacji (fx
kolejce ) bez czasu trwania, to tylko natychmiastowy efekt.
Lub inną opcją jest użycie .delay()
i .queue()
siebie, na przykład:
$("#myElem").show().delay(5000).queue(function(n) {
$(this).hide(); n();
});
.delay()
będzie działać z .hide()
elementem zostanie wyświetlony, a następnie natychmiast ukryty. Zobacz to jsFiddle, dlatego Nick powiedział: „Jeśli to nie jest animacja, użyj bezpośrednio setTimeout (), na przykład: ....”
Możesz użyć poniższego efektu do animacji, możesz zmienić wartości zgodnie ze swoimi wymaganiami
$("#myElem").fadeIn('slow').animate({opacity: 1.0}, 1500).effect("pulsate", { times: 2 }, 800).fadeOut('slow');
Tak proste, jak to:
$("#myElem").show("slow").delay(5000).hide("slow");