Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Почему не успевает считывается высота блока (https://javascript.ru/forum/jquery/42355-pochemu-ne-uspevaet-schityvaetsya-vysota-bloka.html)

skynet-mfd 23.10.2013 11:16

Почему не успевает считывается высота блока
 
Доброго дня всем. Есть div со вложенной картинкой, по клику на кнопку устанавливаю значение в атрибут src (код внизу). Ссылка на картинку находится на другом ресурсе. Тут же считываю высоту подгруженной картинки, а она 0px. В дебагере фаерфокса снова считываю высоту ручками $('img_map').height() и она 640px. В чем дело это же не ajax запрос, такое ощущение что картинка еще не подгрузилась, а уже выполняется считываение её высоты.

<div id="div_map" style="position: absolute; display: none; z-index:11">
    <div id="div_map_img" style="position: relative">    
        <img id="img_map" alt="" usemap="#map" src="">
     </div>
</div>


var img = $("#img_map");
img.attr('src','http://....');
var h_img = img.height();

Skipp 23.10.2013 11:40

Картинка загружается не сразу, а высота устанавливается, после того как она загрузиться. Вы же не дожидаясь загрузки пытаетесь получить высоту, итог....
Используйте событие onload у изображения.

skynet-mfd 23.10.2013 12:07

Цитата:

Сообщение от Skipp (Сообщение 277723)
Картинка загружается не сразу, а высота устанавливается, после того как она загрузиться. Вы же не дожидаясь загрузки пытаетесь получить высоту, итог....
Используйте событие onload у изображения.

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

skynet-mfd 23.10.2013 12:16

Цитата:

Сообщение от Skipp (Сообщение 277723)
Картинка загружается не сразу, а высота устанавливается, после того как она загрузиться. Вы же не дожидаясь загрузки пытаетесь получить высоту, итог....
Используйте событие onload у изображения.

Благодарю за наводку... только для элементов событие load надо курить. Спасибо.

Skipp 23.10.2013 13:00

load это в jquery
http://help.dottoro.com/lhvadxkw.php


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