【问题标题】:document and window height return the same value?文档和窗口高度返回相同的值?
【发布时间】:2012-08-19 08:41:57
【问题描述】:

由于某种原因,文档高度和窗口高度都返回相同的值,因此当从文档高度中减去窗口时,它返回 0。有人知道为什么会发生这种情况吗?

console.log($(window).height());

console.log($(document).height());

以上都返回文档高度

【问题讨论】:

  • 可能是因为它们是一样的?您需要添加有关您的问题的更多信息..

标签: javascript jquery window height document


【解决方案1】:

您可能忘记了页面开头的文档类型<!DOCTYPE html>

【讨论】:

  • 在我删除了!DOCTYPE 之间的空格后,这为我解决了这个问题。您可能想更新您的答案。谢谢!
  • 这太棒了,我认为<!DOCTYPE html> 没用
【解决方案2】:

我遇到了类似的问题,但我能够解决。 我发现了

$(window).height(); 

在 FF 中返回页面的整个高度。 最终我意识到我在页面的任何 html 之前输出了一个调试短语“test”。 Doc 类型之前的 IE。

删除此“测试”文本后,视口高度将按预期返回。

【讨论】:

  • 谢谢!我只是不明白是什么问题,终于弄明白了,多亏了你。在我的情况下,它是文档类型之前的 var_dump
  • 这个问题的最高投票答案不是一个解决方案,因为对我来说就像海报所说的那样,文档高度和窗口高度是相同的,并且显然比窗口实际更大。然后我确定我已经声明了 DOCTYPE 并且我已经声明了。我注意到有人在 DOCTYPE 声明之前的开头放置了一个元标记。我删除了它并为我修复了它。这是一个FF错误。 DOCTYPE 之前不能有任何内容,否则它将报告窗口高度与文档高度一样长。
【解决方案3】:

这是因为您的文档填满了视口(可用于显示文档的区域)。

来自the documentation

$(window).height();   // returns height of browser viewport
$(document).height(); // returns height of HTML document

如果您的文档足够长以占用一页以上,则第二个值可能大于第一个值(至少如果文档位于 iframe 内,请查看 this demo)。可能还有其他情况会产生差异,但我现在没有想到。

【讨论】:

  • document 可能小于window
  • 当您的页面比视口长时,也可能是文档类型问题或其他问题
  • @bia.migueis 您无需查找文档类型。文档比窗口大是正常的。
  • 问题没有指定内容比窗口长,所以你不应该假设它。
  • 我不这么认为。参见“如果”
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-06
  • 1970-01-01
相关资源
最近更新 更多