<!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>Document</title>
<style>
*{
margin: 0%;
padding: 0%;
}
ul{
list-style: none;
}
.header{
display: flex;
width: 500px;
}
.header li{
flex: 1;
height: 50px;
line-height: 50px;
text-align: center;
border: 1px solid black;
}
.box{
position: relative;
}
.box li{
position: absolute;
left: 0%;
top: 0%;
width: 500px;
height: 200px;
background-color: aquamarine;
/* 都隐藏显示 */
display: none;
}
.header .active{
background-color: red;
}
.box .active{
display: block;
}
</style>
</head>
<body>
<ul class="header">
<li class="active">1</li>
<li>2</li>
<li>3</li>
<li>4</li>
</ul>
<ul class="box">
<li class="active">111</li>
<li>222</li>
<li>333</li>
<li>444</li>
</ul>
<script>
var oHeaderItems = document.querySelectorAll(".header li")
var oBoxItems = document.querySelectorAll(".box li")
for(var i=0;i<oHeaderItems.length;i++){
//点击之前给li标签加上自定义属性,方便知道点击的是哪一个标签事件
oHeaderItems[i].dataset.index = i
oHeaderItems[i].onclick = handler
}
function handler(){
// console.log(i)//大坑
//this:拿到当前的对象,这样我们点击哪一个标签就知道当前标签是第几个了
// console.log(this.dataset.index)
var index = this.dataset.index
//移除所有标签身上的active属性
for(var m=0;m<oHeaderItems.length;m++){
oHeaderItems[m].classList.remove("active")
oBoxItems[m].classList.remove("active")
}
oHeaderItems[index].classList.add("active")
oBoxItems[index].classList.add("active")
}
</script>
</body>
</html>