求鼠标经过时,自动展开子菜单的代码 javascript

如下:<ahref="#">首页</a>当鼠标经过“首页”时,在“首页”两字下方会自动出现一个子菜单,假定子菜单内容是:<ahref="#">去买东西</a><ahref... 如下:
<a href="#">首页</a>

当鼠标经过 “首页” 时,在 “首页” 两字 下方会自动出现一个子菜单,假定子菜单内容是:
<a href="#">去买东西</a>
<a href="#">去卖东西</a>
<a href="#">去论坛</a>

请简单的写出这个代码。要求:

1.一定要简洁!! 我主要是想借此弄明白这功能是怎么实现的,所以只要能实现这个功能就

可以,其他与此功能无关的修饰性代码 一句也不要写,看着头晕。

2.我正在自学javascript 不过只学到语法阶段,没学各类对象,所以最好可以详细解释一下这

个功能实现的原理。

谢谢各位了。不胜感激!
请务必再 加上这么一个功能 当鼠标离开时,“自动弹出的菜单又会自动消失”谢谢
展开
 我来答
百度网友4bfe8b9
推荐于2016-07-27 · TA获得超过161个赞
知道小有建树答主
回答量:274
采纳率:0%
帮助的人:117万
展开全部
首先a是内联标签,不适合做容器,帮你改了下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<style type="text/css">
*{margin:0; padding:0;}
ul{list-style:none}
#outer{width:60px; height:28px; position:relative; line-height:28px; text-align:center; font-size:12px; background-color:#999; cursor:pointer}
#outer ul{position:absolute; left:0; top:28px; width:60px; background-color:#666666; display:none}
</style>
</head>

<body>
<h1 style="text-align:center; color:#0000CC">实现原理:外围一个容器,相对定位;内部一个列表,绝对定位;当鼠标移过外围容器时候,列表显示;移动出时候,列表隐藏。</h1>
<div id="outer">
我的收藏
<ul>
<li>电影</li>
<li>游戏</li>
<li>音乐</li>
<li>图书</li>
</ul>
</div>
</body>
</html>
<script type="text/javascript">
function menu(){//声明函数
var outer=document.getElementById("outer");//定义“outer”等于外围容器
outer.onmouseover=function(){//当outer鼠标移入时候执行:
this.getElementsByTagName("ul")[0].style.display="block";//this指outer本身;它下面的ul的样式display=block,也就是显示;
}
outer.onmouseout=function(){//当outer鼠标移出时候执行:
this.getElementsByTagName("ul")[0].style.display="none";//this指outer本身;它下面的ul的样式display=none,也就是隐藏;
}
}
menu();//执行函数
</script>
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xxq8210
2009-07-19 · TA获得超过1.8万个赞
知道小有建树答主
回答量:476
采纳率:0%
帮助的人:284万
展开全部
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html >
<head>
<style>
ul { margin:0; padding:0; list-style:none; width:120px; border-bottom:1px solid #ccc; font-size:12px;}
ul li { position:relative;}
li ul { position:absolute; left:119px; top:0; display:none;}
ul li a { width:108px; display:block; text-decoration:none; color:#666666; background:#fff; padding:5px; border:1px solid #ccc; border-bottom:0px;}
ul li a:hover { background-color:#ddd;}
li:hover ul,li.over ul { display:block;}
</style>

<script type="text/javascript">
window.onload= function()
{ 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", "");}
}
}
}
</script>
</head>

<body>
<ul id="nav">
<li><a href="">文章</a>
<ul>
<li><a href="">CSS教程</a></li>
<li><a href="">DOM教程</a></li>
<li><a href="">XML教程</a></li>
<li><a href="">FLASH教程</a></li>
</ul>
</li>
<li><a href="">参考</a>
<ul>
<li><a href="">XHTML</a></li>
<li><a href="">XML</a></li>
<li><a href="">CSS</a></li>
</ul>
</li>

<li><a href="">BLOG</a>
<ul>
<li><a href="">全部</a></li>
<li><a href="">网页技术</a></li>
<li><a href="">UI技术</a></li>
<li><a href="">FLASH技术</a></li>
</ul>
</li>

<li><a href="">音乐</a>
<ul>
<li><a href="">摇滚</a></li>
<li><a href="">纯音乐</a></li>
<li><a href="">古典金曲</a></li>
<li><a href="">电影原声</a></li>
</ul>
</li>

</ul>
</body>
</html>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式