IE ошибка window.onload не работает последовательно

0

Я пытаюсь реализовать слайдер орбиты 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 постоянной. Это происходит только тогда, когда изображение быстро загружается, что нагрузка не срабатывает

  • 0
    Это должно работать, то есть также поместить этот код в конец вашего тела, а затем посмотреть, я думаю, что вы используете JQuery до инициализации
  • 0
    Я проверил и убедился, что JQuery загрузился перед запуском onload, поэтому я не верю, что это является основной причиной
Теги:
internet-explorer
onload
orbit

1 ответ

0

Правильный способ сделать это в jQuery с помощью функции jQuery:

$(function(){
    //onload stuff here...
});

Это должно работать как в IE, так и в других браузерах.

  • 0
    Это не то же самое, что window.onload , вы можете прочитать это из документации, которую вы связали (« The function to execute when the DOM is ready. ) В jQuery правильно реализовать то, что хочет OP: $(window).load(function () {...}) .
  • 0
    Я тоже пробовал $ (window) .load (function () {...}), но не сработало. Я провел тест, в котором я использовал deelay.me, чтобы задержать изображение на несколько секунд, и благодаря этому функция загрузки работала стабильно. Только когда изображение загружается быстро, нагрузка не срабатывает

Ещё вопросы

Сообщество Overcoder
Наверх
Меню