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

 

我们的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>