学习笔记,仅供参考,有错必究


Web API

Tab栏切换案例

  • 代码
<!DOCTYPE html>
<html lang="en">

<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<style>
* {
margin: 0;
padding: 0;
}

li {
list-style-type: none;
}

.tab {
width: 978px;
margin: 100px auto;
}

.tab_list {
height: 39px;
border: 1px solid #ccc;
background-color: #f1f1f1;
}

.tab_list li {
float: left;
height: 39px;
line-height: 39px;
padding: 0 20px;
text-align: center;
cursor: pointer;
}

.tab_list .current {
background-color: #c81623;
color: #fff;
}

.item_info {
padding: 20px 0 0 20px;
}

.item {
display: none;
}
</style>
</head>

<body>
<div class="tab">
<div class="tab_list">
<ul>
<li class="current">高等数理统计</li>
<li>百面深度学习</li>
<li>机器学习</li>
<li>强化学习</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++) {
// 开始给5个小li 设置索引号
lis[i].setAttribute('index', i);
lis[i].onclick = function() {
// 1. 上的模块选项卡,点击某一个,当前这一个底色会是红色,其余不变(排他思想) 修改类名的方式

// 干掉所有人 其余的li清除 class 这个类
for (var i = 0; i < lis.length; i++) {
lis[i].className = '';
}
// 留下我自己
this.className = 'current';
// 2. 下面的显示内容模块
var index = this.getAttribute('index');
console.log(index);
// 干掉所有人 让其余的item 这些div 隐藏
for (var i = 0; i < items.length; i++) {
items[i].style.display = 'none';
}
// 留下我自己 让对应的item 显示出来
items[index].style.display = 'block';
}
}
</script>
</body>

</html>
  • 实现效果

默认在​​高等数理统计​​:

WebAPI(part7)--Tab栏切换案例_i++

点击​​强化学习​​:

WebAPI(part7)--Tab栏切换案例_js_02

可以看到,内容随着标签的改变有了变化。