2014-10-16 6 views
5

Ho immagini che devono essere posizionate in modo assoluto in modo che il centro dell'immagine si trovi al centro del div principale. Ho già il codice che fa questo.Come posso attivare un evento dopo che il caricamento lazy ha caricato un'immagine?

Recentemente ho aggiunto il plugin Lazy Load e funziona come previsto. Ma ho bisogno di un modo per attivare il mio codice di centratura dell'immagine dopo il carico pigro ha caricato e dissolvenza nell'immagine.

mio codice attuale è fondamentalmente questo:

jQuery(document).ready(function($) { 

// Make all lazy images ready to load themselves and listen for a custom event 
$("img.lazy").lazyload({ event:"delayed-lazy-load-event", effect : "fadeIn"}); 

}); 


// Wait for the iframes and other important junk to finish loading 
jQuery(window).load(function($){ 

// trigger lazy loading of thumbnails. 
$("img.lazy").trigger("delayed-lazy-load-event") 
} 

non riesco a trovare alcuna info su qualsiasi funzione di Lazy Load che mi permette di impostare una funzione di callback da eseguire dopo si corre l'effetto fadeIn.

risposta

9

trovato questo lavoro:

$('img.lazy').on('appear',function(){ 
    console.log(this)//fires this function when it appears 
}); 
+0

nice !, come posso acquisire 404s? –

+0

"Appare" l'argomento corretto qui? Ho la sensazione che significhi "apparire nella finestra", non "l'immagine è apparsa". Per me si innesca praticamente non appena viene caricato lo script, non quando l'immagine è stata caricata. –

2

risposta Entrabiter s' è in realtà per innescare una funzione quando l'immagine viene visualizzata sullo schermo, non dopo che è caricato. Per eseguire del codice dopo che un'immagine è stata caricata (ad esempio sbiadita), è necessario l'argomento "load":

$('img.lazy').on('load',function(){ 
    console.log(this)//fires this function when it appears 
}); 
Problemi correlati