tab栏切换的小例子
初学JS&API
跟着视频做了一个 tab 栏切换的案例
思路:
1、tab切换 点击上面的选项卡底色会变成红色,其余不变(利用排他思想—核心是先干掉其他人,然后留下我自己)----这里可以使用修改类名的方式
2、当点击上面的选项卡后 下面的内容会随之变化,下面要写到点击事件里
3、上面的选项与下面的内容一一对应,可以给上面的每一个选项添加自定义的属性,属性值从0开始,与for循环里的 i 值相对应 更加方便~~
<!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>
ul li {
list-style: none;
}
.tab {
width: 800px;
margin: 100px auto;
}
.tab_list {
display: inline-block;
width: 600px;
height: 40px;
border: 1px solid #ccc;
background-color: rgb(216, 212, 212);
/* margin-top: 20px; */
}
.tab_list ul {
margin: 0;
margin-left: -40px;
}
.tab_list li {
display: inline-block;
margin-right: -4px;
padding: 0 15px;
line-height: 40px;
cursor: pointer;
}
/* .tab_list li:hover {
background-color: red;
color: #fff;
} */
.current {
background-color: red;
color: #fff;
}
.item {
display: none;
}
</style>
</head>
<body>
<div class="tab">
<div class="tab_list">
<ul>
<li class="current">商品介绍</li>
<li>规格与包装</li>
<li>售后服务</li>
<li>商品评价(40000)</li>
<li>手机社区</li>
</ul>
</div>
<div class="tab_con">
<div class="item" style="display: block;">
商品介绍内容
</div>
<div class="item">
规格与包装
</div>
<div class="item">
售后服务
</div>
<div class="item">
商品评价
</div>
<div class="item">
手机社区
</div>
</div>
</div>
<script>
// 获取元素
var tab_list = document.querySelector('.tab_list');
var lis = tab_list.querySelectorAll('li');
var items = document.querySelectorAll('.item');
// for循环绑定事件
for (var i = 0; i < lis.length; i++) {
// 开始给五个li 设置索引号
lis[i].setAttribute('index', i);
lis[i].onclick = function() {
// 1.选项卡模块
// 排他思想 其余的li清除 class 这个类
for (var i = 0; i < lis.length; i++) {
lis[i].className = '';
}
// 留下当前的 class 类
this.className = 'current';
// 2.显示内容模块
var index = this.getAttribute('index');
for (var i = 0; i < items.length; i++) {
items[i].style.display = 'none';
}
items[index].style.display = 'block';
}
}
</script>
</body>
</html>
点击不同的选项显示不同的内容