demo1-排它思想-tab栏切换

在js中排它思想非常重要,因为在网面中会经常用到这一思想,例如购物网站上的tab栏切换,以及轮播图……

因此写一个小demo来看一看排它思想,如下图所示,点击某一个按钮时,当前按钮改变背景颜色,并且其它按钮的背景颜色变成默认颜色,同时下面的div也跟着显示相应的内容。

代码:

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <style>
        .box {
            width: 350px;
            height: 350px;
            border: 1px solid pink;
            margin: 100px auto;
            padding: 20px;
        }
        .btn {
            background: pink;
        }
        input {
            margin-bottom: 25px;
            margin-right: 25px;
        }
        .one {
            width: 300px;
            height: 300px;
            border: 1px solid pink;
            display: none;
            background: silver;
        }
    </style>
</head>
<body>
<div class="box" id="Box">
    <input class="btn" type="button" value="按钮1"/>
    <input type="button" value="按钮2"/>
    <input type="button" value="按钮3"/>
    <input type="button" value="按钮4"/>
    <div class="one" style="display: block">内容1</div>
    <div class="one">内容2</div>
    <div class="one">内容3</div>
    <div class="one">内容4</div>
</div>

<script>
    //    获取要操作的对象
    var box = document.getElementById("Box");
    var btn = document.getElementsByTagName("input");   //获取所有的按钮
    var divs = box.getElementsByTagName("div");         //获取box下面的所有div
    //循环给每个按钮注册事件
    for(var i = 0; i < btn.length; i++) {
        btn[i].index = i; //给按钮添加一个索引值
        //给每个按钮注册点击事件
        btn[i].onclick = function() {
            for(var j = 0; j < btn.length; j++) {
                btn[j].className = "";          //先将所有按钮样式清空
                divs[j].style.display = "none"; //首先让所有div隐藏
            }
            this.className = "btn"; //给点击的按钮添加样式
            divs[this.index].style.display = "block";   //点击按钮后,将与之对应的div显示出来
        }
    }
</script>
</body>
</html>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值