$(window).height()vs $(document).height

Paw*_*iya 57 jquery

我有错误的高度问题

$(window).height();
Run Code Online (Sandbox Code Playgroud)

并在这里得到了类似的问题

在我的情况下,当我尝试

$(document).height();
Run Code Online (Sandbox Code Playgroud)

它似乎给我正确的结果

窗口高度返回320

而文件高度返回3552!

我也发现了这个问题

但在我的情况下窗口已经完全加载,因为我在几次ajax操作后调用高度函数

那么了解当前窗口高度的最佳方法是什么?

编辑:

在此输入图像描述 在此输入图像描述

Say*_*yan 120

好吧,你似乎把它们都弄错了.

$(window).height()获取(浏览器)窗口(视口)高度的无单位像素值.对于Web浏览器,此处的视口是画布的可见部分(通常小于正在渲染的文档).

$(document).height()返回正在呈现的文档高度的无单位像素值.但是,如果实际文档的主体高度小于视口高度,则它将返回视口高度.

希望能稍微清理一下.

  • 问题是如果窗口高度大于文档高度,则$(document).height()返回窗口/视口高度,而不是文档高度.在我的用例中,iframe可能会变得更高或更短,并且需要能够告诉其父级应该是什么高度.如果它很高然后变短,它需要能够测量小于其视口的高度. (4认同)
  • 如果要获取文档的高度怎么办,特别是如果文档的高度小于视口(例如,为了使iframe告诉其父级应该是什么大小)怎么办?$(“ html”)。height()在浏览器之间是否可靠? (2认同)

小智 10

这固定了我

var width = window.innerWidth;
var height = window.innerHeight;
Run Code Online (Sandbox Code Playgroud)


gam*_*p16 5

AFAIK $(window).height();返回窗口$(document).height();的高度并返回文档的高度

  • 同义反复.$(window).height()只是用"返回窗口高度"的计算机javascript语言.你只是说了人类语言中的代码行.虽然我没有奉行,但因为我不相信. (7认同)

zsy*_*ssk 0

您需要知道文档和窗口的含义。

  1. window 对象代表浏览器中打开的窗口。点击这里
  2. Document 对象是文档树的根。点击这里