修改代码,实现onmuseout DIV hidden,50

jb2008 2002-10-29 04:05:02
下面是一个实现层叠式菜单的程序,有一个功能我搞了好久没实现,那就是当鼠标移开弹出的菜单时,怎样把它隐藏?我在DIV上加了,onmouseout ="hideMen(this)"不行,在Tabel上加了也不行。

不要乱发言论,把下列代码拷去调试成功后再接分50

<SCRIPT LANGUAGE="JavaScript">
var visMnu = "";
var actMnu, url;
//document.onmousedown = hideMenu(visMnu);

function menuHandler(actMnu,url)
{
var popup = null;
popup = window.location(url);

}
function flipMenu(actMnu) //显示主菜单
{
if (visMnu == "")
{
showMenu(actMnu);
}
else if (visMnu != actMnu)
{
hideMenu(visMnu);
showMenu(actMnu);

}
}
function showMenu(actMnu)
{
actMnu.style.visibility = "visible";/* modify menu-background-color */
actMnu.style.background = "#CCCCCC";
visMnu = actMnu;
}
function hideMenu(actMnu)
{
actMnu.style.background = ""; /* modify color "selected" */
actMnu.style.visibility = "hidden";
visMnu = "";
}
// End -->
</SCRIPT>
<table border="0" cellpadding="3" cellspacing="2">
<!-- arrange as many NavBar-items as desired and /-->
<!-- modify WIDTH and SPAN in COLGROUP-tag /-->
<colgroup width="120" span="2">
</colgroup>
<!-- modify menu-backgound-color as desired /-->
<tr bgcolor="#cccccc" style="CURSOR:default">
<!-- 1st NaviBar Item /-->
<td width="55" align="middle" onMouseOver="flipMenu(document.all.Mnu1)" >
第一项 </td>
<!-- 2nd NaviBar Item /-->
<td width="137" align="middle" onMouseOver="flipMenu(document.all.Mnu2)">
Site Development </td>
<!-- ... NaviBar Item /-->
</tr>
<tr>
<td valign="top"> <div id="Mnu1" style="Z-INDEX:1; VISIBILITY:hidden; WIDTH:121px; POSITION:absolute; HEIGHT:89px" onMouseOut="hideMenu(this)">
<table width="100%" id="Mnu1x" style="VISIBILITY: inherit" >
<tr>
<td onClick="menuHandler(Mnu1,'http://www.yahoo.com.cn')"> <a href="#">首页 </a>
</td>
</tr>
<tr>
<td onClick="menuHandler(Mnu1,'/SearchDataGrid.aspx')"> <a href="#">查询</a>
</td>
</tr>
<tr>
<td onClick="menuHandler(Mnu1,'/images/WebForm1.aspx')"> <a href="#">第二层测试
</a> </td>
</tr>
<tr>
<td onClick="menuHandler(Mnu1,'http://www.webreference.com/js/')"> <a href="#">Doc
JavaScript </a> </td>
</tr>
</table>
</div></td>
<td valign="top"> <div id="Mnu2" style="Z-INDEX:2; VISIBILITY:hidden; WIDTH:120px; POSITION:absolute; HEIGHT:64px">
<table id="Mnu2x" width="100%" style="VISIBILITY: inherit">
<tr>
<td onClick="menuHandler(Mnu2,'wdvl.com/')"> <a href="#">WDVL </a>
</td>
</tr>
<tr>
<td onClick="menuHandler(Mnu2,'webdeveloper.com/')"> <a href="#">Web
Developer </a> </td>
</tr>
<tr>
<td onClick="menuHandler(Mnu2,'webreference.com/')"> <a href="#">Web
Reference </a> </td>
</tr>
</table>
</div></td>
</tr>
</table>
...全文
51 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
jb2008 2002-11-12
  • 打赏
  • 举报
回复
javascript在ASP.net中会慢慢消弱?以后都是服务器控件
runat server

散分了
jb2008 2002-11-12
  • 打赏
  • 举报
回复
javascript在ASP.net中会慢慢消弱?以后都是服务器控件
runat server
希默软件 2002-11-10
  • 打赏
  • 举报
回复
<td width="55" align="middle" onMouseOver="flipMenu(document.all.Mnu1)" >
第一项 </td>
<!-- 2nd NaviBar Item /-->
<td width="137" align="middle" onMouseOver="flipMenu(document.all.Mnu2)">

改成

<td width="55" align="middle" onMouseOver="flipMenu(document.all.Mnu1)" onmouseout="hideMenu(document.all.Mnu1)">
第一项 </td>
<!-- 2nd NaviBar Item /-->
<td width="137" align="middle" onMouseOver="flipMenu(document.all.Mnu2)" onmouseout="hideMenu(document.all.Mnu2)">
jb2008 2002-11-10
  • 打赏
  • 举报
回复
up
烂笔头Danky 2002-10-30
  • 打赏
  • 举报
回复
你你改成用父菜单包含子菜单的层就可以解决了,大概是变样的一个关系:
<div>第一项
<div>首页</div>
<div>查询</div>
<div>第二层测试</div>
<div>Doc JavaScript</div>
</div>
你的函数是没有问题的,这是属于你的程序的一个的毛病,至于为什么就你自己去体会一下吧!
jb2008 2002-10-30
  • 打赏
  • 举报
回复
DIV太多,不好控制!

87,937

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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