$(window).height() vs $(document).height
我在使用
时遇到了错误高度的问题
并得到了类似的问题
这里
就我而言,当我尝试
它似乎返回了正确的结果
窗口高度返回 320
而文档高度返回 3552!
我也发现了这个问题
但在我的情况下,窗口已经完全加载,因为我在几次 ajax 操作后调用了高度函数
那么知道当前窗口高度的最佳方法是什么?
编辑:

嗯,你似乎把他们俩都误认为他们做了什么。
$(window).height() 为您提供(浏览器)窗口(即视口)高度的无单位像素值。对于 Web 浏览器,此处的视口是画布的可见部分(通常小于正在呈现的文档)。
$(document).height() 返回正在呈现的文档高度的无单位像素值。但是,如果实际文档的正文高度小于视口高度,则它将返回视口高度。
希望能把事情弄清楚一点。
-
如果一个人想要获得文档的高度,特别是如果它小于视口(例如,为了让 iframe 告诉它的父级它应该是什么大小)怎么办? $(“html”).height() 跨浏览器是否可靠?
-
我个人从不使用 $(html).height() ,因此建议使用 $(document).height() 来获取文档的高度。
-
问题是如果窗口高度大于文档高度,则 $(document).height() 返回窗口/视口高度,而不是文档高度。在我的用例中,iframe 可能会变得更高或更短,并且需要能够告诉其父级它应该是什么高度。如果它很高然后变短,它需要能够测量小于其视口的高度。
-
你如何解释 $(window).height() 返回一个像 3300 万像素这样的拥抱值?
-
“无单位像素值”……嗯?”像素”就是一个单位!
-
@Noldorin 我试图表达的意思(不成功?)是两个实用程序返回的值只是数字,不包含以像素为单位的单位。有趣的是,像素并不是真正意义上的单位。
-
啊,我明白你现在的意思了。好吧,即使根据技术定义,像素仍然是一个单位,但那是语义……
这解决了我
1 2
|
var width = window.innerWidth;
var height = window.innerHeight;
|
AFAIK $(window).height(); 返回窗口的高度,$(document).height(); 返回文档的高度
- 重言式。 $(window).height() 只是用于”返回窗口高度”的计算机 javascript 语言。你刚才用人类语言说了那行代码。我没有投反对票,因为我不相信。
-
它们的名称已经写在函数中,您只需将它们命名为相同。但是,最好解释一下窗口和文档是什么。
jQuery $(window).height(); 或 $(window).width(); 只有当您的 html 页面文档类型为 html
时才能完美运行
1 2 3
|
<!DOCTYPE html>
<html lang="en">
…
|
-
解决了我在 Firefox 上的问题 – 版本。至少在 88 中,如果未设置 <!DOCTYPE html>,则 $(window).height() 返回正文的高度。
$(document).height:如果您的设备 height 更大。您的页面没有任何滚动条;
$(document).height: 假设您没有滚动并返回此 height;
$(window).height: 在您的设备上返回您的页面 height。
你需要知道文档和窗口是什么意思。
window 对象表示浏览器中打开的窗口。单击此处
Document 对象是文档树的根。单击此处
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/268737.html