In jQuery quando esegui questa operazione:
$(function() {
alert("DOM is loaded, but images not necessarily all loaded");
});
Attende il caricamento del DOM ed esegue il codice. Se tutte le immagini non vengono caricate, esegue comunque il codice. Questo è ovviamente ciò che vogliamo se inizializziamo elementi DOM come mostrare o nascondere elementi o allegare eventi.
Diciamo però che voglio un po 'di animazione e non voglio che funzioni fino a quando non vengono caricate tutte le immagini. Esiste un modo ufficiale in jQuery per farlo?
Il modo migliore che ho è di usare <body onload="finished()">
, ma non voglio davvero farlo a meno che non sia necessario.
Nota: esiste un bug in jQuery 1.3.1 in Internet Explorer che in realtà attende il caricamento di tutte le immagini prima di eseguire il codice all'interno $function() { }
. Quindi se stai usando quella piattaforma otterrai il comportamento che sto cercando invece del comportamento corretto descritto sopra.
$("img").load()
funziona?