首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

asp.net 实现动态添加下拉菜单解决方案

2012-04-12 
asp.net 实现动态添加下拉菜单如:把鼠标放在【关于我们】的时候就会显示他的子菜单 子菜单的内容是从数据库

asp.net 实现动态添加下拉菜单
如:把鼠标放在【关于我们】的时候就会显示他的子菜单 子菜单的内容是从数据库中动态调出来的 鼠标移走下拉菜单就会消失
请各位大哥哥大姐姐给小弟一个完整的代码  
小弟卡这都卡死啦 给位帮帮我吧 

小弟不盛感激

[解决办法]
<body onclick="closeAllMenu();">
<table width="740" border="1" align="center" cellpadding="0" cellspacing="0">
<tr>
<td height="150">&nbsp;</td>
</tr>
<tr>
<td height="30">&nbsp;
<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">&nbsp;</td>
<td width="589">&nbsp;</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>&nbsp;<a href="#">录入新供应商</a></td>
</tr>
<tr>
<td>&nbsp;<a href="#">供应商查询</a></td>
</tr>
<tr>
<td>&nbsp;<a href="#">审核供应商</a></td>
</tr>
<tr>
<td>&nbsp;<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>&nbsp;<a href="#">采购产品查询</a></td>
</tr>
<tr>
<td>&nbsp;<a href="#">采购计划</a></td>
</tr>
<tr>
<td>&nbsp;<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> 

热点排行