web-dev-qa-db-fra.com

jQuery show pendant 5 secondes puis cache

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

Comment afficher le message pendant 5 secondes puis masquer?

136
josoroma

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

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

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

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

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

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

$("#myElem").show().delay(5000).queue(function(n) {
  $(this).hide(); n();
});
327
Nick Craver

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'); 
17
Rahul