Как получить переполненную ширину элемента на веб-странице - PullRequest
24 голосов
/ 19 апреля 2009

У меня есть два деления, как это

<div id="parent" style="width:100px:overflow:hidden;">
    <div id="child"> 
      tooooooooooooooooooooo much content to fit in parent
    </div>
</div>

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

При использовании свойств jQuerys $('#child').width, clientWidth, scrollWidth (спасибо bobince) и offsetWidth максимальный размер составляет 1024 пикселей (это ширина моего монитора). Кто-нибудь знает какой-либо способ узнать, насколько широк содержимое элементов, включая переполнение? Если это поможет, то приложение, которое я создаю, будет работать в среде типа киоска, поэтому хорошо подходит только Firefox (даже ночная версия).

Обновление: scrollWidth на родительских работах, я должен был прочитать более внимательно, еще раз спасибо bobince.

Ответы [ 2 ]

32 голосов
/ 19 апреля 2009
document.getElementById('parent').scrollWidth

scrollWidth - расширение IE, которое исторически поддерживалось менее хорошо, чем offsetWidth Однако в настоящее время все современные настольные браузеры включают его.

7 голосов
/ 26 сентября 2015

Используя JQuery, вы можете сделать:

$('#parent')[0].scrollWidth
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...