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

发布网友 发布时间:2022-04-26 00:47

我来回答

2个回答

热心网友 时间:2022-05-13 18:27

首先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>

热心网友 时间:2022-05-13 19:45

<!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>

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com