当前位置: 首页 > 图文教程 > 网络编程 > Javascript > 多个iframe自动调整大小的问题

Javascript
用jquery实现学校的校历(asp.net+jquery ui 1.72)
使用JQUERY Tabs插件宿主IFRAMES
jquery 简短右键菜单 多浏览器兼容
JQery 渐变图片导航效果代码 漂亮
HTML node相关的一些资料整理
JavaScript与DropDownList 区别分析
20个非常棒的Jquery实用工具 国外文章
Firefox+FireBug使JQuery的学习更加轻松愉快
firefox firebug中文入门教程 脚本之家新年特别版
firefox插件Firebug的使用教程
javascript addLoadEvent函数说明
javascript getElementsByClassName 和js取地址栏参数
让firefox支持IE的一些方法的javascript扩展函数代码
javascript 多种搜索引擎集成的页面实现代码
Javascript 模拟点击事件(点击链接与html点击) 兼容IE/Firefox
javascript 模拟点击广告
javascript 精确获取样式属性(上)
javascript 精确获取样式属性(下)
javascript 精确获取页面元素的位置
javascript 可控式透明特效实现代码

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 197 ::
收藏到网摘: n/a

一个页面我有多个iframe,且每个iframe的src都不一样,高度也不一样。
怎样用一个函数,自动调整这个页面里所有iframe的高度呢?
function change_size(iframe)
{
iframe.style.height=info_content.document.body.scrollHeight+1+"px";
}
我用过这种方式,但是等号后面的第一个对象不知道应该怎样动态显示。
比如:
function change_size(no)
{
var el_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的高度,然后在子页面的body onload中调用父页面的这个函数.这样肯定是 等子页面加载完了 在设置的高度,这样可设置成子页面的实际高度.
//父页面的设置高度代码,未测试
复制代码 代码如下:

function setParentFrameHeight(frameid,height){
var frame= document.getElementById(frameid);
frame.style.height = height;//实际的height可以可以在子页面的body里获得
}