核心思想:(li 取得索引给下方与其对应的items中的item用)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<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>商品评价(50000)</li>
<li>手机社区</li>
</ul>
</div>
<!-- 这里的tablist与下方的div一一对应,但由于在两个模块中,不是同一个模块中的子元素,不能直接用this获取,因此要将第一模块的索引与第二模块相匹配 -->
<!-- 主要原理:获取到了上方每个li的index,由于上下两模块对应,因此给下方对应的可以通过index索引找到其对应的 item -->
<div class="tab_con">
<div class="item" style="display: block;">
<!-- 上方有style="display: block;"全打开发现都是一个个叠一起的div,加了block就显示-->
商品介绍模块内容
</div>
<div class="item" >
规格与包装模块内容
</div>
<div class="item">
售后保障模块内容
</div>
<div class="item">
商品评价(50000)模块内容
</div>
<div class="item">
手机社区模块内容
</div>
</div>
</div>
</body>
<script src="../jquery.min.js"></script>
<script>
$(function(){
$('.tab_list li').click(function(){
/*1.实现上方点谁谁红的效果(添加类),实现效果,只给点击的加类,把其他类去掉,注意添加类名前不要加点,前面已经是addclass了*/
/* $(".tab_list li").eq(this).addClass('current').siblings('li').removeClass('current') ,还是不行,画蛇添足*/
$(this).addClass('current').siblings('li').removeClass('current')
var index = $(this).index()//获取到了上方每个li的index,由于上下两模块对应,因此给下方对应的可以通过index索引找到其对应的 item
/*2.链式编程,实现li对应item显示效果*/
$('.tab_con .item').eq(index).css({
/*$('.tab_con .item').eq(index)选中了上方li所对应索引值的item*/
display:"block"
}).siblings('.item').css({
display:"none"
})
})
})
</script>
</html>