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