Я написал несколько примеров, чтобы увидеть, в чем разница, но они показывают мне те же результаты для ширины и высоты.
<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
var div = $('.test');
var width = div.width(); // 200 px
var innerWidth = div.innerWidth(); // 200px
var outerWidth = div.outerWidth(); // 200px
var height = div.height(); // 150 px
var innerHeight = div.innerHeight(); // 150 px
var outerHeight = div.outerHeight(); // 150 px
});
</script>
<style type="text/css">
.test
{
width: 200px;
height: 150px;
background: black;
}
</style>
</head>
<body>
<div class="test"></div>
</body>
</html>
В этом примере вы можете видеть, что они выводят одинаковые результаты. Если кто знает, в чем разница, покажите мне соответствующий ответ.
Спасибо.
<div>
Ответы:
Вы видели эти примеры? Похоже на ваш вопрос.
Работа с шириной и высотой
jQuery - Размеры
jQuery: высота, ширина, внутренний и внешний
источник
Как упоминалось в комментарии, документация точно сообщает вам, в чем заключаются различия. Но в итоге:
источник
width = получить ширину,
innerWidth = получить ширину + отступ,
outerWidth = получить ширину + отступ + границу и, возможно, поле
Если вы хотите протестировать, добавьте отступы, поля, границы в свои классы .test и повторите попытку.
Также читайте в документации jQuery ... Все, что вам нужно, в значительной степени есть
источник
Представляется необходимым рассказать о присвоении значений и сравнить значение параметра "ширина" в jq: (предположим, что new_value определено в пикселях)
Три инструкции не дают одинакового эффекта: потому что первая инструкция jquery определяет внутреннюю ширину элемента, а не «ширину». Это сложно.
Чтобы получить тот же эффект, вы должны вычислить отступы перед (предположим, что var - это прокладки), правильная инструкция для jquery для получения того же результата, что и чистый js (или параметр css 'width'):
Также можно отметить, что для:
w1 - это внутренняя ширина, а w2 - ширина (значение атрибута css). Разница, которая не задокументирована в документации JQ API.
С уважением
втройне
Примечание: на мой взгляд, это можно рассматривать как ошибку JQ 1.12.4, выход должен заключаться в том, чтобы окончательно ввести список принятых параметров для .css ('параметр', значение), потому что за 'параметрами' есть разные значения приняты, которые имеют интерес, но всегда должны быть ясны. В этом случае: «внутренняя ширина» не будет означать то же самое, что «ширина». Мы можем найти след этой проблемы в документации по .width (значение) с предложением: «Обратите внимание, что в современных браузерах свойство ширины CSS не включает отступы»
источник
.css('width')
такой же, как.outerWidth()
(то есть включает границу, а также отступы) whenbox-sizing: border-box;
.Согласитесь со всеми приведенными выше ответами. Просто чтобы добавить с точки зрения окна или перспективы браузера,
innerWidth/ innerheight
включает только область содержимого окна, ничего больше, кромеouterWidth/ outerHeight
включает область содержимого Windows, а также такие вещи, как панели инструментов, полосы прокрутки и т. д., и эти значения всегда будут равны или больше, чем значения innerWidth / innerHeight.Надеюсь, это поможет больше ...
источник
Что я вижу прямо сейчас, так это то, что
innerWidth
включает в себя весь контентЭто если окно есть
900px
и контент есть1200px
(и есть свиток)innerWidth
дает мне1200px
outerWidth
дает мне900px
Совершенно неожиданно в моих глазах
* В моем случае контент содержится в
<iframe>
источник