6
votes

Utilisation de JQuery Comment utiliser Fadein, Delay et puis Fadeout Problème

J'ai besoin de faire quelque chose de Fadein, puis de rester là-bas pendant une seconde, puis de Fadeout à l'aide de JQuery.

J'ai essayé cela, mais ça pose du travail pour une raison quelconque ??? p>

$('#' + uMessage).fadeIn("fast").fadeOut("slow");  // works
$('#' + uMessage).fadeIn("fast").delay(1000).fadeOut("slow");  // fails


5 commentaires

Où échoue-t-il? Est-ce que ça fait quelque chose du tout?


Ah, désolé, ça ne disparaît pas quand j'ajoute le retard ..


Appelez-vous .stop () ou effacer la file d'attente dans certains Autre Way?


.Delay fonctionne uniquement avec jQuery 1.4 +. Cela pourrait-il être?


S'il vous plaît soyez si gentille d'accepter la bonne réponse lorsque vous l'avez résolu?


6 Réponses :


14
votes

Votre deuxième approche devrait être bien en fait, correspondant aux docs ( http://api.jquerery.com/ Delay / )

Une autre approche peut être d'utiliser la fonction de rappel qui est appelée lorsque la Fadein a terminé: P>

$('#' + uMessage).fadeIn("fast", function() { 
  c_obj = $(this);
  window.setTimeout(function() { $(c_obj).fadeOut("slow"); }, 1000); 
});


1 commentaires

Travaillé pour moi: $ ('# message'). Fadein (fonction (Fonction () {fenêtre.settimeout (fonction () {$ (message # #). Fadeout ("lent");}, 2000);});



3
votes

Peut-être essayez peut-être d'utiliser un rappel comme spécifié dans l'API pour FADEIN fonction. Ceci sera appelé une fois que le fondu est terminé.

$('#' + uMessage).fadeIn("fast", function() {
  $(this).delay(1000).fadeOut("slow");
});


0 commentaires

1
votes

Je pense que le problème réside dans la version de JQuery que vous utilisez:

http://jsfiddle.net/b85hx/

Celui-ci fonctionne bien. Passer à 1.3.2 et il est cassé.


0 commentaires

1
votes

Utilisez-vous JQuery 1.4+? La fonction Retard () a été ajoutée à JQuery 1.4

http://api.jquerery.com/delay/


0 commentaires

3
votes

Délai de disparition de la fondue ne fonctionne pas. En utilisant une combinaison avec la file d'attente après le délai et un rappel fonctionne parfois pour d'autres situations

Ceci a fini par travailler pour moi: P>

$('#message').fadeIn(function() {
  window.setTimeout(function() {
    $('#message').fadeOut('slow');
  }, 2000);
});


0 commentaires

0
votes

JQuery Documentation officielle indique que le second param n'est pas un rappel, mais un style d'assouplissement.

http://api.jquerery.com/fadein/#fadein-duduration-asing-compte http://api.jquerery.com/fadeout/#fadeout-Duration -complete p>

$('#el').fadeOut(750,'swing',function(){
    $('#el').fadeIn();
});


2 commentaires

essayé cela avec jQuery 1.3.2 - la fonction ne tire pas.


Ensuite, rapportez-vous à JQuery, car il doit tirer en fonction des documents. Je parie que vous avez un problème avec sélecteur ou autre lieu.