Javascript jquery$(window).height()和$(document).height()返回相同的值

Javascript jquery$(window).height()和$(document).height()返回相同的值,javascript,jquery,css,resize,height,Javascript,Jquery,Css,Resize,Height,我需要我的背景图像位于我的菜单div下面。因此,我没有将背景应用于body元素,而是将另一个包含body div的bg div中,并将宽度设置为100%。(我的body div具有指定的宽度),我将背景设置在bg div内 我测试了它,得到了半张背景图片,因为文档不够长。因此,我正在尝试对此进行javascript修复 <!DOCTYPE HTML> ..... <script type="text/javascript" src="jquery-min.js"><

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

我测试了它,得到了半张背景图片,因为文档不够长。因此,我正在尝试对此进行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>

.....
函数setDocumentSize(){
警报($(窗口).height());
警报($(document.height());
如果($(窗口).height()>$(文档).height()){
var height=$(窗口).height()-$(文档).height();
document.getElementById('bg').style.height=height+“px”
}
}
.....
.....
.....
…(本部分背景)
现在,两个警报都会随着视口高度弹出。因此什么也没有发生

我正在使用Firefox16.0.2


这里有一个指向实际页面的链接

这可以用CSS完成。您需要确保所有包含元素的高度至少为页面的高度(
高度:100%
)。这包括
html
body
元素

此代码应适用于您的网站:

html, body, #bg {
  height: 100%;
}

此操作可能失败的另一个原因是缺少doctype声明(
)。添加此选项将修复
$(window).height()
以返回正确的视口高度。

当您的文档未超出窗口(无滚动条)时,它们将显示相同的高度。当您将窗口最小化到滚动条弹出并刷新页面时,您可能会得到提示:-)为什么不使用图像高度的最小高度作为背景div?谢谢!我真的为此发疯了!我想知道为什么会这样?有人有线索吗?