您的位置:首页 > Web前端 > JQuery

二级下拉菜单的三种实现方法——CSS 、JS、 jQuery

2015-11-27 12:44 906 查看
直接用CSS的 hover实现

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>下拉菜单</title>
<link rel="stylesheet" type="text/css" href="./css/style.css">
</head>
<body>
<div id="nav">
<ul>
<li><a href="">首页</a></li>
<li><a href="">课程大厅</a>
<ul>
<li><a href="">javascript</a></li>
<li><a href="">angularJS</a></li>
<li><a href="">jQuery</a></li>
</ul>
</li>
<li><a href="">学习中心</a>
<ul>
<li><a href="">总体介绍</a></li>
<li><a href="">教师资源</a></li>
<li><a href="">学校设施</a></li>
</ul>
</li>
<li><a href="">经典案例</a>
<ul>
<li><a href="">淘宝网</a></li>
<li><a href="">百度首页</a></li>
<li><a href="">腾讯官网</a></li>
</ul>
</li>
<li><a href="">关于我们</a></li>
</ul>
</div>
</body>
</html>


*{
padding: 0;
margin: 0;
}
#nav{
background-color: #eee;
width: 600px;
height: 40px;
margin: 0 auto;
}
ul{
list-style: none;
}
ul li{
float: left;
line-height: 40px;
text-align: center;
/*    利用定位解决二级菜单宽度过宽影响一级菜单的问题*/
position: relative;
}
ul li a{
padding: 0 10px;
text-decoration: none;
color: black;
display:block;
height: 40px;
}
a:hover{
color:white;
background-color: purple;
}
ul li ul li{
float: none;
background: #eee;
margin-top: 2px;
}
ul li ul {
/*    利用定位解决二级菜单宽度过宽影响一级菜单的问题*/
position: absolute;
left: 0px;
top: 40px;
display: none;
}
ul li ul li a{
/*IE7兼容性*/
width: 80px;
}
ul li ul li a:hover{
background-color: blue;
}
ul li:hover ul{
display: block;
}


js实现下拉二级菜单 onmouseover   onmouseout 样式的话和上面的差不多,删掉最后一段就行

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>下拉菜单</title>
<link rel="stylesheet" type="text/css" href="./css/style.css">
</head>
<body>
<div id="nav">
<ul>
<li><a href="">首页</a></li>
<li onmouseover="show(this)" onmouseout="hide(this)"><a href="">课程大厅</a>
<ul>
<li><a href="">javascript</a></li>
<li><a href="">angularJS</a></li>
<li><a href="">jQuery</a></li>
</ul>
</li>
<li onmouseover="show(this)" onmouseout="hide(this)"><a href="">学习中心</a>
<ul>
<li><a href="">总体介绍</a></li>
<li><a href="">教师资源</a></li>
<li><a href="">学校设施</a></li>
</ul>
</li>
<li onmouseover="show(this)" onmouseout="hide(this)"><a href="">经典案例</a>
<ul>
<li><a href="">淘宝网</a></li>
<li><a href="">百度首页</a></li>
<li><a href="">腾讯官网</a></li>
</ul>
</li>
<li><a href="">关于我们</a></li>
</ul>
</div>
<script type="text/javascript">
function show(li){
var submenu=li.getElementsByTagName("ul")[0];
submenu.style.display="block";
}
function hide(li){
var submenu=li.getElementsByTagName("ul")[0];
submenu.style.display="none";
}
</script>
</body>
</html>


jQuery 实现 this. children("ul") show() hide()

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>下拉菜单</title>
<link rel="stylesheet" type="text/css" href="./css/style.css">
</head>
<body>
<div id="nav">
<ul>
<li><a href="">首页</a></li>
<li class="navmenu"><a href="">课程大厅</a>
<ul>
<li><a href="">javascript</a></li>
<li><a href="">angularJS</a></li>
<li><a href="">jQuery</a></li>
</ul>
</li>
<li class="navmenu"><a href="">学习中心</a>
<ul>
<li><a href="">总体介绍</a></li>
<li><a href="">教师资源</a></li>
<li><a href="">学校设施</a></li>
</ul>
</li>
<li class="navmenu"><a href="">经典案例</a>
<ul>
<li><a href="">淘宝网</a></li>
<li><a href="">百度首页</a></li>
<li><a href="">腾讯官网</a></li>
</ul>
</li>
<li><a href="">关于我们</a></li>
</ul>
</div>
<script type="text/javascript" src="./js/jquery.js"></script>
<script type="text/javascript">
$(function(){
$(".navmenu").mouseover(function(){
$(this).children('ul').show();
});
$(".navmenu").mouseout(function(){
$(this).children('ul').hide();
});
});
</script>
</body>
</html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: