jQuery afficher pendant 5 secondes puis masquer

J'utilise .show pour afficher un message caché après une soumission réussie du formulaire.

Comment afficher le message pendant 5 secondes puis masquer?

124
demandé sur Benjamin 2010-08-07 05:20:03

2 réponses

, Vous pouvez utiliser .delay() avant une animation, comme ceci:

$("#myElem").show().delay(5000).fadeOut();

, Si ce n'est pas une animation, l'utilisation setTimeout() directement, comme ceci:

$("#myElem").show();
setTimeout(function() { $("#myElem").hide(); }, 5000);

Vous faites la seconde parce que .hide() ne serait normalement pas sur la file d'attente d'animation (fx) sans durée, c'est juste un effet instantané.

, Ou, une autre option est d'utiliser .delay() et .queue() vous-même, comme ceci:

$("#myElem").show().delay(5000).queue(function(n) {
  $(this).hide(); n();
});
305
répondu Nick Craver 2010-08-07 01:22:02

Vous pouvez utiliser l'effet ci-dessous pour animer, vous pouvez modifier les valeurs selon vos besoins

$("#myElem").fadeIn('slow').animate({opacity: 1.0}, 1500).effect("pulsate", { times: 2 }, 800).fadeOut('slow'); 
15
répondu Rahul 2012-01-09 11:59:15