Je me demandais comment, en jquery, je peux cacher un div après quelques secondes ? Comme les messages de Gmail par exemple.
J'ai fait de mon mieux mais je n'arrive pas à le faire fonctionner.
Je me demandais comment, en jquery, je peux cacher un div après quelques secondes ? Comme les messages de Gmail par exemple.
J'ai fait de mon mieux mais je n'arrive pas à le faire fonctionner.
Cela permettra de masquer la division après 1 seconde (1000 millisecondes).
setTimeout(function() {
$('#mydiv').fadeOut('fast');
}, 1000); // <-- time in milliseconds
#mydiv{
width: 100px;
height: 100px;
background: #000;
color: #fff;
text-align: center;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="mydiv">myDiv</div>
Si vous voulez juste cacher sans décolorer, utilisez hide()
.
@James, Il est certain qu'il n'y a pas de différence dans le résultat final, mais je suppose que la mise en œuvre en utilisant .delay()
est plus "native" et plus élégante pour jQuery
.
Il y a un moyen très simple de le faire.
Le problème est que .delay n'a d'effet que sur les animations. Vous devez donc faire en sorte que .hide() agisse comme une animation en lui donnant une durée.
$("#whatever").delay().hide(1);
En lui donnant une durée courte, elle semble être instantanée, tout comme la fonction .hide normale.
$.fn.delay = function(time, callback){
// Empty function:
jQuery.fx.step.delay = function(){};
// Return meaningless animation, (will be added to queue)
return this.animate({delay:1}, time, callback);
}
De http://james.padolsey.com/javascript/jquery-delay-plugin/
(Permet le chaînage des méthodes)
Le moyen le plus simple est probablement d'utiliser le plugin timers. http://plugins.jquery.com/project/timers et ensuite appeler quelque chose comme
$(this).oneTime(1000, function() {
$("#something").hide();
});
Y a-t-il une raison impérative d'utiliser le plugin timers plutôt que setTimeout ou setInterval ?
Je dirais que télécharger et attacher un plugin jquery est moins plus facile que de simplement utiliser setTimeout.
Je ne pense pas que ce soit nécessairement une mauvaise chose, mais comme il est rare que j'utilise des timers dans mon code, avoir ce plugin autour (lire : code supplémentaire, bloat) pour ces quelques fois ne compense pas le coût. Si vous écrivez beaucoup de code qui doit utiliser des timers, et que vous utilisez jQuery, je peux voir pourquoi ce plugin serait très utile pour respecter la syntaxe de jQuery...
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.
2 votes
Est-ce que le fait de se cacher suffit, ou faut-il que ça s'estompe ?