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

时间:2010-09-16 00:31:51

标签: javascript jquery html

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

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

4 个答案:

答案 0 :(得分:7)

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

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

jsFiddle example

alt text


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

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

答案 1 :(得分:2)

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

document.getElementsByTagName('body')[0].offsetWidth
无论窗口大小如何,

都应该给出正确的页面宽度。

答案 2 :(得分:0)

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

答案 3 :(得分:0)

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

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