Anadi
@Anadi
Если ответ Вам помог мой, решением отметье его!

А есть ли jQuery height() чистом js?

Привет товарищи!

Хочу избавится от jquery!
Да, либа хорошая, очень юзабельна и много полезных хороших плагинов. Так получилось, что начал изучать JS именно с jquery в силу простоты использования.

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

В jquery есть замечательный метод height(), который вне зависимости от видимости элемента, показывает его реальную высоту.

На чистом JS (clientHeight, offsetHeight) все показывает 0. Объясните товарищи, как правильно посчитать высоту скрытого элемента?:)

Заранее благодарен!
  • Вопрос задан
  • 473 просмотра
Пригласить эксперта
Ответы на вопрос 4
bootd
@bootd
Гугли и ты откроешь врата знаний!
Если элемент скрыт(display: none) - то его высота равна 0, jquery ни jquery.
Если элемент скрыт просто визуально(opacity и т.п.), то всегда покажется реальная высота. Исключение - это transform: scale.

Или же, высота может быть 0, но благодаря padding и border высота есть. Нужно просто учитывать эти свойства при получении размера, просто тупо сложив

Дайте код
Ответ написан
rockfeeler
@rockfeeler
Фронтендер, дизайнер, верстальщик-перфекционист
Ссылка номер два по запросу:

Ответ написан
Комментировать
uselessmindYEAH
@uselessmindYEAH
Frontback cocaine developer
Сайт в помощь youmightnotneedjquery.com
Ответ написан
Комментировать
Jukk
@Jukk
element.style.clientHeight — height из свойств (это и есть эквивалент $.height который учитывает только padding)
element.offsetHeight — с учетом border, padding, скролла и тд
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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