В jQuery, когда вы это делаете:
$(function() {
alert("DOM is loaded, but images not necessarily all loaded");
});
Он ожидает, что DOM загрузит и выполнит ваш код. Если все изображения не загружены, он все равно выполняет код. Это, очевидно, то, что мы хотим, если мы инициализируем любые вещи DOM, такие как отображение или скрытие элементов или добавление событий.
Скажем, хотя мне нужна анимация, и я не хочу, чтобы она работала до загрузки всех изображений. Есть ли официальный способ в jQuery для этого?
Лучше всего использовать <body onload="finished()">
, но я действительно не хочу этого делать, если не нужно.
Примечание. В Internet Explorer есть ошибка в jQuery 1.3.1, которая фактически ожидает загрузки всех изображений перед выполнением кода внутри $function() { }
. Поэтому, если вы используете эту платформу, вы получите поведение, которое я ищу, вместо правильного поведения, описанного выше.