星期四, 九月 07, 2006

关于firefox对style.display属性的解释问题

最近在制作网站的过程中出现了一个问题,就是firefox下对遇style.display执行结果和ie不一样,真实郁闷,多方查找资料,终于发现了问题,代码如下:


<html>
<head>
<title>display</title>
<script type="text/javascript">
<!--
function show(){
var msg=document.getElementById("showmsg");
if(msg.style.display=="none"){
msg.style.display="block";
}
else
msg.style.display="none";
}
//-->
</script>
</head>
<body>
<table width="100%" >
<tr width="100%">
<td width="100%">
<font style="cursor:hand;" onclick="show()">
ddddddddddddddddd
</font>
</td>
</tr>
<tr id="showmsg" style="display:none;">
<td>dsffdafa</td>
</tr>
<tr><td>电风扇扩大发洒家艰苦</td></tr>
</table>
</body>
<html>



上面的HTML页面在IE和Firefox中的执行结果不同:
1)"display:none;"后面的内容站用原来块的内容空间//但Firefox好象把这个和"visibility:hidden;"一样处理的
2)"display:block;"将隐藏的内容显示出来//Firefox好象是为其重新开辟内容显示空间

最后正确有效的处理结果
发现个问题:
当将javascript脚本改下就可以了:
<script type="text/javascript">
<!--
function show(){
var msg=document.getElementById("showmsg");
if(msg.style.display=="none")
{ msg.style.display="";//即将此句有原来的msg.style.display="block";改为:msg.style.display=""; }
else
msg.style.display="none"; } //-->
</script>
呵呵~,搞定!

">
<$BlogItemTitle$>

没有评论: