2010-11-24 9 views
3

Hallo alle Ich möchte dieses div zu verschwinden, wenn es angezeigt wird. Es arbeitet nun auf diese Weise, aber da manchmal die div nach einer Last hinzugefügt wird() Ich müsste es verschmelzen irgendwie mit einem Live() Ich denke, ....jQuery: eine div FadeOut + .Live() + .Delay() -Funktionen merge

//Fade out the result alert. 

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

Irgendwelche Ideen, wie man mach das?

Vielen Dank im Voraus

+0

Wie wird die div der Seite hinzugefügt? – justkt

+0

Das div wird nicht von jQuery hinzugefügt. Lass uns auf den Punkt kommen. 1) Ich klicke auf einen Link. 2) Ein Formular wird in einem div geladen. 3) Wenn der Benutzer das Formular abschickt, verwende ich $ .ajax(), um das Ergebnis zu erhalten. 4) Das Ergebnis wird im gleichen Div angezeigt, wo das Formular war. Ich möchte, dass div verschwindet. Ich denke, das hilft ein bisschen mehr. Ich bekomme das .Alert div von ajax() nicht von jQuery hinzufügen. – Hernantz

+0

Dann, wie das Formular in der div geladen wird? und ist das div bereits vorhanden und die form append in es oder beide erscheinen? – Shikiryu

Antwort

1

Es hängt davon ab, wie Sie Ihre div auf der Seite nach dem load() hinzufügen.

Nachdem Sie das Element zu Ihrer Seite hinzugefügt haben, fügen Sie den gewünschten Handler oder die gewünschte Funktion hinzu.

Beispiel:

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

Live example

+0

Nur um die unvermeidliche Verwirrung mit '.delay()' zu beheben: Es fügt der Animationswarteschlange eine Verzögerung hinzu. Es "pausiert" die Ausführung des Codes nicht genau dort. Es ist * nicht * ein 'Thread.Sleep (6000)'. Der Rest dieser Zeile und die nachfolgenden Zeilen werden nicht verzögert - nur die ausgelösten Animationseffekte verzögern sich. –

+0

In der Tat, aber ich bin mir sicher (zumindest hoffe ich), das OP war sich dessen bereits bewusst, da er es benutzt hat. – Shikiryu

+0

Das div wird nicht von jQuery hinzugefügt. Lass uns auf den Punkt kommen. 1) Ich klicke auf einen Link. 2) Ein Formular wird in einem div geladen. 3) Wenn der Benutzer das Formular abschickt, verwende ich $ .ajax(), um das Ergebnis zu erhalten 4) Das Ergebnis wird im selben Div angezeigt, wo das Formular war. Ich möchte das div verschwinden. Ich denke, das hilft ein bisschen mehr. Ich bekomme das .Alert div von ajax() nicht von jQuery hinzufügen. – Hernantz