我试图通过从窗口大小中减去页眉和页脚的值,并在文档加载时将内容设置为该值,来动态设置网页内容的高度。
每个函数参数都采用一个元素ID来获取元素的高度。排除content参数。
function setH(header, content, footer)
{
winH = top.innerHeight;
winTitle = 32; // height value of the window title (part of the header)
headH = $(header).outerHeight(true);
footH = $(footer).outerHeight(true);
contentH = winH - winTitle - headH - footH;
$(content).css({'height' : (contentH) + 'px','overflow-y' : 'scroll'});
}
我遇到的问题是,outerHeight值返回了错误的值。页眉返回23px,页脚返回40px。
检查FF和Chrome中的元素时,值分别为25px和44px。
我试过使用innerHeight,outerHeight和outsideHeight(true),但没有获得正确的值。
关于可能出什么问题的任何建议?还是动态设置内容高度的另一种方法?我用完了要拉的头发,所以我们将不胜感激。
编辑:我正在使用iframe中的内容。以下内容:
winH = top.innerHeight
正在获取最顶部iframe窗口的高度值。 最佳答案
可以帮助我的一件事是将检查outerHeight()
的代码放在$(window).load()
中,而不是$(document).ready()
中。显然,在许多情况下,使用$(document.ready()
是可以的,但有时outerHeight()
的值不正确是由元素未完全加载引起的。