2012-04-12 15 views
1

Ich muss alle 20 Sekunden 3 jquery Aktionen nacheinander ausführen."klick" nachdem ein "fadeOut" sofort ausgelöst wird?

muss ich zu:

  1. erste fadeOut()#recent
  2. wenn dann das click().next
  3. dann fadeIn#recent() wieder

nicht sicher, es macht keinen Unterschied, aber .next beendet hat ist ein Kind von #recent.

Dies ist, was ich bisher:

$('#recent').fadeOut(); 
$('#recent .next').click(); 
$('#recent').fadeIn(); 

Das Problem ist der Klick löst, bevor der fadeOut() beendet hat.

Dank C

+1

Und was ist los mit dem, was Sie bisher haben? –

+0

Der Klick löst aus, bevor fadeOut() beendet wurde. – Cybercampbell

Antwort

3

Das Problem ist, dass click Feuer das simulierte Ereignis sobald es wird aufgerufen, weil es nicht Teil der Animation Ereigniswarteschlange ist.

Die einfache war, ist für fadeOut die [auf fertiggestellt] Rückruf zu verwenden:

$('#recent').fadeOut(function() { 
    $('#recent .next').click() 
}).fadeIn() 

Beachten Sie, dass die fadeIn Animation wird auf die Animation Warteschlange registriert und damit „wie erwartet funktioniert“, auch wenn sie nicht im Rückruf.

Glückliche Kodierung.

+0

Perfekt !!! vielen Dank. – Cybercampbell

Verwandte Themen