欢迎来到福编程网,本站提供各种互联网专业知识!

多个iframe自动调整大小的问题

发布时间:2006-09-18 作者: 来源:转载
一个页面我有多个iframe,且每个iframe的src都不一样,高度也不一样。怎样用一个函数,自动调整这个页面里所有iframe的高度呢?functionchange_size(iframe){iframe.style.height=info_content.document.body.scrollHeight+1+"px";}我用过这种方式,但是等
一个页面我有多个iframe,且每个iframe的src都不一样,高度也不一样。
怎样用一个函数,自动调整这个页面里所有iframe的高度呢?

functionchange_size(iframe)
{
iframe.style.height=info_content.document.body.scrollHeight+1+"px";
}
我用过这种方式,但是等号后面的第一个对象不知道应该怎样动态显示。
比如:
functionchange_size(no)
{
varel_name="iframe"+no;
el=document.getElementById(el_name);
el.style.height=el.document.body.scrollHeight+1+"px";
//举例,实际不能调整高度,因为后面的el不能指向正确的对象
}

所以我现在暂时用了这种方式,对应每个iframe用一次
a.style.height=iframe_a.document.body.scrollHeight
b.style.height=iframe_b.document.body.scrollHeight

希望您能给一个更为简单的方法,我解除js没多久,可能问题有点愚蠢,请见谅。
感觉上你这样写的自动调整会出问题.
如果父页面加载完了,而子页面没有加载完,你控制的iframe高度肯定不会是你所想的高度.

如果你的子页面和父页面同在一个域名下给你推荐一种简单办法.

在父页面中设置一个函数用来调整某一个ifame的高度,然后在子页面的bodyonload中调用父页面的这个函数.这样肯定是等子页面加载完了在设置的高度,这样可设置成子页面的实际高度.

//父页面的设置高度代码,未测试 复制代码 代码如下:
functionsetParentFrameHeight(frameid,height){
varframe=document.getElementById(frameid);
frame.style.height=height;//实际的height可以可以在子页面的body里获得
}

相关推荐