折叠菜单为什么要onclick两次才有效
奇怪的问题,希望得到解决。[code]<tr>
<td height="25" align="center" class="menu" onmouseover="this.className='menu_a';" onmouseout="this.className='menu';" onclick="showmenu(1,this)">企业信息</td>
</tr>
<tr>
<td align="left" valign="bottom"><div id="menu1" class="closeitem">
<ul>
<li><a href="#" target="main">管理员管理</a></li>
<li><a href="#" target="main">网站公告</a></li>
<li><a href="#" target="main">网站配置</a></li>
<li><a href="#" target="main">数据库备份</a></li>
<li><a href="#" target="main">系统帮助</a></li>
<li><a href="#" target="main">上传文件管理</a></li>
</ul>
</div></td>
</tr>[/code]
JS代码:[code]function showmenu(sid,obj)
{
var tid=document.getElementById("menu"+sid);
if(tid.style.display=="none")
{
tid.style.display="block";
obj.style.backgroundImage="url(images/menudown.gif)";
}
else
{ tid.style.display="none";
obj.style.backgroundImage="url(images/menuup.gif)";
}
}[/code]
现在问题就是点击一次无效果,第二次才会展开。每个菜单项都是这样,点击过的就不存在这样的问题。只要一刷新页面,问题又出现。如果觉得需要打包,呆会我传上来。 [code]
if(tid.style.display=="none")
[/code]
[code]
if(tid.style.display=="none" || !!!tid.style.display)
[/code] [code]function showmenu(sid,obj)
{
var tid=document.getElementById("menu"+sid);
if(tid.style.display=="none")
{
tid.style.display="block";
obj.style.backgroundImage="url(images/menudown.gif)";
}
else
{ tid.style.display="none";
obj.style.backgroundImage="url(images/menuup.gif)";
}
}[/code]
把none和block倒过来就是你要的效果了
回复 2# buyu 的帖子
谢谢,用2楼的解决了。3楼的不是太明白,逻辑上没有错误吧页:
[1]