Spec-Zone.ru › jQuery

.innerWidth()

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

Содержание:

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

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

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

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

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

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

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

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

Дополнительные заметки:

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

Пример:

Получить innerWidth абзаца.

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>innerWidth 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( "innerWidth:" + p.innerWidth() );
</script>
 
</body>
</html>

Демо:

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

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

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

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

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

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

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

Пример:

Изменить внутреннюю ширину каждого div при первом нажатии (и изменить его цвет).

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>innerWidth demo</title>
  <style>
div {
width: 60px;
padding: 10px;
height: 50px;
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 modWidth = 60;
$( "div" ).one( "click", function() {
$( this ).innerWidth( modWidth ).addClass( "mod" );
modWidth -= 8;
});
</script>
 
</body>
</html>

Демо:

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

Spec-Zone.ru

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