Как я могу запустить функцию, как только элемент закончил рендеринг?

Как я могу запустить функцию, как только элемент закончил рендеринг?

Мне нужно установить высоту элемента на основе высоты другого элемента. Предположим, что когда этот элемент завершает рендеринг, его высота составляет 490 пикселей.

Если я запрашиваю высоту этого другого элемента в начале моей функции внутри $(document).ready() , он возвращает 432px.

Если я запрашиваю высоту этого другого элемента внутри setTimeout(function, 100) , он возвращает около 475 пикселей.

Если я увеличу setTimeout до 150 или около того, элемент завершит рендеринг, и я получу 190. Но, очевидно, я не могу на это рассчитывать.

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

Кажется, что событие load должно работать на произвольных элементах, но, насколько я могу судить, это не реализовано в браузерах или, по крайней мере, в Chrome.

РЕДАКТИРОВАТЬ : элемент не является изображением и (почти наверняка) никакие изображения никогда не будут внутри элемента. Это просто {amp}lt;div{amp}gt; с некоторыми другими {amp}lt;div{amp}gt; и {amp}lt;p{amp}gt; объектами. Высота, по-видимому, запрашивается в середине применяемого CSS или чего-то подобного. Образцы кода ожидаются.

РЕДАКТИРОВАТЬ 2 : Вот скрипка взломана моего сайта. (Пожалуйста, простите за ужасную разметку; я еще не очистил вывод Drupal.) Скрипка не демонстрирует плохое поведение, которое я пытаюсь исправить, потому что весь фрагмент кода отображается перед тем, как соответствующая часть Javascript запустить.

Есть ли способ сделать это, или я застрял с window.onload ?

Понравилась статья? Поделиться с друзьями:
JavaScript & TypeScript
Adblock
detector