jQuery window 宽度有时 return 错误值
jQuery window width sometimes return wrong value
有时我打电话给:
$(window).width();
返回的值是错误的(在除 IE 之外的所有浏览器上,在 IE 上总是正确的)。我使用以下行:
$('div.container p').text($(window).width());
更改 p
元素的文本,以便在调整 window 大小时可以看到返回的值。这是返回值错误时的示例:
在右上角,您可以看到 Chrome 上的实际尺寸。
我注意到当值错误时,它总是偏离 17px。
请注意,返回的值并不总是错误的,因此大多数时候 window 看起来应该是正确的。
求助!
这是因为浏览器视口的滚动条。
如果你最小化 window 足以显示滚动条,视口会说它比你的值小 17px。如果window填满,则不会出现17px的差异。
@Inacio Schweller 是正确的。
要获得一致的跨浏览器结果,您可以使用非jQuery版本:
window.innerWidth
尝试将其输入浏览器的控制台,您会发现 returns 无论您使用何种浏览器,结果都是一致的。
注意:非jQuery版本window.outerWidth
returns在IE和Chrome中的结果相同,但returns在Firefox中的值稍小.
有时我打电话给:
$(window).width();
返回的值是错误的(在除 IE 之外的所有浏览器上,在 IE 上总是正确的)。我使用以下行:
$('div.container p').text($(window).width());
更改 p
元素的文本,以便在调整 window 大小时可以看到返回的值。这是返回值错误时的示例:
在右上角,您可以看到 Chrome 上的实际尺寸。
我注意到当值错误时,它总是偏离 17px。
请注意,返回的值并不总是错误的,因此大多数时候 window 看起来应该是正确的。
求助!
这是因为浏览器视口的滚动条。 如果你最小化 window 足以显示滚动条,视口会说它比你的值小 17px。如果window填满,则不会出现17px的差异。
@Inacio Schweller 是正确的。
要获得一致的跨浏览器结果,您可以使用非jQuery版本:
window.innerWidth
尝试将其输入浏览器的控制台,您会发现 returns 无论您使用何种浏览器,结果都是一致的。
注意:非jQuery版本window.outerWidth
returns在IE和Chrome中的结果相同,但returns在Firefox中的值稍小.