jQuery窗口宽度有时会返回错误的值

时间:2015-05-31 16:36:22

标签: jquery window width

我打电话的时候有点:

$(window).width();

返回的值是错误的(在除IE之外的所有浏览器上,在IE上它始终是正确的)。我用这行:

$('div.container p').text($(window).width());

更改p元素的文本,以便在调整窗口大小时可以看到返回的值。以下是返回值错误的示例: http://prntscr.com/7biu4y

在右上角,您可以看到Chrome上的实际尺寸。

我注意到,当值错误时,它总是偏离17px。

请注意,返回的值并不总是错误的,因此窗口看起来应该是这样的大部分时间。

帮助!

2 个答案:

答案 0 :(得分:25)

@Inacio Schweller是对的。

要获得一致的跨浏览器结果,您可以使用非jQuery版本:

window.innerWidth

尝试在浏览器的控制台中输入此内容,无论您使用何种浏览器,都会看到它返回一致的结果。

注意:非jQuery版本window.outerWidth在IE和Chrome中返回相同的结果,但在Firefox中返回的值略小。

答案 1 :(得分:3)

这是因为浏览器的视口滚动条。 如果您最小化显示滚动条的窗口,则视口会说它比您的值小17磅。如果窗口已满,则不会出现17px差异。