IE vs其他浏览器offsetHeight和scrollHeight

时间:2012-09-17 16:28:31

标签: javascript css scroll overflow frame

所以我有一个resize处理程序,根据右边是否有滚动(溢出vs不溢出)来调整某些列标题的大小,以调整间距以考虑滚动。当我改变帧的大小以使帧溢出而不是溢出时,调整大小起作用。但是当我以某种方式修改列而不影响帧大小时,我仍然需要调整大小但调整大小会出错。下面是我有一段调整大小的伪代码。

if (display != "none") {
    if (frame.offsetHeight >= frame.scrollHeight) {
        display = "none"
    }
} else {
    if (frame.offsetHeight < frame.scrollHeight) {
        display = ""
    }
}

所以问题在于,当帧大小未更改时调用resize处理程序时,在FF,Chrome和Safari中,scrollHeight比frame.offsetHeight多1(即如果offsetHeight是100px,scrollHeight实际上是101px)但在IE中,offsetHeight和scrollHeight是相同的,因此在display == ""frame.offsetHeight < frame.scrollHeight失败时成为条件。 IE和其他浏览器的这些属性是否以不同的方式处理?

1 个答案:

答案 0 :(得分:1)

您是否尝试过frame.contentWindow.document.body.offsetHeight来获得身高?内容的高度而不是iFrame标记对此更有效。