Вопрос по jquery, css – jQuery height (), возвращающий ложные значения

15

Я пытаюсь использовать jQuery, чтобы установить высоту нескольких элементов div, равную высоте самого высокого элемента div. По сути, я перебираю div и получаю высоту от каждого из них, сохраняя самый большой в переменной. Затем я снова перебираю их все и устанавливаю их высоту переменной.

Тем не менее, JQuery дает мне неправильное значение для высоты. Например, функция height () для первого div возвращает 633, но когда я смотрю на него в инспекторе, он говорит, что это 603. Я совершенно не понимаю, почему он это делает. Кажется, что он включает отступы и поля, но в документации сказано, что этого делать не следует.

Высота для divs установлена как auto в моей таблице стилей. Если я задаю им фиксированную высоту пикселя, то функция jQuery height () возвращает правильное значение, но не тогда, когда они находятся в автоматическом режиме (как и должно быть).

Этот сайт - ictsf.org. Обратите внимание на дополнительное пространство в нижней части трех столбцов.

Я только что подтвердил, что эта проблема не возникает в Firefox. Это происходит в Chrome и Safari. Не тестировал его с IE, потому что IE отстой. TGPrankster
Такая веская причина не проверять это с IE. Blaine Kasten

Ваш Ответ

2   ответа
32

а$(document).ready(), что происходит до того, как WebKit узнает о высоте ваших изображений.

Итак, самое быстрое решение - вместо этого запустить код на$(window).load(), Или, что еще лучше, используйтеimagesLoaded плагин.

В качестве альтернативы, установкаheight атрибут наimgМожет решить проблему.

Уже 1 час изо всех сил, но вы спасли меня от большего ... спасибо!
Вы, сэр, гений! Большое спасибо. TGPrankster
4

Maybe Вы ищете это:http://api.jquery.com/outerHeight/

Похожие вопросы