用于Div高度的Javascript,使其更快
我有以下脚本来控制具有ID的任何元素,在这种情况下,它是一个带有“包装器”ID的div:
window.onload = window.onresize = function ResizeIFrame() { var div = document.getElementById("wrapper"); var myWidth = 0, myHeight = 0; if (typeof (window.innerWidth) == 'number') { //Non-IE myWidth = window.innerWidth ; myHeight = window.innerHeight - 90; } else if (document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight)) { //IE 6+ in 'standards compliant mode' myWidth = document.documentElement.clientWidth ; myHeight = document.documentElement.clientHeight - 90 ; } else if (document.body && (document.body.clientWidth || document.body.clientHeight)) { //IE 4 compatible myWidth = document.body.clientWidth; myHeight = document.body.clientHeight - 90; } div.style.width = myWidth + 'px'; div.style.height = myHeight + 'px'; }
在这个网页中,你可以看到它是如何工作的:http://www.jmquintela.cl/?page_id=145问题是脚本等待页面被完全加载来运行该函数并调整窗口大小,或者等到用户手动调整窗口大小。 但是页面的加载可能需要很长时间,我希望脚本在窗口完全加载前执行,以便用户可以在中间进行导航。 我尝试像这样调用函数,但不起作用:
ResizeIFrame()
请帮助! 再见!
在所有图像和iframe完成加载之前,window.onload不会触发,这就是为什么所有主要的JS库都试图识别DOM何时可以操作的情况,这通常会很快发生。 如果你不使用/不想使用这些库中的一个,那么这里有一个非常轻量级的跨浏览器DOM准备工具:https://github.com/ded/domready#readme
尝试这个:
function ResizeIFrame() {
var div = document.getElementById("wrapper");
var myWidth = 0, myHeight = 0;
if (typeof (window.innerWidth) == 'number') {
//Non-IE
myWidth = window.innerWidth ;
myHeight = window.innerHeight - 90;
} else if (document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight)) {
//IE 6+ in 'standards compliant mode'
myWidth = document.documentElement.clientWidth ;
myHeight = document.documentElement.clientHeight - 90 ;
} else if (document.body && (document.body.clientWidth || document.body.clientHeight)) {
//IE 4 compatible
myWidth = document.body.clientWidth;
myHeight = document.body.clientHeight - 90;
}
div.style.width = myWidth + 'px';
div.style.height = myHeight + 'px';
}
window.onload = window.onresize = ResizeIFrame;
//Then you can just do:
ResizeIFrame(); //whenever you desire
链接地址: http://www.djcxy.com/p/18335.html