我在JavaScript中使用以下表达式来获取屏幕的宽度,除了在滚动时包含垂直滚动条的宽度外,它似乎工作正常。
var wMax = Math.max(document.documentElement.clientWidth, window.innerWidth || 0)
问题:如何修改上述跨浏览器表达式,使其显示除垂直滚动条之外的屏幕宽度? 我需要使用JavaScript而不是jQuery。
更新1:
我发现以下跨浏览器表达式给出了不包括垂直滚动条的宽度。
var wMax = Math.min(document.documentElement.clientWidth, window.innerWidth
|| screen.width);
答案 0 :(得分:1)
screen.width
是显示屏的宽度,而不是除滚动条之外的浏览器窗口。
您应该使用Math.min
而不是Math.max
,因为没有滚动条的宽度将小于带滚动条的宽度。
此外,如果浏览器无法正常工作,您可以尝试使用clientWidth
之类的document.documentElement.scrollWidth
来获取正文或html标记的宽度。