En jQuery cuando haces esto:
$(function() {
alert("DOM is loaded, but images not necessarily all loaded");
});
Espera a que el DOM se cargue y ejecuta su código. Si no se cargan todas las imágenes, aún ejecuta el código. Obviamente, esto es lo que queremos si estamos inicializando cualquier elemento DOM, como mostrar u ocultar elementos o adjuntar eventos.
Digamos, sin embargo, que quiero algo de animación y no quiero que se ejecute hasta que se carguen todas las imágenes. ¿Hay alguna forma oficial en jQuery para hacer esto?
La mejor manera que tengo es usar <body onload="finished()">
, pero realmente no quiero hacerlo a menos que tenga que hacerlo.
Nota: Hay un error en jQuery 1.3.1 en Internet Explorer que realmente espera a que se carguen todas las imágenes antes de ejecutar el código en su interior $function() { }
. Entonces, si está utilizando esa plataforma, obtendrá el comportamiento que estoy buscando en lugar del comportamiento correcto descrito anteriormente.
$("img").load()
funciona