首先,html部分:
<!--外层大盒子-->
<div class="tab">
<!--tab栏-->
<div class="tab_list">
<ul>
<li class="current">商品介绍</li>
<li>规格与包装</li>
<li>售后保障</li>
<li>商品评价(50000)</li>
<li>手机社区</li>
</ul>
</div>
<!--tab栏内容-->
<div class="tab_con">
<div class="item" style="display: block;">
商品介绍模块内容
</div>
<div class="item">
规格与包装模块内容
</div>
<div class="item">
售后保障模块内容
</div>
<div class="item">
商品评价(50000)模块内容
</div>
<div class="item">
手机社区模块内容
</div>
</div>
</div>
然后,css部分:
<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>
最后,JS部分:
<script>
// 1、获取所有li标签
// 2、当点击某一个li时,添加current属性。消除其他current属性
// 3、获取当前li的索引
// 4、显示对应索引的内容
// 获取所有li元素
var tab_list = document.querySelector('.tab_list');
var lis = tab_list.querySelectorAll('li');
var items = document.querySelectorAll('.item');
// 获取当前的tab栏
for(var i = 0; i < lis.length; i++){
// 为每一个li元素设置一个data-index下标
lis[i].setAttribute('data-index', i);
lis[i].onclick = function(){
// 把所有元素的class选择器清空。
for(var i = 0; i < lis.length; i++){
lis[i].className = '';
}
// 设置当前的元素的class选择器为current样式。
this.className = 'current';
// 获取对应的索引
var index = this.getAttribute('data-index');
// 显示对应的内容
for(var i = 0; i < lis.length; i++){
// 把所有元素的display属性清空。
items[i].style.display = 'none';
}
// 设置当前的元素的display为block
items[index].style.display = 'block';
}
}
</script>