jQuery (документ) .width () не включает ширину за пределами видимой области - PullRequest
3 голосов
/ 16 сентября 2010

jQuery(document).width() не включает в себя общую ширину (видимый + снаружи видимый, когда есть горизонтальная полоса). Это равно jQuery(window).width(). Я думал, jQuery(window).width() - это ширина видимой области, а jQuery(document).width() - это общая ширина.

Как получить полную ширину или как получить ширину области за пределами видимой области, используя jQuery?

Ответы [ 4 ]

7 голосов
/ 16 сентября 2010

Чтобы получить ширину «невидимой» части, просто вычтите общую ширину документа из видимой ширины окна:

jQuery(document).width() - jQuery(window).width()

Пример jsFiddle

alt text


Как вы пишете, $(document).width() - это общая ширина, а $(window).width() - это ширина, которая видна в данный момент.

Протестировано впоследние версии Chrome, Firefox, Internet Explorer и Safari.

2 голосов
/ 16 сентября 2010

Я не знаю, есть ли эквивалент jQuery, но

document.getElementsByTagName('body')[0].offsetWidth

должно давать правильную ширину страницы, независимо от размера окна.

0 голосов
/ 12 июля 2011

Я думаю, что эти коды также полезны:

self.innerWidth && (document.documentElement && document.documentElement.clientWidth) && document.body.clientWidth;
0 голосов
/ 16 сентября 2010

Это моя ошибка. Я отображал ширину, а затем код где-то после этого настраивал ширину некоторых элементов, что делало документ шире.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...