Risposte:
Puoi usare .delay()
prima di un'animazione, in questo modo:
$("#myElem").show().delay(5000).fadeOut();
Se non è un'animazione, utilizza setTimeout()
direttamente, in questo modo:
$("#myElem").show();
setTimeout(function() { $("#myElem").hide(); }, 5000);
Tu fai il secondo perché .hide()
normalmente non sarebbe sulla fx
coda animazione ( ) senza una durata, è solo un effetto istantaneo.
Oppure, un'altra opzione è quella di utilizzare .delay()
e .queue()
te stesso, in questo modo:
$("#myElem").show().delay(5000).queue(function(n) {
$(this).hide(); n();
});
.delay()
non funzionerà con .hide()
l'elemento verrà mostrato quindi immediatamente nascosto. Vedi questo jsFiddle questo è il motivo per cui Nick ha dichiarato "Se non è un'animazione, usa direttamente setTimeout (), in questo modo: ...."
È possibile utilizzare l'effetto sottostante per animare, è possibile modificare i valori in base alle proprie esigenze
$("#myElem").fadeIn('slow').animate({opacity: 1.0}, 1500).effect("pulsate", { times: 2 }, 800).fadeOut('slow');
Semplice come questo:
$("#myElem").show("slow").delay(5000).hide("slow");