Sar*_*tha 103 javascript
如何在纯JavaScript中获取文档高度和宽度,即不使用jquery.
我知道$(document).height()和$(document).width(),但我想在javascript中这样做.
我的意思是页面的高度和宽度.
Dam*_*amb 116
var height = document.body.clientHeight;
var width = document.body.clientWidth;
Run Code Online (Sandbox Code Playgroud)
检查: 本文为了更好的解释.
Dan*_*Dan 56
即使是http://www.howtocreate.co.uk/tutorials/javascript/browserwindow上给出的最后一个例子也不适用于Quirks模式.比我想象的更容易找到,这似乎是解决方案(从最新的jquery代码中提取):
Math.max(
document.documentElement["clientWidth"],
document.body["scrollWidth"],
document.documentElement["scrollWidth"],
document.body["offsetWidth"],
document.documentElement["offsetWidth"]
);
Run Code Online (Sandbox Code Playgroud)
只需将"高度"替换为"高度"即可获得高度.
ham*_*mid 34
这是一个跨浏览器的解决方案:
var w = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
var h = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;
Run Code Online (Sandbox Code Playgroud)
Eri*_*ner 24
你应该使用getBoundingClientRect它通常跨浏览器工作,并在边界矩形上给你子像素精度.
elem.getBoundingClientRect()
Run Code Online (Sandbox Code Playgroud)
小智 10
不使用jQuery获取文档大小
document.documentElement.clientWidth
document.documentElement.clientHeight
Run Code Online (Sandbox Code Playgroud)
如果您需要屏幕尺寸,请使用此选项
screen.width
screen.height
Run Code Online (Sandbox Code Playgroud)
你也可以尝试:
document.body.offsetHeight
document.body.offsetWidth
Run Code Online (Sandbox Code Playgroud)
这适用于所有浏览器/设备:
function getActualWidth()
{
var actualWidth = window.innerWidth ||
document.documentElement.clientWidth ||
document.body.clientWidth ||
document.body.offsetWidth;
return actualWidth;
}
Run Code Online (Sandbox Code Playgroud)