Uso setTimeout()
direttamente (che .delay()
usa internamente) è più semplice qui, dal momento che .remove()
non è una funzione in coda, nel complesso dovrebbe assomigliare a questo:
$('body').append("<div class='message success'>Upload successful!</div>");
setTimeout(function() {
$('.message').remove();
}, 2000);
You can give it a try here.
.delay()
è per l'animazione (o qualunque nome) della coda, per usarlo dovreste fare qualcosa di simile:
$("<div class='message success'>Upload successful!</div>").appendTo('body')
.delay(2000).queue(function() { $(this).remove(); });
Which works, here ... ma è solo eccessivo e terribilmente inefficiente, per il bene di incatenare l'IMO. Normalmente dovresti anche chiamare la dequeue o la funzione successiva, ma visto che stai rimuovendo l'elemento comunque ...
fonte
2010-09-07 03:55:14
+1 fornendo sempre risposte jquery simili a quelle fornite o io prima ... –
@ Shog9 - Per essere * completamente * accurato non è * solo * animazioni, è solo * di default * le animazioni della coda 'fx' vengono eseguite, ma può essere una qualsiasi coda se viene passato un nome :) –
Woops, cancellato quel commento da quando hai aggiornato la tua risposta. Ma tu hai ragione, il supporto per la coda è abbastanza generico e potrebbe essere usato per altre cose - le animazioni sono predefinite. – Shog9