Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   выполнение кода после полной загрузки (https://javascript.ru/forum/events/32125-vypolnenie-koda-posle-polnojj-zagruzki.html)

9112 04.10.2012 11:42

выполнение кода после полной загрузки
 
ситуация: на странице выводится блок изображений. имеется код, который проходится по элементам блока и суммирует ширину элементов(сам блок 2000+px, overflow:hidden, посему такой костыль).
если прописать вызов функции в $().ready(), то она выполняется еще до загрузки изображений и соответственно вычисляет не верную ширину.
подскажите, как правильнее поступить в этой ситуации? по сути нужно дождаться загрузки и вывода всех изображений.

cyber 04.10.2012 12:20

событие load

9112 04.10.2012 12:28

событие load на что?! перебирать весь набор изображений? это маразм. а $(container).load() здесь не применимо - ибо контейнер уже загружен, и событие выполнено, а изображения, находящиеся в нем - еще нет.

cyber 04.10.2012 15:39

Цитата:

Сообщение от 9112 (Сообщение 208132)
событие load на что?! перебирать весь набор изображений? это маразм. а $(container).load() здесь не применимо - ибо контейнер уже загружен, и событие выполнено, а изображения, находящиеся в нем - еще нет.

событие load нужно вешать на все картинки у которых нужно отследить загрузку или второй вариант window.onload - оно сработает когда загузятся все картинки на страници
Цитата:

Обработчик window.onload срабатывает, когда загружается вся страница, включая ресурсы на ней — стили, картинки, ифреймы и т.п.


9112 04.10.2012 17:07

Цитата:

Сообщение от cyber (Сообщение 208152)
событие load нужно вешать на все картинки у которых нужно отследить загрузку

согласитесь, это чересчур ;)
Цитата:

Сообщение от cyber (Сообщение 208152)
window.onload - оно сработает когда загузятся все картинки на страници

да, прошу прощения. прошляпил два момента. во-первых ready работает иначе, нежели onload, и то, что событие onload нужно вешать именно на window.

$(window).load() наш выход!
спасибо! :thanks:


Часовой пояс GMT +3, время: 11:22.