Метод outerWidth - получение ширины элемента
Метод outerWidth
позволяет получать
и изменять ширину элемента с учетом внутренних отступов,
границы и выборочно - внешних отступов элемента. Важно
помнить, что мы будем получать 'вычисленное значение' ширины
(англ. computed width).
Ошибки в вычислении могут также возникать, если
пользователь меняет размеры страницы, а также, если
элемент или его родитель скрыты.
Синтаксис
Так мы можем получить ширину элемента. Этот метод может
принимать необязательный параметр в виде true
или false
(false
стоит по умолчанию),
в зависимости от того - будут учитываться внешние
отступы или нет. В некоторых случаях
полученные значения могут быть дробными:
$(селектор).outerWidth([включая_margin]);
Чтобы изменить ширину элемента - можно передать просто
число (к примеру 400
), тогда единицы
измерения будут пиксели, либо строку,
с указанием единиц измерения (к примеру
'10em'
):
$(селектор).outerWidth(новое значение, [включая_margin]);
Также мы можем применить заданную функцию к каждому
элементу в наборе. При этом первым параметром функция
получит номер элемента в наборе, а вторым параметром
- текущее значение заданной ширины для конкретного
элемента. this
внутри функции будет
указывать на текущий элемент.
Значение ширины элемента поменяется на то,
которое вернет функция:
$(селектор).outerWidth(function(номер в наборе, текущее значение ширины));
Пример
Давайте для сравнения выведем информацию о
ширине абзаца #test
, полученной методами
width
,
innerWidth
и
outerWidth
:
<p id="test">text</p>
<p id="out1"></p>
<p id="out2"></p>
<p id="out3"></p>
<p id="out4"></p>
p {
margin: 10px;
padding: 5px;
border: 2px solid blue;
}
let w1 = $('#test').width();
let w2 = $('#test').innerWidth();
let w3 = $('#test').outerWidth(false);
let w4 = $('#test').outerWidth(true);
$('#out1').text(w1);
$('#out2').text(w2);
$('#out3').text(w3);
$('#out4').text(w4);
Смотрите также
-
метод
width
,
который позволяет получать и изменять ширину элемента -
метод
innerWidth
,
который позволяет получать и изменять ширину элемента, учитывая его внутренние отступы