In jQuery, wenn Sie dies tun:
$(function() {
alert("DOM is loaded, but images not necessarily all loaded");
});
Es wartet darauf, dass das DOM geladen wird, und führt Ihren Code aus. Wenn nicht alle Bilder geladen sind, wird der Code trotzdem ausgeführt. Dies ist offensichtlich das, was wir wollen, wenn wir DOM-Inhalte initialisieren, z. B. Elemente ein- oder ausblenden oder Ereignisse anhängen.
Nehmen wir jedoch an, ich möchte eine Animation und möchte nicht, dass sie ausgeführt wird, bis alle Bilder geladen sind. Gibt es in jQuery einen offiziellen Weg, dies zu tun?
Der beste Weg, den ich habe, ist zu benutzen <body onload="finished()">
, aber ich möchte das nicht wirklich tun, es sei denn, ich muss.
Hinweis: In jQuery 1.3.1 in Internet Explorer ist ein Fehler aufgetreten, der darauf wartet, dass alle Bilder geladen werden, bevor Code ausgeführt wird $function() { }
. Wenn Sie diese Plattform verwenden, erhalten Sie das gesuchte Verhalten anstelle des oben beschriebenen korrekten Verhaltens.
$("img").load()
?