2011-08-21 77 views
0

你好,这是我的代码,我为了一个DIV使用自动设置其高度的窗口之一。该脚本在Firefox中运行良好,但不适用于Chrome或Safari。我尝试了几种方法来解决这个问题,其中包括一些来自以前的海报,但没有效果,不幸的是。我认为这个问题隐藏在document.getElementById("ID").style.height的某处,但我不完全确定。如果有人能帮忙,我会很高兴。提前致谢! :)的Javascript问题:在FF但不是在Chrome和Safari

window.onload = Resize; 
window.onresize = Resize; 
function Resize() { 
    if (document.documentElement.scrollHeight === document.documentElement.clientHeight) 
    { 
    document.getElementById("ID").style.height = (window.innerHeight-220) + "px"; 
    } 
}; 
+0

你在这里有说明http://www.howtocreate.co.uk/tutorials/javascript/browserwindow –

回答

1

尝试this

function getHeight() { 
    var myHeight = 0; 
    if (typeof(window.innerHeight) == 'number') { 
     //Non-IE 
     myHeight = window.innerHeight; 
    } else if (document.documentElement && document.documentElement.clientHeight) { 
     //IE 6+ in 'standards compliant mode' 
     myHeight = document.documentElement.clientHeight; 
    } else if (document.body && document.body.clientHeight) { 
     //IE 4 compatible 
     myHeight = document.body.clientHeight; 
    } 
    return myHeight; 
} 

function getScrollY() { 
    var scrOfY = 0; 
    if (typeof(window.pageYOffset) == 'number') { 
     //Netscape compliant 
     scrOfY = window.pageYOffset; 
    } else if (document.body && document.body.scrollTop) { 
     //DOM compliant 
     scrOfY = document.body.scrollTop; 
    } else if (document.documentElement && document.documentElement.scrollTop) { 
     //IE6 standards compliant mode 
     scrOfY = document.documentElement.scrollTop; 
    } 
    return scrOfY; 
} 

function Resize() { 
    document.getElementById("ID").style.height = Math.round(getHeight() + getScrollY()) + "px"; 
} 
window.onload = Resize(); 
window.onresize = Resize(); 

这将标识的高度设置为浏览器窗口+垂直滚动偏移的高度。

+0

在Chrome和FF测试,我没有IE安装,否则我会测试,以及...也没有野生动物园。感谢@SenadMeškin,因为我使用他提供的说明来制作这个。 – rlemon

+0

谢谢!现在效果很好。 :) – George

相关问题