[url]http://blog.youkuaiyun.com/wumingwei_123/archive/2008/07/08/2624477.aspx[/url]
以前在项目中经常遇到 使用iframe的是时候子页的高度始终调整不好
为此很浪费时间 在网上搜索了哈 部分功能有 于是作了个修改
代码如下:
里面大部分的代码都已经注释了 我想应该很详细了
希望对大家有帮助 特别说明 这个写成文件后可以在多iframe的页面使用 互不干扰
以前在项目中经常遇到 使用iframe的是时候子页的高度始终调整不好
为此很浪费时间 在网上搜索了哈 部分功能有 于是作了个修改
代码如下:
<script type="text/javascript">
//自动调整iframe框架的方法
function iframeAuto() {
try {
if(window!=parent) {
//定位需要调整的frame框架(在父级窗口中查找)
var a = parent.document.getElementsByTagName("IFRAME");
for(var i=0; i<a.length; i++) {
if(a[i].contentWindow==window){
var h1=0, h2=0;
a[i].parentNode.style.height = a[i].offsetHeight+"px";
a[i].style.height = "10px";
//首先设置高度为10px,后面会修改
if(document.documentElement&&
document.documentElement.scrollHeight){
h1=document.documentElement.scrollHeight;
}
if(document.body)
h2=document.body.scrollHeight;
var h=Math.max(h1, h2);
//取两者中的最大值
if(document.all) {h += 4;}
if(window.opera) {h += 1;}
//调整框架的大小
if(h>540) {
a[i].style.height=a[i].parentNode.style.height=h +"px";
} else {
a[i].style.height=a[i].parentNode.style.height= 540+"px";
}
//这个地方可以根据实际的情况进行修改
}//end if
}//end for
}//end if
} catch (ex)
{}
} //end function
//事件绑定的方法,支持IE5以上版本
if(window.attachEvent)
{
window.attachEvent("onload", iframeAuto);
} else if(window.addEventListener) {
window.addEventListener('load', iframeAuto, false);
} //-->
</script>
里面大部分的代码都已经注释了 我想应该很详细了
希望对大家有帮助 特别说明 这个写成文件后可以在多iframe的页面使用 互不干扰