使用JavaScript计算文档高度

时间:2014-08-24 17:19:43

标签: javascript jquery css

我开发了一个利用JQuery的网站,并使用JQuery命令在页面上应用了所有样式,这样我就可以使用从window.innerHeight等javascript函数中提取的数字来计算属性值。它很棒。但是现在我试图计算文档的高度(不是窗口高度,请注意),减去页脚的高度,并定位一个"阴影"图片就在页脚上方。但是,我遇到了麻烦,因为Safari似乎错误地计算了这个数字,并且随意地定位了阴影元素,似乎每次都会出现略微不同的位置。

$("div#shadowBottom").css({
"position":"absolute",
"top":(window.scrollMaxY-$(".footer").css("height").replace("px","")-50)+"px",
"left":"0px",
"width":"100%"
"height":"50px"
});

我还尝试将文档包装在div中并计算其高度减去.footer元素的高度和#shadowBottom元素的高度无济于事。

2 个答案:

答案 0 :(得分:1)

你可以试试这个:

var body = document.body;
var html = document.documentElement;
var height = Math.max( body.scrollHeight, body.offsetHeight, 
                   html.clientHeight, html.scrollHeight, html.offsetHeight );

答案 1 :(得分:0)

以下代码完美无缺:

$("div#gradientBottom").css({
    "background":"url(\"gradientBottom.png\")",
    "position":"absolute",
    "top":(Math.max(document.body.scrollHeight, document.body.offsetHeight, document.documentElement.clientHeight, document.documentElement.scrollHeight, document.documentElement.offsetHeight)-$(".footer").css("height").replace("px","")-50)+"px",
    "left":"0px",
    "width":"100%",
    "height":"50px"
});