Я пытаюсь реализовать слайдер орбиты jQuery. У меня есть тег div, который содержит несколько изображений. Проблема, с которой я сталкиваюсь, - это функция orbit(), которая иногда вызывается перед загрузкой всех изображений. Я попытался решить это, окружая вызов функции орбиты следующим образом:
window.onload = function(){jQuery('#img-container').orbit()}
Это должно гарантировать, что орбита вызывается только после страницы и загружается все содержимое (включая необходимые изображения). Однако событие onload не запускается постоянно, поскольку слайдер изображения не всегда загружается. Я замечаю, что если я очищу кеш и перейду на страницу, то событие onload не срабатывает, и поэтому орбита никогда не срабатывает.
Другие вещи, которые я пробовал: я также попробовал jQuery (window).load(), который не увенчался успехом. Я также попытался выполнить итерацию каждого отдельного изображения в контейнере с помощью функции.load(), но не был успешным. Я смог решить эту проблему в Chrome и FF, используя что-то похожее на этот подход: jquery.one() load and error events not working
Есть ли у кого-нибудь другие предложения по исправлению этого вопроса в IE?
ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ: я проверил, где я использую deelay.me, чтобы задержать изображение на несколько секунд, и это делает работу onload постоянной. Это происходит только тогда, когда изображение быстро загружается, что нагрузка не срабатывает
Правильный способ сделать это в jQuery с помощью функции jQuery:
$(function(){
//onload stuff here...
});
Это должно работать как в IE, так и в других браузерах.
window.onload
, вы можете прочитать это из документации, которую вы связали (« The function to execute when the DOM is ready.
) В jQuery правильно реализовать то, что хочет OP: $(window).load(function () {...})
.