一、前言
我们经常在京东上看到商品详情里面的有那个TAB切换菜单,比如如图:
点击菜单一,显示内容一、点击菜单二,显示内容二,今天就来看看,这个是怎么实现的。
二、操作的html
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
.hide{
display: none;
}
.menu{
height: 38px;
background-color: #eeeeee;
line-height: 38px;
}
.active{
background-color: brown;
}
.menu .menu-item{
float: left;
border-right: 1px solid red;
padding: 0 5px;
cursor: pointer;
}
.content{
min-height: 100px;
border: 1px solid #eeeeee;
}
</style>
</head>
<body>
<div style="width: 700px;margin: 0 auto;">
<div class="menu">
<div class="menu-item active" a="1">菜单一</div>
<div class="menu-item" a="2">菜单二</div>
<div class="menu-item" a="3">菜单三</div>
</div>
<div class="content">
<div b="1">内容一</div>
<div class="hide" b="2">内容二</div>
<div class="hide" b="3">内容三</div>
</div>
</div>
<script src="jquery-1.12.4.js"></script>
<script>
//js代码
</script>
</body>
三、 TAB切换菜单
3.1、切换菜单
$(".menu-item").click(function(){
$(this).addClass("active").siblings().removeClass("active");
var target = $(this).attr("a");
//字符串拼接,拿到对应内容的b的属性值,然后再把a属性值赋给b,就能找到。
$(".content").children("[b='"+target+"']").removeClass("hide").siblings().addClass("hide");
})
3.2、用索引的方式实现
说明:$(this).index()获取当前索引值
$(".menu-item").click(function(){
$(this).addClass("active").siblings().removeClass("active");
var index = $(this).index();
$(".content").children().eq(index).removeClass("hide").siblings().addClass("hide");
})