我试图通过从窗口大小中减去页眉和页脚值并在文档加载时将内容设置为此值来动态设置网页内容的高度.
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和outerHeight(true)但没有得到正确的值.
什么可能出错?或动态设置内容高度的另一种方法?我已经没有头发拉了所以任何帮助都值得赞赏.
编辑:我正在处理iframe中的内容.以下内容:winH = top.innerHeight获取最顶层iframe窗口的高度值.
解决方法
尝试帮助我的一件事是将检查outerHeight()的代码放在$(window).load()而不是$(document).ready()中.很明显在很多情况下使用$(document.ready()是可以的,但有时候outerHeight()的值不正确是由于元素没有被完全加载.