2009-10-14 12 views
5

Sto provando a fare qualcosa come boxy o facebox o lightbox ... e così via. L'unico problema è che non so come precaricare la pagina che viene caricata nella casella tramite il metodo load().jquery precaricare la pagina caricata tramite il metodo load()

Dovrebbe funzionare in questo modo:

  1. Si apre la casella viene aggiunto
  2. Caricamento animazione
  3. Quando la pagina viene caricata l'animazione sparisce

quindi ho bisogno di sapere quando la pagina viene caricata per rimuovere l'animazione.

risposta

3
var function_for_display_animation = function(){ 
    //display animation 
} 
var function_for_remove_animation = function(){ 
    //remove animation 
} 

function_for_display_animation(); 
$(selector).load('page.php',function_for_remove_animation); 

o:

$().ajaxSend(function(evt, request, settings){ 
    //start animation 
}); 

$().ajaxComplete(function(event,request, settings){ 
    //end animation 
}); 

$(selector).load('page.php', function(){ 
    //work 
}); 
+1

grazie per la tua risposta, quindi la funzione di callback è la chiave – kmunky

1

Se ho capito bene, stai dicendo che poiché una pagina del tuo sito impiegherà un po 'di tempo per caricare, ti piacerebbe che un messaggio di caricamento amichevole venga mostrato immediatamente e scompaia una volta caricata la pagina.

Il trucco per questo non viene scaricato molto quando la pagina viene caricata per la prima volta. Solo il messaggio di caricamento e alcuni JavaScript.

Ciò che rende questo lavoro è che nella funzione $ (documento) .ready() verrà utilizzato AJAX per ottenere i dati lenti. Una volta restituita la query AJAX, utilizzare JS per compilare la pagina con i dati e quindi disattivare il messaggio di caricamento.

+0

hmm ... in realtà questa è la mia domanda, come posso "vedere" quando è ok per rimuovere l'animazione di carico? qualcosa di simile è abbastanza? $ (selector) .load ('page.php', function() { $ ('. Animation'). Remove(); }); – kmunky

Problemi correlati