jquery дождаться загрузки страницы

В jQuery, когда вы это делаете:

Он ожидает, что DOM загрузит и выполнит ваш код. Если все изображения не загружены, он все равно выполняет код. Это, очевидно, то, что мы хотим, если мы инициализируем любые вещи DOM, такие как отображение или скрытие элементов или добавление событий.

Скажем, хотя мне нужна анимация, и я не хочу, чтобы она работала до загрузки всех изображений. Есть ли официальный способ в jQuery для этого?

Лучше всего использовать , но я действительно не хочу этого делать, если не нужно.

Примечание. В Internet Explorer есть ошибка в jQuery 1.3.1, которая фактически ожидает загрузки всех изображений перед выполнением кода внутри $function() < >. Поэтому, если вы используете эту платформу, вы получите поведение, которое я ищу, вместо правильного поведения, описанного выше.

С помощью jQuery вы используете $(document).ready() для выполнения чего-либо при загрузке DOM и $(window).on(“load”, handler) для выполнения чего-либо, когда загружаются все другие вещи, например изображения.

Разницу можно увидеть в следующем полном файле HTML, если у вас есть файлы jollyroger JPEG (или другие подходящие):

При этом перед загрузкой изображений появляется окно предупреждения, поскольку DOM готов к этой точке. Если вы затем измените:

тогда окно предупреждения не появится до загрузки изображений.

Следовательно, чтобы подождать, пока вся страница будет готова, вы можете использовать что-то вроде:

Я написал плагин, который может запускать обратные вызовы, когда изображения загружаются в элементы, или запускать один раз на загруженное изображение.

Он похож на $(window).load(function() < .. >) , за исключением того, что он позволяет определить любой селектор для проверки. Если вы хотите знать, когда загрузились все изображения в #content (например), это плагин для вас.

Читайте также:  crfxfnm vepbre p dr

Он также поддерживает загрузку изображений, указанных в CSS, таких как background-image , list-style-image и т.д.

waitForImages Плагин jQuery

Пример использования

Дополнительная документация доступна на странице GitHub.

Материал из JQuery

Устанавливает функцию handler в качестве обработчика события load, на выбранные элементы.
Метод является аналогом bind("load", handler(eventObject)).

handler(eventObject) — функция, которая будет установлена в качестве обработчика. При вызове она будет получать объект события eventObject.

Метод отличается от предыдущего возможностью передавать в обработчик дополнительные данные.
Является аналогом bind("load", eventData, handler(eventObject)).

handler(eventObject) — см. выше.
eventData — дополнительные данные, передаваемые в обработчик. Они должны быть представлены объектом в формате: .

Событие load происходит, когда сам элемент и все его дочерние элементы полностью загружены. Это событие может происходить на элементах, которые обладают полями URL (объект window, картинки, скрипты, фреймы).

Замечание: в некоторых случаях, если картинка содержится в кеше браузера, событие load может не произойти. Для такого случая можно воспользоваться специальным событием event.special.load, которое определено в небольшом плагине.

Замечание 2: если вам не требуется готовность мультимедийных файлов, лучше воспользоваться методом .ready(), который устанавливает обработчик готовности структуры документа, что происходит раньше начала загрузки файлов мультимедиа.

Примеры использования

Для страницы, содержащей картинку

следующий код позволит обработать ее загрузку:

А вот так можно обработать готовность всей страницы:

Какая-либо написанная функция при загрузке вашего сайта может сработать некорректно. Случается это потому, что контент вашего сайта не успел полностью прогрузиться на стороне пользователя, как скрипт уже закончил свою работу.

Исправить это можно, если отложить выполнение скрипта до полной загрузки страницы. Есть несколько способов.

Читайте также:  elna конденсаторы официальный сайт

1. Выполнить скрипт, когда загружен DOM:

Или более короткий вариант:

2. Выполнить скрипт, когда страница загрузилась полностью:

Если же вы хотите помимо выполнения скрипта после загрузки страницы сделать неоднократное выполнение функции с заданным интервалом времени, воспользуйтесь этой статьей.

Оцените статью
Все о Windows 10
Добавить комментарий

Adblock
detector