Spec-Zone.ru › jQuery

.innerHeight()

Получение текущей вычисленной внутренней высоты (включая отступы, но не границу) для первого элемента в наборе совпавших элементов или установка внутренней высоты каждого совпавшего элемента.

Содержание:

  • .innerHeight()
    • .innerHeight()
  • .innerHeight( значение )
    • .innerHeight( значение )
    • .innerHeight( функция )

.innerHeight()Возвращает: Число

Описание: Получение текущей вычисленной высоты для первого элемента в наборе совпавших элементов, включая отступы, но не границу.

  • версия добавлена: 1.2.6.innerHeight()

    • Этот метод не принимает никаких аргументов.

Этот метод возвращает высоту элемента, включая верхний и нижний отступы, в пикселях. Если вызов осуществляется на пустом наборе элементов, возвращает undefined (null до jQuery 3.0).

Этот метод не применим к window и document объектам; для них используйте .height().

Рисунок 1 - Иллюстрация измеряемой высоты

Дополнительные примечания:

  • Число, возвращаемое API, связанными с размерами, включая .innerHeight(), в некоторых случаях может быть дробным. Код не должен предполагать, что это целое число. Также размеры могут быть некорректными, когда пользователь увеличивает масштаб страницы; браузеры не предоставляют API для обнаружения этого состояния.
  • Значение, сообщаемое .innerHeight(), не гарантируется как точное, когда элемент или его родитель скрыт. Для получения точного значения убедитесь, что элемент виден перед использованием .innerHeight(). jQuery попытается временно отобразить, а затем снова скрыть элемент, чтобы измерить его размеры, но это ненадежно и (даже когда точно) может значительно повлиять на производительность страницы. Функция измерения с отображением и скрытием может быть удалена в будущих версиях jQuery.

Пример:

Получение innerHeight абзаца.

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>innerHeight demo</title>
  <style>
  p {
    margin: 10px;
    padding: 5px;
    border: 2px solid #666;
  }
  </style>
  <script src="https://code.jquery.com/jquery-3.7.0.js"></script>
</head>
<body>
 
<p>Hello</p>
<p></p>
 
<script>
var p = $( "p" ).first();
$( "p" ).last().text( "innerHeight:" + p.innerHeight() );
</script>
 
</body>
</html>

Демо:

.innerHeight( значение )Возвращает: jQuery

Описание: Установка CSS внутренней высоты каждого элемента в наборе совпавших элементов.

  • версия добавлена: 1.8.innerHeight( значение )

    • значение
      Тип: Строка или Число
      Число, представляющее количество пикселей, или число вместе с необязательной единицей измерения (в виде строки).
  • версия добавлена: 1.8.innerHeight( функция )

    • функция
      Тип: Функция( Целое число индекс, Число высота ) => Строка или Число
      Функция, возвращающая внутреннюю высоту (включая отступы, но не границу) для установки. Получает позицию индекса элемента в наборе и старую внутреннюю высоту в качестве аргументов. Внутри функции, this относится к текущему элементу в наборе.

При вызове .innerHeight("value"), значение может быть либо строкой (число и единица), либо числом. Если для значения предоставлено только число, jQuery предполагает единицу измерения в пикселях. Однако, если предоставлена строка, для высоты может быть использовано любое допустимое измерение CSS (например, 100px, 50%, или auto). Обратите внимание, что в современных браузерах свойство CSS height не включает отступы, границы или отступы, если не используется свойство CSS box-sizing.

Если явная единица измерения не указана (например, "em" или "%"), то предполагается "px".

Пример:

Изменение внутренней высоты каждого div при первом клике (и изменение его цвета).

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>innerHeight demo</title>
  <style>
div {
  width: 60px;
  padding: 10px;
  height: 70px;
  float: left;
  margin: 5px;
  background: red;
  cursor: pointer;
}
.mod {
  background: blue;
  cursor: default;
}
  </style>
  <script src="https://code.jquery.com/jquery-3.7.0.js"></script>
</head>
<body>
 
<div>d</div>
<div>d</div>
<div>d</div>
<div>d</div>
<div>d</div>
 
<script>
var modHeight = 70;
$( "div" ).one( "click", function() {
  $( this ).innerHeight( modHeight ).addClass( "mod" );
  modHeight -= 8;
});
</script>
 
</body>
</html>

Демо:

© The jQuery Foundation and other contributors
Licensed under the MIT License.
https://api.jquery.com/innerHeight

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API