2012-03-01 9 views

risposta

10

Modifica riga sotto

$('.container').delay(2000).fadeIn().$(document).callMe(); 

a

$('.container').delay(2000).fadeIn(callMe) 
+0

Per suo suggerimento sopra qui è la jsbin http://jsbin.com/ uluyim/2 – Bot

+0

@arunes Grazie! È possibile chiamare una funzione presente su un file js separato? per esempio. script.js [$ ('. contenitore'). delay (2000) .fadeIn (callMe)] & external.js [funzioni callMe() {...}] – Pennf0lio

+0

Sì, è possibile anche. Ovviamente se aggiungi il file js che ha la funzione 'callMe' per documentare con il tag'

1

Tutti i metodi di animazione jQuery hanno callback di completamento che consentono di eseguire il codice dopo l'animazione è fatto

$('.container').hide().delay(2000).fadeIn(callMe) ;; 
+0

grazie per avermelo spiegato :) – Pennf0lio

+0

esempi in API sono ottimi riferimenti http://api.jquery.com/fadeIn/ – charlietfl

0
$(function(){ 

    $('.container').hide(); 

    $('.container').delay(2000).fadeIn(callMe); 

}); 

function callMe() { 
    alert ("It works!"); 
2

Nel tuo caso, puoi usare 'arunes' s soluzione, usando il callback dall'animazione. Tuttavia, se è necessario aggiungere un ritardo tra l'animazione e il callback che viene eseguito, si può fare anche questo, come in:

$('.container').fadeIn(function() { 
    $(this).delay(2000).queue(function() { 
    alert('Custom function executed two seconds after fadeIn()!'); 
    $(this).dequeue(); 
    }); 
}); 
Problemi correlati