Respuestas:
Puede usar .delay()
antes de una animación, así:
$("#myElem").show().delay(5000).fadeOut();
Si no es una animación, úsela setTimeout()
directamente, así:
$("#myElem").show();
setTimeout(function() { $("#myElem").hide(); }, 5000);
Haces lo segundo porque .hide()
normalmente no estaría en la fx
cola de animación ( ) sin una duración, es solo un efecto instantáneo.
O, otra opción es usar .delay()
y .queue()
usted mismo, así:
$("#myElem").show().delay(5000).queue(function(n) {
$(this).hide(); n();
});
.delay()
no funcionará con .hide()
el elemento, se mostrará e inmediatamente se ocultará. Vea este jsFiddle, esta es la razón por la cual Nick declaró "Si no es una animación, use setTimeout () directamente, así: ...."
Puede usar el siguiente efecto para animar, puede cambiar los valores según sus requisitos
$("#myElem").fadeIn('slow').animate({opacity: 1.0}, 1500).effect("pulsate", { times: 2 }, 800).fadeOut('slow');
Tan simple como esto:
$("#myElem").show("slow").delay(5000).hide("slow");