请教一个弹出div在ff中的问题!

hilllog 2010-01-12 09:16:30
我在网上找到一个弹出div窗口的方法,经改动后在ie下正常,但在FF中却没有了遮罩层,不知何解,求教!!


<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>无标题页</title>
<style type="text/css">
html,body {height:100%; margin:0px; font-size:12px;}
.mydiv
{
background-color: #FFCC66;
border: 1px solid #FFOOOO;
text-align: center;
line-height: 40px;
font-size: 12px;
font-weight: bold;
z-index:999;
left:50%;
top:50%;
position:fixed!important;/* FF IE7*/
position:absolute;/*IE6*/
_top: expression(eval(document.compatMode &&
document.compatMode=='CSS1Compat') ?
documentElement.scrollTop + (document.documentElement.clientHeight-this.offsetHeight)/2 :/*IE6*/
document.body.scrollTop + (document.body.clientHeight - this.clientHeight)/2);/*IE5 IE5.5*/

}
.bg,.popIframe
{
background-color: #666;
display:none;
width: 100%;
height: 100%;
left:0;
top:0;/*FF IE7*/
filter:alpha(opacity=50);/*IE*/
opacity:0.5;/*FF*/
z-index:1;
position:fixed!important;/*FF IE7*/
position:absolute;/*IE6*/
_top: expression(eval(document.compatMode &&
document.compatMode=='CSS1Compat') ?
documentElement.scrollTop + (document.documentElement.clientHeight-this.offsetHeight)/2 :/*IE6*/
document.body.scrollTop + (document.body.clientHeight - this.clientHeight)/2);/*IE5 IE5.5*/
}
.popIframe {
filter:alpha(opacity=0);/*IE*/
opacity:0;/*FF*/
}
</style>

<script language="javascript" type="text/javascript">
function showDiv(divName,intWidth,intHeight)
{
var newDiv=document.getElementById(divName);
newDiv.style.width=intWidth+'px';
newDiv.style.height=intHeight+'px';
newDiv.style.marginLeft=intWidth/2*-1+'px';
newDiv.style.marginTop=intHeight/2*-1+'px';
document.getElementById(divName).style.display='block';

var newFrame=document.createElement("iframe"); //这段是我改的,原来是在html中定义的改为在js中生成后ff的遮罩没不能显示了。
newFrame.id="popIframe";
newFrame.frameborder="0";
newFrame.className='popIframe';
document.appendChild(newFrame);
document.getElementById('popIframe').style.display='block';
document.getElementById('bg').style.display='block';
}
function closeDiv(divName)
{
document.getElementById(divName).style.display='none';
document.getElementById('bg').style.display='none';
document.getElementById('popIframe').style.display='none';
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div id="popDiv" class="mydiv" style="display:none;">这是弹出式的窗口<br/>
<a href="javascript:closeDiv('popDiv')">关闭</a></div>
<div id="bg" class="bg" style="display:none;"></div>
<a href="javascript:showDiv('popDiv',500,100)">弹出</a>
<%--<iframe id='popIframe' class='popIframe' frameborder='0' ></iframe>--%>
//这里是原来的做法,Iframe在这里定义的话在FF中显示就正常了!
</form>
</body>
</html>
...全文
158 26 打赏 收藏 转发到动态 举报
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复
hilllog 2010-01-14
  • 打赏
  • 举报
回复
唉,摆了两天都没能解决,散分算了.....
hilllog 2010-01-14
  • 打赏
  • 举报
回复
[Quote=引用 23 楼 happy664618843 的回复:]
设置下z-index大小看行不 将背景色设置为transpart
[/Quote]
试过了,将iframe的背景设成透明及加大z-index到9999都是没有用的!!
flowerjack 2010-01-14
  • 打赏
  • 举报
回复
happy664618843 2010-01-14
  • 打赏
  • 举报
回复
设置下z-index大小看行不 将背景色设置为transpart
hilllog 2010-01-14
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 fengyarongaa 的回复:]
用debugger调试下啊

看看情况具体 出在那里

然后把 代码 贴 上来
[/Quote]
问题是没有出错啊,在两个浏览器上都可以运行,只不过FF里没有了遮罩层罢了,我想可能是跑到屏幕外了,但就是搞不清楚那里会导致了这种情况!
ycproc 2010-01-14
  • 打赏
  • 举报
回复
用debugger调试下啊

看看情况具体 出在那里

然后把 代码 贴 上来
zhouzangood 2010-01-14
  • 打赏
  • 举报
回复
up
vip__888 2010-01-14
  • 打赏
  • 举报
回复
的确有差异 不过我不懂如何兼容
hilllog 2010-01-14
  • 打赏
  • 举报
回复
再顶
hilllog 2010-01-14
  • 打赏
  • 举报
回复
hilllog 2010-01-14
  • 打赏
  • 举报
回复
还没有解决问题,再顶!
sindevil 2010-01-13
  • 打赏
  • 举报
回复
[Quote=引用楼主 hilllog 的回复:]
我在网上找到一个弹出div窗口的方法,经改动后在ie下正常,但在FF中却没有了遮罩层,不知何解,求教!!

HTML code<htmlxmlns="http://www.w3.org/1999/xhtml"><headrunat="server"><title>无标题页</title><styletype="text/css">
html,body{height:100%; margin:0px; font-size:12px;}
.mydiv{
background-color: #FFCC66;
border: 1px solid #FFOOOO;
text-align: center;
line-height: 40px;
font-size: 12px;
font-weight: bold;
z-index:999;
left:50%;
top:50%;
position:fixed!important;/* FF IE7*/
position:absolute;/*IE6*/
_top: expression(eval(document.compatMode &&
document.compatMode=='CSS1Compat') ?
documentElement.scrollTop + (document.documentElement.clientHeight-this.offsetHeight)/2 :/*IE6*/
document.body.scrollTop + (document.body.clientHeight - this.clientHeight)/2);/*IE5 IE5.5*/}
.bg,.popIframe{
background-color: #666;
display:none;
width: 100%;
height: 100%;
left:0;
top:0;/*FF IE7*/
filter:alpha(opacity=50);/*IE*/
opacity:0.5;/*FF*/
z-index:1;
position:fixed!important;/*FF IE7*/
position:absolute;/*IE6*/
_top: expression(eval(document.compatMode &&
document.compatMode=='CSS1Compat') ?
documentElement.scrollTop + (document.documentElement.clientHeight-this.offsetHeight)/2 :/*IE6*/
document.body.scrollTop + (document.body.clientHeight - this.clientHeight)/2);/*IE5 IE5.5*/}
.popIframe{
filter:alpha(opacity=0);/*IE*/
opacity:0;/*FF*/}</style><scriptlanguage="javascript" type="text/javascript">function showDiv(divName,intWidth,intHeight)
{var newDiv=document.getElementById(divName);
newDiv.style.width=intWidth+'px';
newDiv.style.height=intHeight+'px';
newDiv.style.marginLeft=intWidth/2*-1+'px'; newDiv.style.marginTop=intHeight/2*-1+'px'; document.getElementById(divName).style.display='block';
var newFrame=document.createElement("iframe");//这段是我改的,原来是在html中定义的改为在js中生成后ff的遮罩没不能显示了。 newFrame.id="popIframe";
newFrame.frameborder="0";
newFrame.className='popIframe';
document.appendChild(newFrame);
document.getElementById('popIframe').style.display='block'; document.getElementById('bg').style.display='block';
}function closeDiv(divName)
{
document.getElementById(divName).style.display='none';
document.getElementById('bg').style.display='none';
document.getElementById('popIframe').style.display='none';
}</script></head><body><formid="form1" runat="server"><divid="popDiv" class="mydiv" style="display:none;">这是弹出式的窗口<br/><ahref="javascript:closeDiv('popDiv')">关闭</a></div><divid="bg" class="bg" style="display:none;"></div><ahref="javascript:showDiv('popDiv',500,100)">弹出</a>
<%--<iframe id='popIframe' class='popIframe' frameborder='0' ></iframe>--%> //这里是原来的做法,Iframe在这里定义的话在FF中显示就正常了!</form></body></html>
[/Quote]

帮顶
gdsimon 2010-01-13
  • 打赏
  • 举报
回复
帮顶
hilllog 2010-01-13
  • 打赏
  • 举报
回复
继续顶
night_2009 2010-01-13
  • 打赏
  • 举报
回复
FF和IE在CSS兼容上有差異。所以會出現這樣的情況,上次我就遇到同樣的問題了。 不過是不同版本的IE產生的
hilllog 2010-01-12
  • 打赏
  • 举报
回复
天气太冷了,大家都睡了吧,明天再看看有没有高人给答案了。。。
hilllog 2010-01-12
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 jxyxhz 的回复:]
找得不对。
这里面有人回帖是正确的。
http://topic.csdn.net/u/20091028/13/faed6de0-b9ae-49c0-aa14-a33210d1feb7.html
[/Quote]
我的DIV不是弹不出来,只是在IE下完全正确,在FF下也可以弹出来,但后面的遮罩层没有了。。。。
Justin-Liu 2010-01-12
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 jxyxhz 的回复:]
找得不对。
这里面有人回帖是正确的。
http://topic.csdn.net/u/20091028/13/faed6de0-b9ae-49c0-aa14-a33210d1feb7.html
[/Quote]
收藏你滴 有时间好好学学
Justin-Liu 2010-01-12
  • 打赏
  • 举报
回复
啊 弱了…… 是className
小_虎 2010-01-12
  • 打赏
  • 举报
回复
找得不对。
这里面有人回帖是正确的。
http://topic.csdn.net/u/20091028/13/faed6de0-b9ae-49c0-aa14-a33210d1feb7.html
加载更多回复(6)

62,264

社区成员

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

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

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

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