首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jquery $(window).height()和$(document).height()返回相同

jquery $(window).height()和$(document).height()返回相同
EN

Stack Overflow用户
提问于 2013-04-29 13:48:06
回答 2查看 4.2K关注 0票数 4

我需要我的背景图像下我的菜单div。因此,我没有将背景应用于body元素,而是放入另一个包含body div的bg div中,并将宽度设置为100%。(我的body div具有指定的宽度),我在bg div中设置了背景。

我测试了它,因为文档不够长,我得到了半张背景图片。因此,我正在尝试对此进行javascript修复。

代码语言:javascript
复制
<!DOCTYPE HTML>
.....
<script type="text/javascript" src="jquery-min.js"></script>
<script type="text/javascript">
function setDocumentSize() {
    alert($(window).height());
    alert($(document).height());
    if ($(window).height()>$(document).height()) {
        var height = $(window).height()-$(document).height();
        document.getElementById('bg').style.height=height+"px"
        }
    }
.....
</script>
.....
<body onload="setDocumentSize()">
<div class="menu">
.....
</div>
<div class="bg">
    <div class="body">
    .....(background in this div) 
    </div>
</div>

现在,两个警报都会随视口高度一起弹出。因此,什么都不会发生。

我使用的是Firefox 16.0.2

下面是指向实际页面http://servapps.dyndns-work.com/abstract/的链接

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-29 14:02:24

这可以在CSS中完成。您需要确保所有包含元素的高度至少等于页面的高度(height: 100%)。这包括htmlbody元素。

这段代码应该适用于你的网站:

代码语言:javascript
复制
html, body, #bg {
  height: 100%;
}
票数 1
EN

Stack Overflow用户

发布于 2013-11-25 15:37:01

这可能失败的另一个原因是缺少文档类型声明(<!DOCTYPE html>)。添加此选项可修复$(window).height()以返回正确的视口高度。

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

https://stackoverflow.com/questions/16271950

复制
相关文章

相似问题

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