高手指点下如何用
  • 实现如图示菜单三级嵌套?

kevingan 2009-06-20 09:19:21
我想实现如图所示当鼠标移到Story上时才自动展开"A" "B" "C"子菜单,移动到Team,Offices上时没有子菜单。现在我的代码有问题,当鼠标移到Story或Team或Offices上时都会自动展开"A" "B" "C"子菜单,望高人指点下.下边附图片和程序代码

<script>
startList = function()
{
if (document.all&&document.getElementById)
{
navRoot = document.getElementById("nav");
for (i=0; i<navRoot.childNodes.length; i++)
{
node = navRoot.childNodes[i];
if (node.nodeName=="LI")
{
node.onmouseover=function()
{
this.className+=" over";
}
node.onmouseout=function()
{
this.className=this.className.replace(" over", "");
}
}
}
}
}

window.onload=startList;

</script>
<style>
body
{
font: normal 11px verdana;
}

ul
{
margin: 0;
padding: 0;
list-style: none;
white-space:nowrap;
width: 150px; /* Width of Menu Items */
border-bottom: 1px solid #ccc;
}

ul li
{
position: relative;
}

li ul
{
position: absolute;
left: 149px; /* Set 1px less than menu width */
top: 0;
display: none;
}

/* Styles for Menu Items */
ul li a
{
display: block;
text-decoration: none;
color: #777;
background: #fff; /* IE6 Bug */
padding: 5px;
border: 1px solid #ccc;
border-bottom: 0;
white-space:nowrap;

}

/* Fix IE. Hide from IE Mac \*/
* html ul li { float: left; height: 1%; }
* html ul li a { height: 1%; }
/* End */

ul li a:hover { color: #E2144A; background: #f9f9f9; } /* Hover Styles */

li ul li a { padding: 2px 5px; } /* Sub Menu Styles */

li:hover ul, li.over ul { display: block; } /* The magic */
</style>

<ul id="nav">
<li><a href="#">Home</a></li>
<li><a href="#">About</a>
<ul>
<li><a href="#">History</a></li>
<div>
<ul>
<li><a href="#">A</a></li>
<li><a href="#">B</a></li>
<li><a href="#">C</a></li>
</ul>
</div>
<li><a href="#">Team</a></li>
<li><a href="#">Offices</a></li>
</ul>
</li>
<li><a href="#">Services</a>
<ul>
<li><a href="#">Web Design</a></li>
<li><a href="#">Internet Marketing</a></li>
<li><a href="#">Hosting</a></li>
<li><a href="#">Domain Names</a></li>
<li><a href="#">Broadband</a></li>
</ul>
</li>
<li><a href="#">Contact Us</a>
<ul>
<li><a href="#">United Kingdom</a></li>
<li><a href="#">France</a></li>
<li><a href="#">USA</a></li>
<li><a href="#">Australia</a></li>
</ul>
</li>
</ul>
...全文
434 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
bao520min 2009-06-20
  • 打赏
  • 举报
回复
编程爱好者请加群88718955,大家一起探讨,学习
kevingan 2009-06-20
  • 打赏
  • 举报
回复
图片如二楼所示。呵呵
kevingan 2009-06-20
  • 打赏
  • 举报
回复
kevingan 2009-06-20
  • 打赏
  • 举报
回复
没人知道么?

61,112

社区成员

发帖
与我相关
我的任务
社区描述
层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。
社区管理员
  • HTML(CSS)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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