我打电话的时候有点:
$(window).width();
返回的值是错误的(在除IE之外的所有浏览器上,在IE上它始终是正确的)。我用这行:
$('div.container p').text($(window).width());
更改p
元素的文本,以便在调整窗口大小时可以看到返回的值。以下是返回值错误的示例:
在右上角,您可以看到Chrome上的实际尺寸。
我注意到,当值错误时,它总是偏离17px。
请注意,返回的值并不总是错误的,因此窗口看起来应该是这样的大部分时间。
帮助!
答案 0 :(得分:25)
@Inacio Schweller是对的。
要获得一致的跨浏览器结果,您可以使用非jQuery版本:
window.innerWidth
尝试在浏览器的控制台中输入此内容,无论您使用何种浏览器,都会看到它返回一致的结果。
注意:非jQuery版本window.outerWidth
在IE和Chrome中返回相同的结果,但在Firefox中返回的值略小。
答案 1 :(得分:3)
这是因为浏览器的视口滚动条。 如果您最小化显示滚动条的窗口,则视口会说它比您的值小17磅。如果窗口已满,则不会出现17px差异。