如何获得文件的高度和宽度,而不使用jQuery
如何获得文档的高度和宽度纯JavaScript的,即不使用jQuery。 我知道$(document).height()和$(document).width(),但我想在JavaScript中做到这一点。
我的意思是页面的高度和宽度。
var height = document.body.clientHeight; var width = document.body.clientWidth;
检查: 这篇文章更好的解释。
甚至在http://www.howtocreate.co.uk/tutorials/javascript/browserwindow上给出的最后一个示例在Quirks模式下也不起作用。; 比我想象的更容易find,这似乎是解决scheme(从最新的jQuery代码中提取):
Math.max( document.documentElement["clientWidth"], document.body["scrollWidth"], document.documentElement["scrollWidth"], document.body["offsetWidth"], document.documentElement["offsetWidth"] );
只需将宽度replace为“高度”即可获得高度。
您应该使用getBoundingClientRect
因为它通常可以跨浏览器使用,并为边界矩形提供子像素精度 。
elem.getBoundingClientRect()
这是一个跨浏览器的解决scheme:
var w = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth; var h = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;
你也可以尝试:
document.body.offsetHeight document.body.offsetWidth
这应该适用于所有浏览器/设备:
function getActualWidth() { var actualWidth = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth || document.body.offsetWidth; return actualWidth; }
获取没有jQuery的文档大小
document.documentElement.clientWidth document.documentElement.clientHeight
如果你需要屏幕尺寸,使用这个
screen.width screen.height
如果要获取页面的全部宽度(包括溢出),请使用document.body.scrollWidth
。