<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style type="text/css">
.tab li{float:left;width:50px;height:20px;list-style: none;}
.tab:after{content: '';display:block;clear:both;}
.content li{width:200px;height:200px;border:solid 1px red;position:absolute;display: none;}
.content .current{display:block;}
.tab .active{background-color: red;}
</style>
</head>
<body>
<div>
<ul class="tab">
<li class="active">选项一</li>
<li>选项二</li>
<li>选项三</li>
<li>选项四</li>
</ul>
<ul class="content">
<li class="current">内容一</li>
<li>内容二</li>
<li>内容三</li>
<li>内容四</li>
</ul>
</div>
<script type="text/javascript">
var tab = document.getElementsByClassName('tab')[0]
var tabCart = tab.getElementsByTagName('li')
var content = document.getElementsByClassName('content')[0]
var contentCart = content.getElementsByTagName('li')
tab.addEventListener('click',function(e){
console.log(tabCart.length)
var index = '1'
// 找到点击项的索引值
for(var i=0;i<tabCart.length;i++){
if(e.target==tabCart[i]){
index = i
}
}
// 给点击项加上active类
tabCart[index].classList.add("active")
// 去除其他选项上的active类
for(var i=0;i<tabCart.length;i++){
if(tabCart[i] != tabCart[index]){
tabCart[i].classList.remove("active")
console.log(1)
}
}
// 给点击项相应的内容加上current类
contentCart[index].classList.add("current")
// 去除其他选项上的current类
for(var i=0;i<contentCart.length;i++){
if(contentCart[i] != contentCart[index]){
contentCart[i].classList.remove("current")
}
}
})
</script>
</body>
</html>
原生js实现tab选项卡
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 一. Tab选项卡有多种,点击切换,滑过切换,延时切换,自动切换 - 基于JS HTML结构 CSS 点击切换 和...