类似ShowMoadlDialog弹出窗口的高度设置问题

liuyun1987 2008-04-16 04:36:02
如CSDN的帖子回复列表页中点击举报后弹出一个类似ShowModalDialog的窗口,本人模仿它的做法,可以传入不同的参数实现全站通用.现在传放的参数都正确,用try catch也没捕捉到错误

<!--ModalDialog-->
<div id="lockwindow" style="display:none;border: medium none; margin: 0pt; padding: 0pt;
z-index:1px; left: 0px; top: 0px; position: absolute;
background-color: rgb(153, 153, 153); background-image: url(images/blank.gif);
filter: alpha(opacity=55); opacity: 0.55857;">
</div>
<!--normal form-->
<div class="PopupBox" id="myForm">
<div class="PopupBoxTop" onmousedown="handleMouseDown(event)">
<div class="PopupBoxTitle"><h1 id="textTitle"></h1></div>
<div class="CloseButton"><a href="#" style="cursor:pointer;" onclick="floatWindowClose()"><h1>关闭</h1></a></div>
</div>
<div class="PopupBoxCenter" id="showWindowContent"></div>
<div class="PopupBoxCenter" id="showWindowFrame">
<iframe allowtransparency="true" id="InsideFrame" style="width: 95%;display:none;" src="" frameborder="0" scrolling="auto"></iframe>
</div>
<div class="PopupBoxBottom"></div>
</div>
<!--normal form end-->

<!--ModalDialog End-->


function showWindow(args)
{
oLockForm.style.display="block";
oMyForm.style.display="block";
oMyForm.style.offsetLeft=(document.documentElement.offsetWidth-width)/2; //居中显示
oMyForm.style.offsetTop=(document.documentElement.offsetHeight-height)/2;
try{
oContent.innerHTML="";
}catch(Execption){}; //清空对象
try{
oFrameDiv.getElementsByTagName("IFRAME")[0].src="";
}catch(ex){};
if(args['title'])
document.getElementById("textTitle").innerHTML=args['title'];

if(args['url'])   
{
oContent.style.display="none";
if(args['height'])
{
oFrameDiv.style.height=""+args['height']+"px";
oFrameDiv.getElementsByTagName("IFRAME")[0].style.height=""+args['height']+"px"; //问题出在这里,设置了DIV的高度后,仍然不显示目标页面里的内容(args['url'])
oFrameDiv.getElementsByTagName("IFRAME")[0].style.display="block";
try{ oFrameDiv.getElementsByTagName("IFRAME")[0].src=args['url']; } catch(e2){};
}
}
if(args['html'])
{
oFrameDiv.style.display="none";
oContent.innerHTML=args['html'];
oContent.style.height=""+args['height']+"px"; //这里也出现同上的问题
}

}


这里有showWindowContent和showWindowFrame两个DIV用来显示不同的内容,当第一次执行showWindow时,传入url或html都能正常执行,如第一次调用showWindow传入的是URL参数,第二次调用showWindow传入的是html时看不到DIV里面的内容,或第一次调用showWindow传入的是html参数,第二次调用showWindow传入的是url时也不能正常显示,和DIV的高度为○一样,但是我传和了高度的参数并设置了DIV的高度。。。现在头都搞晕了,我确定问题就出在DIV的高度设置出了问题。但是就是找不出错在那里。
...全文
98 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
lovehongyun 2008-04-17
  • 打赏
  • 举报
回复
o_o
liuyun1987 2008-04-17
  • 打赏
  • 举报
回复
不知道什么原因,设置高度后并没有把DIV撑开..
liuyun1987 2008-04-17
  • 打赏
  • 举报
回复
显示后的效果如下:
liuyun1987 2008-04-17
  • 打赏
  • 举报
回复
liuyun1987 2008-04-17
  • 打赏
  • 举报
回复
liuyun1987 2008-04-17
  • 打赏
  • 举报
回复

oFrameDiv.style.height=""+args['height']+"px";
问题是出在在DIV设置高度时,DIV并没有撑开.就和高度为0时显示的一样,如图:
图片设置的DIV的高度:
显示出来的效果:
孟子E章 2008-04-17
  • 打赏
  • 举报
回复
document.documentElement.offsetWidth等属性是与DTD有关的,不同的DTD和浏览器,写法要有区分。网上也有很多现成的例子。
举个例子,参见
http://blog.csdn.net/net_lover/archive/2006/08/25/1116488.aspx

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧