Я создал отзывчивую веб-страницу, в которой я пытаюсь найти высоту элемента, используя метод .outerHeight()
в jQuery, например:
(Просто пример, на самом деле я не использую его).
jQuery(document).ready(function($){
// Identify height of div#main
var element_h = $('.home #main').outerHeight(true);
// Apply same height to div#primary
$('.home #primary').attr('style', 'height:'+element_h+'px;');
});
Проблема заключается в том, что расчетная высота меньше фактической высоты элемента при изменении размера веб-страницы (и, конечно, перезагрузка).
Учитывая, что веб-страница является отзывчивой, высота элемента увеличивается при изменении размера браузера. .outerHeight()
jQuery .outerHeight()
и .height()
кажется, правильно вычисляют высоту, пока не появится полоса прокрутки - даже если весь элемент все еще находится в поле зрения.
Любая идея, почему это происходит? Что я могу делать неправильно?
Взгляните и посмотрите ниже ссылку:
http://www.codekhan.com/2013/01/how-to-calculate-height-of-any-element.html
http://www.codekhan.com/2012/12/how-to-get-height-of-any-element-using.html
Лучше всего определить размер полосы прокрутки браузера и сделать ее глобальной переменной для ваших обнаружений. Посмотрите, как это сделать, посмотрев на этот ответ.
Затем вы можете присвоить результат чему-то вроде
$(window).data('scrollbarSize');