86 lines
2.1 KiB
HTML
86 lines
2.1 KiB
HTML
<!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>tabs切换</title>
|
||
<style>
|
||
* {
|
||
margin: 0;
|
||
padding: 0;
|
||
list-style: none;
|
||
}
|
||
ul {
|
||
display: flex;
|
||
}
|
||
.tabs_title {
|
||
height: 45px;
|
||
align-items: center;
|
||
}
|
||
.tabs_title li {
|
||
margin: 0 10px;
|
||
}
|
||
|
||
.tabs_content li {
|
||
display: none;
|
||
}
|
||
.active_content {
|
||
display: block !important;
|
||
}
|
||
|
||
.active_title {
|
||
color: red;
|
||
}
|
||
</style>
|
||
</head>
|
||
<body>
|
||
|
||
<ul class="tabs_title">
|
||
<li class="active_title">首页</li>
|
||
<li>社会</li>
|
||
<li>财经</li>
|
||
<li>体育</li>
|
||
</ul>
|
||
|
||
|
||
<ul class="tabs_content">
|
||
<li class="active_content">首页 的内容</li>
|
||
<li>社会 的内容</li>
|
||
<li>财经 的内容</li>
|
||
<li>体育 的内容</li>
|
||
</ul>
|
||
|
||
</body>
|
||
<script>
|
||
var titleLi = _(".tabs_title li");
|
||
var contentLi = _(".tabs_content li");
|
||
console.log(titleLi);
|
||
|
||
// 为标题的li标签批量绑定点击事件
|
||
titleLi.forEach((v,i) => {
|
||
v.onclick = () => {
|
||
|
||
// 当你点击li的时候,先删除所有li标签上的类名
|
||
titleLi.forEach((j,index) => {
|
||
j.classList.remove("active_title")
|
||
|
||
// 利用 标题遍历时候产生的下标,来关联 内容 数组+下标
|
||
contentLi[index].classList.remove("active_content")
|
||
});
|
||
|
||
// 然后再为你点击的那个li标签加激活样式的类名
|
||
v.classList.add("active_title");
|
||
|
||
//
|
||
contentLi[i].classList.add("active_content");
|
||
}
|
||
})
|
||
|
||
|
||
// 封装的方法,用来获取所有li标签的数组
|
||
function _(className) {
|
||
return document.querySelectorAll(className)
|
||
}
|
||
</script>
|
||
</html> |