tab 切换原理:利用排他思想,隐藏所有,当前对应的显示
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
#box{
width: 400px;
height: 420px;
margin: 100px;
border: 1px solid #5EFF5E;
}
#bottom{
width: 400px;
height: 400px;
}
#bottom div{
width: 400px;
height: 400px;
background: #DFFFDF;
display: none;
}
.btn{
background-color: #FF6B39;
}
</style>
<script type="text/javascript">
window.onload = function(){
var btns = document.getElementById("top").getElementsByTagName("button");
var divs = document.getElementById("bottom").getElementsByTagName("div");
for(var i=0; i<btns.length; i++){
//设置当前btn索引,自定义属性
btns[i].index = i;
btns[i].onclick = function(){
for(var j=0; j<btns.length; j++){
btns[j].className = "";
}
//当前的btn 类名设置为btn
this.className = "btn";
for(var i=0; i<btns.length; i++){
//隐藏所有的div
divs[i].style.display = "none";
}
//当前对应btn索引号的div显示
divs[this.index].style.display = "block";
}
}
}
</script>
</head>
<body>
<div id="box">
<div id="top">
<button>1</button>
<button>2</button>
<button>3</button>
<button>4</button>
<button>5</button>
</div>
<div id="bottom">
<div style="display: block;">11</div>
<div>22</div>
<div>33</div>
<div>44</div>
<div>55</div>
</div>
</div>
</body>
</html>
tab 切换封装
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
*{
margin: 0;
padding: 0;
}
.box{
width: 400px;
height: 450px;
overflow: hidden;
margin: 200px auto;
border: 1px solid #5EFF5E;
}
.top span{
display: inline-block;
line-height: 50px;
height: 50px;
width: 90px;
text-align: center;
background-color: #ACFFAC;
}
.bottom li{
width: 100%;
height: 400px;
background-color: #FF6B39;
display: none;
}
.top span.span{
background-color: #FF6B39;
}
.bottom li.display{
display: block;
}
</style>
<script type="text/javascript">
window.onload = function(){
//tab 封装函数
function tab(obj){
var target = document.getElementById(obj);
var spans = target.getElementsByTagName("span");
var lis = target.getElementsByTagName("li");
for(var i=0; i<spans.length; i++){
spans[i].index = i;
spans[i].onmouseover = function(){
for(var j=0; j<spans.length; j++){
spans[j].className = "";
lis[j].className = "";
}
this.className = "span";
lis[this.index].className = "display";
}
}
}
tab("one");
tab("two");
tab("three");
}
</script>
</head>
<body>
<div class="box" id="one">
<div class="top">
<span class="span">11</span>
<span>22</span>
<span>33</span>
<span>44</span>
</div>
<div class="bottom">
<ul>
<li class="display">1</li>
<li>2</li>
<li>3</li>
<li>4</li>
</ul>
</div>
</div>
<div class="box" id="two">
<div class="top">
<span class="span">11</span>
<span>22</span>
<span>33</span>
<span>44</span>
</div>
<div class="bottom">
<ul>
<li class="display">1</li>
<li>2</li>
<li>3</li>
<li>4</li>
</ul>
</div>
</div>
<div class="box" id="three">
<div class="top">
<span class="span">11</span>
<span>22</span>
<span>33</span>
<span>44</span>
</div>
<div class="bottom">
<ul>
<li class="display">1</li>
<li>2</li>
<li>3</li>
<li>4</li>
</ul>
</div>
</div>
</body>
</html>