Estoy usando .show
para mostrar un mensaje oculto después de enviar un formulario correctamente.
¿Cómo mostrar el mensaje durante 5 segundos y luego ocultarlo?
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
fuente
Tan simple como esto:
fuente