2011-11-21 14 views

risposta

39

La funzione fadeOut ha un callback che viene eseguito quando l'animazione è fatto:

$('.sidebarform').fadeOut('slow', function() { 
    $('.sidebarsuccess').fadeIn('slow'); 
}); 
+8

keep i Tenete presente che se il vostro selettore è troppo generico, la funzione di completamento sparerà per ogni elemento quando è completamente sfumato, quindi se ce ne sono già alcuni nascosti, sparerà immediatamente. – box86rowh

+2

Ho usato il: selettore visibile per combattere il problema descritto da @ box86rowh. Vedi: http://api.jquery.com/visible-selector/ –

16

Un'altra opzione sta usando promessa che attendere che tutte le animazioni in sospeso su .sidebarform per completare per primo, anche se sono stati avviati altrove:

$('.sidebarform').fadeOut('slow').promise().done(function() { 
    $('.sidebarsuccess').fadeIn('slow'); 
}); 
+0

Sebbene l'altra risposta abbia il segno di spunta verde, credo che questa risposta risolva il mio problema in modo più specifico. – Lewis