12
votes

Comment cacher un texte après 5 secondes en utilisant jQuery?

Comment puis-je cacher les #Results après 5 secondes? J'ai essayé ceci mais cela ne fonctionne pas.

$('#results').hide().html(data).fadeIn('slow');


0 commentaires

4 Réponses :


4
votes

Voulez-vous dire quelque chose comme: xxx


4 commentaires

Vous n'avez pas vraiment besoin d'un appel de sécurité séparé. Vous pouvez utiliser l'intégré .Delay () avec .hide () . Voir ma réponse pour comment le faire fonctionner.


@ jfien00: True, mais je l'affaincue dans l'autre moyen: vous n'avez pas besoin de la transformer en animation si tout ce que vous voulez faire est de retarder une période déterminée.


Je pense simplement qu'il est plus facile d'utiliser la file d'attente d'animation intégrée de JQuery et la chaîne .Delay (5000) .Hide (1); sur la fin de la ligne par rapport à un appel de sécurité séparé et je pense qu'il est utile de savoir comment obtenir show () et masquer () Pour vous séquencer avec d'autres animations JQuery si nécessaire. Mais, il y a toujours beaucoup de façons de le faire, donc c'est un choix personnel.


@ jfien00: différentes choses sont plus faciles à différentes personnes, mais je suis tout à fait d'accord pour dire que c'est utile savoir comment obtenir show () et masquer () coopérer avec d'autres animations de JQuery (je ne savais pas que non plus!). J'ai déjà évoqué votre réponse et je répondais juste à votre commentaire sur ma réponse. Pas de soucis.



0
votes

Vous devez utiliser settimeout . xxx

la raison pour laquelle .Delay (5000) ne fonctionne pas .Hide () n'est pas inclus dans la file d'attente d'animation.


2 commentaires

Pas de bowvote, mais vous ne devriez vraiment pas transmettre une chaîne à Settimeout () . Utilisez toujours une fonction anonyme à la place: elle est à la fois plus rapide et plus sûre.


@Danielpryden merci pour ça! Je ne savais pas que cela pourrait accepter une fonction. Je le fais mal tout ce temps ...



21
votes

Mettez une durée sur votre Masquer () CODE> Appel et il fonctionnera comme ceci:

$('#results').hide().html(data).fadeIn('slow').delay(5000).hide(1);


0 commentaires

0
votes

La méthode FADEOUT DE JQUERY est NIFTY:

$ ('# résultats'). Délai (3000) .fadeout ('lent');


0 commentaires