实现目标:
随着用户切换不同栏目,下方显示不同选项
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>tab栏切换制作</title>
<style>
* {
margin: 0;
padding: 0;
}
li {
list-style-type: none;
}
a {
text-decoration: none;
font-size: 14px;
}
.nav {
width: 240px;
margin: 0px auto;
}
/* 没有给nav设置固定宽高,margin会失效 */
.nav>li {
position: relative;
/* 三个小li横排,明显浮动 */
float: left;
width: 80px;
height: 41px;
text-align: center;
}
.nav li a {
display: block;
width: 100%;
height: 100%;
line-height: 41px;
color: #333;
}
/* 设置ul的直系亲属li的直系孩子a的hover样式 */
.nav>li>a:hover {
background-color: #eee;
}
.nav ul {
display: none;
position: absolute;
top: 41px;
left: 0;
width: 100%;
border-left: 1px solid #FECC5B;
border-right: 1px solid #FECC5B;
}
.nav ul li {
display: block;
width: 100%;
height: 100%;
line-height: 41px;
border-bottom: 1px solid #FECC5B;
}
.nav ul li:hover {
background-color: #FFF5DA;
}
</style>
</head>
<body>
<!-- 功能要求: -->
<!-- tab可选4个模块,切换到不同模块,下方显示对应的不同信息 -->
<!-- 上方选项卡制作要点: 排他算法, 点击即添加样式 -->
<!-- 新浪下拉菜单 -->
<ul class="nav">
<li>
<!-- 下拉菜单的一般形式: 上方a选项, 下方ul定位到此处 -->
<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>私信</li>
<li>评论</li>
<li>@我</li>
</ul>
</li>
<li>
<a href="">个人</a>
<ul>
<li>私信</li>
<li>评论</li>
<li>@我</li>
</ul>
</li>
</ul>
<script>
// 事件1: 下方小li的鼠标经过显示
var nav = document.querySelector('.nav');
var lis = nav.children;
for (var i = 0; i < lis.length; i++) {
lis[i].onmouseover = function() {
this.children[1].style.display = 'block'; //1号孩子是第二个,即ul
}
lis[i].onmouseout = function() {
this.children[1].style.display = 'none';
}
}
</script>
</body>
</html>