jQuery(document).width()不包括可视区域之外的宽度

jQuery(document).width()不包括总宽度(当有水平条时可查看+可见外部)。 它等于jQuery(window).width() 。 我认为jQuery(window).width()是可视区域宽度, jQuery(document).width()是总宽度。

如何获取总宽度或如何使用jQuery获取可视区域外的区域宽度?

要获得“不可见”部分的宽度,只需从可见窗口宽度中减去总文档宽度:

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

jsFiddle示例

替代文字


就像你写的那样, $(document).width()是总宽度,而$(window).width()是当前可见的宽度。

在最新的Chrome,Firefox,Internet Explorer和Safari中进行了测试。

我不知道是否有jQuery等价物,但是

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

无论窗口大小如何,都应该给出正确的页面宽度。

这是我的错。 我正在显示宽度然后是代码之后的某个地方正在调整某些元素的宽度,这导致文档更宽。

我认为这些代码也很有用:

 self.innerWidth && (document.documentElement && document.documentElement.clientWidth) && document.body.clientWidth;