2010-11-24 41 views
3

Salut tous Je veux que ce div disparaisse quand il apparaît. Il travaille maintenant de cette façon, mais comme parfois le div est ajouté après une charge() je aurais besoin de fusionner en quelque sorte avec un live() Je suppose ....jQuery: faire un div fadeOut + .live() + .delay() fonctions fusionner

//Fade out the result alert. 

$('.Alert').delay(6000).fadeOut(500); 

Toute idée de la façon de fais ça?

Merci à l'avance

+0

Comment la div ajouté à la page? – justkt

+0

La div n'est pas ajoutée par jQuery. Permet d'aller au point. 1) Je clique sur un lien. 2) Un formulaire est chargé dans un div. 3) Lorsque l'utilisateur soumet le formulaire, j'utilise $ .ajax() pour obtenir le résultat 4) Le résultat est affiché dans le même div où le formulaire était. Je veux que ce div disparaisse. Je pense que cela aide un peu plus. Je reçois le .Alert div par ajax() ne l'ajoutant pas par jQuery. – Hernantz

+0

Ensuite, comment le formulaire est chargé dans la div? et le div est-il déjà présent et la forme s'y ajoute ou les deux apparaissent? – Shikiryu

Répondre

1

Il dépend de la façon dont vous ajoutez votre div à la page après la load(). Après avoir ajouté l'élément à votre page, ajoutez le gestionnaire ou la fonction souhaitée.

Exemple:

$('<div class="Alert"></div>').appendTo('body').delay(6000).fadeOut(500); 

Live example

+0

Juste pour résoudre la confusion inévitable avec '.delay()': il ajoute un délai à la file d'attente d'animation. Il * n'interrompt pas l'exécution du code. C'est * pas * un "Thread.Sleep (6000)". Le reste de cette ligne et les lignes suivantes ne seront pas retardés - seuls les effets d'animation qu'ils peuvent déclencher seront retardés. –

+0

En effet, mais je suis sûr (au moins, je l'espère) l'OP était déjà au courant de cela, puisqu'il l'a utilisé. – Shikiryu

+0

La div n'est pas ajoutée par jQuery. Permet d'aller au point. 1) Je clique sur un lien. 2) Un formulaire est chargé dans un div. 3) Lorsque l'utilisateur soumet le formulaire, j'utilise $ .ajax() pour obtenir le résultat 4) Le résultat est affiché dans le même div où le formulaire était. Je veux que cette div disparaisse. Je pense que cela aide un peu plus. Je reçois le .Alert div par ajax() ne l'ajoutant pas par jQuery. – Hernantz