2014-04-19 4 views
1

У меня есть эта простая страница html с контейнером div, установленным на min-height 1800px, после добавления большего количества контента на страницу и использования jquery для получения реальной высоты я получаю неправильное значение , реальная высота теперь 1907 (от инспектировать элемента) и оповещает JQuery 1887 г., используя этот кодполучение неправильного значения для высоты div с использованием jquery

var container_h = $(".container").height(); 
alert(container_h); 

Я изменил высоту innerHeight, но не работать тоже вот страница http://www.mawk3y.net/alsoos/hathal/

+0

Он возвращает 1907 в консоли, поэтому вы слишком быстро, контейнер еще не получил полную высоту. – adeneo

ответ

0

Попробуйте https://api.jquery.com/outerHeight/

При установке outerHeight (true) вы включаете поля. В противном случае он возвращает height + padding.

var container_h = $(".container").outerHeight(true); 
+0

предупреждает объект объекта –

-1

используется SetTimeout (внутри документа готовы точно) в конце новой функции, которая получает высоту контейнера

setTimeout(getHeight,500); 

function getHeight(){ 
var container_h = $(".container").outerHeight();  

}

+0

Я знаю, что вы новичок в javascript, поэтому я буду нежным: это решение неверно. Вы никогда не должны использовать setTimeout для ожидания вывода ui. Вместо этого вы должны использовать обратные вызовы. – catbadger

0

Убедитесь, что вы вызываете свой код после того, как DOM готов. Если вы этого не сделаете, элементы не будут «инициализированы».

$(function() { *your code here* }); 
Смежные вопросы