Estou usando .show
para exibir uma mensagem oculta após o envio bem-sucedido do formulário.
Como exibir a mensagem por 5 segundos e depois ocultar?
Você pode usar .delay()
antes de uma animação, assim:
$("#myElem").show().delay(5000).fadeOut();
Se não for uma animação, use setTimeout()
diretamente, assim:
$("#myElem").show();
setTimeout(function() { $("#myElem").hide(); }, 5000);
Você faz o segundo porque .hide()
normalmente não estaria na fx
fila de animação ( ) sem duração, é apenas um efeito instantâneo.
Ou, outra opção é usar .delay()
e .queue()
mesmo, como este:
$("#myElem").show().delay(5000).queue(function(n) {
$(this).hide(); n();
});
.delay()
não funcionará com.hide()
o elemento será mostrado e imediatamente oculto. Veja este jsFiddle é por isso que Nick afirmou: "Se não é uma animação, uso setTimeout () diretamente, como este: ...."Você pode usar o efeito abaixo para animar, você pode alterar os valores conforme seus requisitos
fonte
Tão simples quanto isto:
fonte