À l'aide de setTimeout()
directement (ce qui .delay()
utilise en interne) est plus simple ici, depuis .remove()
n'est pas une file d'attente de la fonction, l'ensemble, il devrait ressembler à ceci:
$('body').append("<div class='message success'>Upload successful!</div>");
setTimeout(function() {
$('.message').remove();
}, 2000);
Vous pouvez l'essayer ici.
.delay()
est de l'animation (ou peu importe le nom) de la file d'attente, pour l'utiliser, vous avez à faire quelque chose comme:
$("<div class='message success'>Upload successful!</div>").appendTo('body')
.delay(2000).queue(function() { $(this).remove(); });
Ce qui fonctionne, ici...mais est un peu exagéré, et terriblement inefficace, pour l'amour de chaînage de l'OMI. Normalement il faudrait aussi appel en file d'attente ou la fonction suivante en tant que bien, mais depuis que vous êtes en train de retirer l'élément de toute façon...