asp.net 实现动态添加下拉菜单
如:把鼠标放在【关于我们】的时候就会显示他的子菜单 子菜单的内容是从数据库中动态调出来的 鼠标移走下拉菜单就会消失
请各位大哥哥大姐姐给小弟一个完整的代码
小弟卡这都卡死啦 给位帮帮我吧
小弟不盛感激
[解决办法]
<body onclick="closeAllMenu();">
<table width="740" border="1" align="center" cellpadding="0" cellspacing="0">
<tr>
<td height="150"> </td>
</tr>
<tr>
<td height="30">
<a href="#" onMouseOver="dispMenu('compMenuDiv',this);">供应商管理</a> |
<a href="#" onMouseOver="dispMenu('productMenuDiv',this);">产品管理</a> |
<a href="#" onMouseOver="dispMenu('helpDiv',this);">帮助</a></td>
</tr>
</table>
<table style="border-top:0px; " width="740" height="100%" border="1" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="145"> </td>
<td width="589"> </td>
</tr>
</table>
<!-- 菜单信息 -->
<div id="compMenuDiv" style="position:absolute; display:none;">
<table width="150" bgcolor="#DDDDDD" bordercolordark="#FFFFFF" bordercolor="#999999" border="1" cellpadding="6" cellspacing="0">
<tr>
<td> <a href="#">录入新供应商</a></td>
</tr>
<tr>
<td> <a href="#">供应商查询</a></td>
</tr>
<tr>
<td> <a href="#">审核供应商</a></td>
</tr>
<tr>
<td> <a href="#">删除供应商</a></td>
</tr>
</table>
</div>
<div id="productMenuDiv" style="position:absolute; display:none; ">
<table width="150" bgcolor="#DDDDDD" bordercolordark="#FFFFFF" bordercolor="#999999" border="1" cellpadding="6" cellspacing="0">
<tr>
<td> <a href="#">采购产品查询</a></td>
</tr>
<tr>
<td> <a href="#">采购计划</a></td>
</tr>
<tr>
<td> <a href="#">产品审核</a></td>
</tr>
</table>
<script>
/*使用方法:
============================
给相应的主菜单加事件
给文档的body加事件
初始化所有的菜单层不可见
============================
*/
//所有的菜单,如果添加需要扩展数组
var menuArr = new Array("compMenuDiv","productMenuDiv","helpDiv");
/*
控制菜单的显示和隐藏
divID 要显示的菜单层id
eventObj 激发下拉菜单的连接对象
*/
function dispMenu(divID,eventObj)
{
var divObj = document.getElementById(divID);
//getBoundingClientRect()用来获取任何一个页面元素相对文档原点的位置
//定位并显示指定菜单
divObj.style.top = eventObj.getBoundingClientRect().top + 13;
divObj.style.left = eventObj.getBoundingClientRect().left;
divObj.style.display = "inline";
//隐藏其余的菜单
for(var i = 0 ; i < menuArr.length ; i++)
{
if(menuArr[i] != divID){
document.getElementById(menuArr[i]).style.display = "none";
}
}
}
/*
窗体点击时隐藏所有菜单
*/
function closeAllMenu()
{
for(var i = 0 ; i < menuArr.length ; i++)
{
document.getElementById(menuArr[i]).style.display = "none";
}
}
</script>
你把DIV里的值磅定好就可以了`
[解决办法]
直接保存为html格式就可以运行,老外做的就是牛B啊,不服不行。
这个是照这上面我给你的第三个URL做的。
- C# code
<HTML> <HEAD> <title>WebForm5</title> <style>/* Root = Horizontal, Secondary = Vertical */ul#navmenu-h { margin: 0; border: 0 none; padding: 0; width: 500px; /*For KHTML*/ list-style: none; height: 24px;}ul#navmenu-h li { margin: 0; border: 0 none; padding: 0; float: left; /*For Gecko*/ display: inline; list-style: none; position: relative; height: 24px;}ul#navmenu-h ul { margin: 0; border: 0 none; padding: 0; width: 160px; list-style: none; display: none; position: absolute; top: 24px; left: 0;}ul#navmenu-h ul:after /*From IE 7 lack of compliance*/{ clear: both; display: block; font: 1px/0px serif; content: "."; height: 0; visibility: hidden;}ul#navmenu-h ul li { width: 160px; float: left; /*For IE 7 lack of compliance*/ display: block !important; display: inline; /*For IE*/}/* Root Menu */ul#navmenu-h a { border: 1px solid #FFF; border-right-color: #CCC; border-bottom-color: #CCC; padding: 0 6px; float: none !important; /*For Opera*/ float: left; /*For IE*/ display: block; background: #EEE; color: #666; font: bold 10px/22px Verdana, Arial, Helvetica, sans-serif; text-decoration: none; height: auto !important; height: 1%; /*For IE*/}/* Root Menu Hover Persistence */ul#navmenu-h a:hover,ul#navmenu-h li:hover a,ul#navmenu-h li.iehover a { background: #CCC; color: #FFF;}/* 2nd Menu */ul#navmenu-h li:hover li a,ul#navmenu-h li.iehover li a { float: none; background: #EEE; color: #666;}/* 2nd Menu Hover Persistence */ul#navmenu-h li:hover li a:hover,ul#navmenu-h li:hover li:hover a,ul#navmenu-h li.iehover li a:hover,ul#navmenu-h li.iehover li.iehover a { background: #CCC; color: #FFF;}/* 3rd Menu */ul#navmenu-h li:hover li:hover li a,ul#navmenu-h li.iehover li.iehover li a { background: #EEE; color: #666;}/* 3rd Menu Hover Persistence */ul#navmenu-h li:hover li:hover li a:hover,ul#navmenu-h li:hover li:hover li:hover a,ul#navmenu-h li.iehover li.iehover li a:hover,ul#navmenu-h li.iehover li.iehover li.iehover a { background: #CCC; color: #FFF;}/* 4th Menu */ul#navmenu-h li:hover li:hover li:hover li a,ul#navmenu-h li.iehover li.iehover li.iehover li a { background: #EEE; color: #666;}/* 4th Menu Hover */ul#navmenu-h li:hover li:hover li:hover li a:hover,ul#navmenu-h li.iehover li.iehover li.iehover li a:hover { background: #CCC; color: #FFF;}ul#navmenu-h ul ul,ul#navmenu-h ul ul ul { display: none; position: absolute; top: 0; left: 160px;}/* Do Not Move - Must Come Before display:block for Gecko */ul#navmenu-h li:hover ul ul,ul#navmenu-h li:hover ul ul ul,ul#navmenu-h li.iehover ul ul,ul#navmenu-h li.iehover ul ul ul { display: none;}ul#navmenu-h li:hover ul,ul#navmenu-h ul li:hover ul,ul#navmenu-h ul ul li:hover ul,ul#navmenu-h li.iehover ul,ul#navmenu-h ul li.iehover ul,ul#navmenu-h ul ul li.iehover ul { display: block;}</style><script language="javascript">navHover = function() { var lis = document.getElementById("navmenu-h").getElementsByTagName("LI"); for (var i=0; i<lis.length; i++) { lis[i].onmouseover=function() { this.className+=" iehover"; } lis[i].onmouseout=function() { this.className=this.className.replace(new RegExp(" iehover\\b"), ""); } }}if (window.attachEvent) window.attachEvent("onload", navHover); </script> </HEAD> <body> <ul id="navmenu-h"> <li><a href="#">Root nav item1</a> <ul> <li><a href="#">Sub nav item1</a></li><li><a href="#">Sub nav item1-2</a></li> </ul> </li><li><a href="#">Root nav item2</a> <ul> <li><a href="#">Sub nav item2</a></li><li><a href="#">Sub nav item2-2</a></li> </ul> </li><li><a href="#">Root nav item3</a> <ul> <li><a href="#">Sub nav item3</a></li><li><a href="#">Sub nav item3-2</a></li> </ul> </li> </ul></body></html>