首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery中的$(window).height()和$(document).height()是否发生了更改?

jQuery中的$(window).height()和$(document).height()是否发生了更改?
EN

Stack Overflow用户
提问于 2014-05-29 00:59:09
回答 1查看 1.3K关注 0票数 3

jQuery documentation http://api.jquery.com/height/

代码语言:javascript
复制
// Returns height of browser viewport
$( window ).height();

// Returns height of HTML document
$( document ).height();

但我从这两种方法中得到了相同的值。例如,( html包含溢出的带有height=about 3000px的div )

代码语言:javascript
复制
$( window ).height();
3588
$( document ).height();
3588
$("body").height();
3572
$("html").height();
3588
window.innerHeight;
667

它在Chrome和Firefox浏览器上都得到了相同的结果。(由于工具栏的大小不同,该值略有不同。)

我对$( window ).height()的期望是“浏览器视窗的高度”,即window.innerHeight = 667。但它给了3588,这比我预期的要大得多。

我是不是理解错了?viewport是否有不同的含义?

总之,在Find the exact height and width of the viewport in a cross-browser way (no Prototype/jQuery)中,我们解释了获取视区高度和宽度的方法。在这篇文档中,“视区”是我所想的,而不是jQuery文档中解释的那个。

===============================================

最近编辑:

当我在计算机中打开脱机html文件时,它只给出错误的答案3588。当我将html文件上传到我的博客并对其进行测试时,它给出了预期的正确答案667。打开脱机文件(file://) )和打开在线html文件(http://)?

我的测试html文件的简短版本。

代码语言:javascript
复制
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>

<div style="height:3500px; background:rgb(200,200,255)" id="result"></div>

<script>
$("#result").html("$(window).height():? "+$(window).height());
</script>

它给人以静止的感觉

代码语言:javascript
复制
$(window).height():? 3516

仅在脱机状态下。

EN

回答 1

Stack Overflow用户

发布于 2014-09-28 03:45:01

我不确定这是一个bug还是行为上的有意改变,但您所描述的确实会发生在较新的jquery版本中。您可以改用window.innerHeight。它是跨浏览器的(IE 6+)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23917673

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档