我确定我正在犯一个简单的错误,但我只是在发出警报$(window).height()
,它返回的值与$(document).height()
.
我在一个 13 英寸的 MBA 上,我的浏览器窗口高度在 780 像素 - 820 像素(大约)之间最大化时,但每次它返回的窗口高度与文档高度相同。在我正在处理的网站上的每种情况下超过 1000 像素。
这里发生了什么?
alert($(window).height());
alert($(document).height());
我确定我正在犯一个简单的错误,但我只是在发出警报$(window).height()
,它返回的值与$(document).height()
.
我在一个 13 英寸的 MBA 上,我的浏览器窗口高度在 780 像素 - 820 像素(大约)之间最大化时,但每次它返回的窗口高度与文档高度相同。在我正在处理的网站上的每种情况下超过 1000 像素。
这里发生了什么?
alert($(window).height());
alert($(document).height());
如果没有doctype
标签,Chrome 会为两个调用报告相同的值。
添加严格的文档类型 like<!DOCTYPE html>
会导致值按宣传的方式工作。
doctype
标签必须是文档中的第一件事。例如,你不能在它之前有任何文本,即使它没有渲染任何东西。
我有同样的问题,并使用它解决了它。
var w = window.innerWidth;
var h = window.innerHeight;
这是一个问题和答案: screen.availHeight 和 window.height() 之间的区别
也有图片,所以你可以实际看到差异。希望这可以帮助。
基本上,$(window).height()
为您提供浏览器窗口(视口)内的最大高度,并$(document).height()
为您提供浏览器内文档的高度。大多数情况下,它们将完全相同,即使使用滚动条也是如此。
我认为您的文档在窗口中必须有足够的空间来显示其内容。这意味着无需向下滚动即可查看文档的更多部分。在这种情况下,文档高度将等于窗口高度。
如果我们在我们的网页上使用 Doctype,它确实有效,jquery(window) 将返回视口高度,否则它将返回完整的文档高度。
在您的网页顶部定义以下标签:
<!DOCTYPE html>