如何在不使用jquery的情况下获取文档高度和宽度

时间:2011-03-30 09:37:43

标签: javascript

如何以纯获取文档高度和宽度,即不使用 我知道$(document).height()$(document).width(),但我想在中执行此操作。

我的意思是页面的高度和宽度。

10 个答案:

答案 0 :(得分:113)

var height = document.body.clientHeight;
var width = document.body.clientWidth;

检查:this article以获得更好的解释。

答案 1 :(得分:54)

即使是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"]
);

只需将“高度”替换为“高度”即可获得高度。

答案 2 :(得分:31)

这是一个跨浏览器的解决方案:

var w = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
var h = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;

答案 3 :(得分:23)

您应该使用getBoundingClientRect,因为它通常跨浏览器工作,并在边界矩形上为您提供子像素精度

elem.getBoundingClientRect()

答案 4 :(得分:10)

获取没有jQuery的文档大小

document.documentElement.clientWidth
document.documentElement.clientHeight

如果您需要屏幕尺寸

,请使用此选项
screen.width
screen.height

答案 5 :(得分:8)

您也可以尝试:

document.body.offsetHeight
document.body.offsetWidth

答案 6 :(得分:7)

这适用于所有浏览器/设备:

function getActualWidth()
{
    var actualWidth = window.innerWidth ||
                      document.documentElement.clientWidth ||
                      document.body.clientWidth ||
                      document.body.offsetWidth;

    return actualWidth;
}

答案 7 :(得分:3)

如果您想获得页面的整个宽度,包括溢出,请使用document.body.scrollWidth

答案 8 :(得分:1)

如何轻松找到文档的宽度和高度?

在HTML
<span id="hidden_placer" style="position:absolute;right:0;bottom:0;visibility:hidden;"></span>

在javascript中

     var c=document.querySelector('#hidden_placer');

     var r=c.getBoundingClientRect();
     r.right=document width
     r.bottom=document height`

如果需要,您可以在每个窗口调整大小事件上进行更新。

答案 9 :(得分:1)

window是整个浏览器的应用程序窗口。 document是显示的实际加载的网页。

window.innerWidthwindow.innerHeight将考虑滚动条,而这可能并不是您想要的。

document.documentElement是没有顶部滚动条的完整网页。 document.documentElement.clientWidth返回不带y滚动条的文档宽度大小。 document.documentElement.clientHeight返回不带x滚动条的文档高度大小。