码迷,mamicode.com
首页 > 其他好文 > 详细

关于tab栏切换的解析

时间:2016-08-10 22:27:52      阅读:249      评论:0      收藏:0      [点我收藏+]

标签:

首先,我们要知道排他思想:

 

我们的button就是几个按钮,上面这张图实质就是,当你点击btus[i]时,除了当前i的值得index之外全部被btn.[j].className=""清空,这时候就剩下btn[i]所点击的按钮有domao样式,像这样只取当前值,给予他样式,其他不管,称为排他思想。

我们先看个实例:

技术分享

下面我们的思路就是这样:

假如我们点击菜单栏1:下面就会有背景图片出现,而自己的背景也会变;

window.onload=function (){}首先加载;

var li=document.getElementsByTagName(‘button‘);
var div1=document.getElementById(‘div1‘).getElementsByTagName(‘div‘);

选定对象图片所在div和定义控制图片的按钮;

for(var i=0;i<btns.length;i++)
{
btns[i].index = i; // 难点index是索引
btns[i].onclick = function(){
//让所有的 btn 类名清空
//alert(this.index);
for(var j=0;j<btns.length;j++)
{
btns[j].className = "";
}

 我们要清空没有点击的其他按钮对应的div图片(当然在css里要先把所有图片藏起来噢)

技术分享

但是有一点,第一张图片要存在,不然打开页面第一个按钮下需要点击才可以出现,用户体验度就太差了。

技术分享

模型框架:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style>
.box {
width: 400px;
margin:100px auto;
border:1px solid #ccc;
}
.bottom div{
width:100%;
height: 300px;
display: none;
}
.purple {
background-color: purple;
}

</style>
<script>
window.onload = function(){
var btns = document.getElementsByTagName("button");
var divs = document.getElementById("divs").getElementsByTagName("div");
for(var i=0;i<btns.length;i++)
{
btns[i].index = i; // 难点
btns[i].onclick = function(){
//让所有的 btn 类名清空
//alert(this.index);
for(var j=0;j<btns.length;j++)
{
btns[j].className = "";
}
// 当前的那个按钮 的添加 类名
this.className = "purple";
//先隐藏下面所有的 div盒子
for(var i=0;i<divs.length;i++)
{
divs[i].style.display = "none";
}
//留下中意的那个 跟点击的序号有关系的
divs[this.index].style.display ="block";
}
}
}
</script>
</head>
<body>
<div class="box">
<div class="top">
<button>第一个</button>
<button>第二个</button>
<button>第三个</button>
<button>第四个</button>
<button>第五个</button>
</div>
<div class="bottom" id="divs">
<div style="display: block;">1盒子这里加图片</div>
<div>2盒子这里加图片</div>
<div>3盒子这里加图片</div>
<div>4盒子这里加图片</div>
<div>5盒子这里加图片</div>
</div>
</div>

</body>
</html>

 

关于tab栏切换的解析

标签:

原文地址:http://www.cnblogs.com/yangyangae86/p/5758563.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!