动态设置iframe的高度

一个经典的页面布局:页头,中间部分,页尾,中间部分又分为左侧和右侧。左侧的内容相对固定,右侧是用iframe嵌套内容页。所以右侧的高度根据加载的页面内容的不同而不同。

这种情况下,要实现右侧当实际高度低于某个固定值时,设为固定的高度,当大于某个固定值,采用此时的实际高度。

ExpandedBlockStart.gif
< iframe  id ="contentFrame"  name ="contentFrame"  src ="<%=this.Page.ResolveUrl(" ~/MatchIndex.aspx")% > " frameborder = "0"  scrolling = "no"  width = "100%"  height = "100%"  onload = "Javascript:SetWinHeight(this)">
</ iframe >

通过脚本函数SetWinHeight(this)设置页面加载后的高度

ExpandedBlockStart.gif
var  ContentFrame;
function  SetWinHeight(obj) 
{
    ContentFrame 
=  obj;
    ChangeHeight();
}

function  ChangeHeight() 
{
    
var  obj  =  ContentFrame;
    
var  height;
    
if  (document.getElementById) 
    {
        
if  (obj  &&   ! window.opera) 
        {
             
if  (obj.contentDocument  &&  obj.contentDocument.body.offsetHeight)
             {
                 height 
=  obj.contentDocument.body.offsetHeight; // obj是iframe框架id,则使用contentDocument来指它里面的内容页
                  if (height  <   750 )
                       obj.height 
=   750 ;
                 
else
                       obj.height 
=  height;
              }
              
else   if  (obj.Document  &&  obj.Document.body.scrollHeight)
              {
                  height 
=  obj.Document.body.scrollHeight;
                  
if (height  <   750 )
                       obj.height 
=   750 ;
                  
else
                       obj.height 
=  height;
               }
          }
    }
}

 


转载于:https://www.cnblogs.com/purplefox2008/archive/2010/09/08/1821518.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值