2011-12-19 17 views
6

ho scaricato jquery lazyload plug-in da questo sito http://www.appelsiini.net/projects/lazyload.Jquery lazyload plug-in e funzione di callback

dal loro documento non ho trovato che si può usare qualsiasi callback o meno con il plugin lazyload.

supporre mio html assomigliare

<div id="gallery" class="busy"><img src="blah.jpg" /></div> 
<div id="gallery" class="busy"><img src="blah2.jpg" /></div> 
<div id="gallery" class="busy"><img src="blah3.jpg" /></div> 

mio script come

$("#gallery img").lazyload(); 

classe occupato sarà solo impostare un'immagine occupato al centro di div. quindi ho bisogno di un callback e dal callback ho bisogno di rilevare il download dell'immagine completata o meno se completata quindi rimuovo semplicemente la classe dal div corrispondente del tag immagine.

quindi, per favore, mostrami il modo di implementare il callback con lazyload e ho anche bisogno di un codice di esempio con il quale posso rimuovere la classe dal div corrispondente del tag immagine.

grazie

+1

markup html errato, ID deve essere univoco per div diverse –

+0

Ho chiesto un altro problema che esiste una funzione di richiamata che si attiva ogni volta che il download è completo di ogni immagine? –

risposta

12

Ho avuto la stessa domanda. Ha fatto qualche ricerca, è venuto qui e ha trovato la risposta. Questo è wat I have e funziona per me:

$(this).lazyload({ 
    effect : 'fadeIn', 
    load : function() 
    { 
     console.log($(this)); // Callback here 
    } 
}); 

Spero che questo aiuti!

+1

Meraviglioso! Funziona senza intoppi. – dnns

+0

Event to Trigger Loading Maggiori informazioni http://www.appelsiini.net/projects/lazyload – zloctb

0

La risposta di Rick de Graaf lo ha quasi fatto per me.

Il problema per me era: Il caricamento viene chiamato anche per le immagini segnaposto. Che nel mio caso era un problema. Volevo aggiungere una classe solo alle immagini caricate finali. Ho aggiunto questo per farlo funzionare per me:

jQuery("img.lazy").lazyload({ 
      effect : 'fadeIn', 
      load : function() 
      { 
       if (jQuery(this).attr("src") != "data:image/gif;base64,R0lGODlhZABlAIAAAPn5+QAAACH5BAAAAAAALAAAAABkAGUAAAJ0hI+py+0Po5y02ouz3rz7D4biSJbmiabqyrbuC8fyTNf2jef6zvf+DwwKh8Si8YhMKpfMpvMJjUqn1Kr1is1qt9yu9wsOi8fksvmMTqvX7Lb7DY/L5/S6/Y7P6/f8vv8PGCg4SFhoeIiYqLjI2Oj4CBnZVQAAOw==") { 
        jQuery(this).addClass("visible-image");     
       } 
      } 
     }); 

Se l'immagine caricata sono i dati: immagine, non fare niente, altrimenti aggiungere la mia classe.

Problemi correlati