zoukankan      html  css  js  c++  java
  • js原生实现选项卡功能

    选项卡在js中是一个重要的知识点。他没有那么难,但在工作中却有重要的位置。几乎在每一个网站都能看到选项卡的实例。所以今天写一下选项卡的实现。

    我们设想有三个按钮分别来控制三个盒子当我们点击当前的按钮的时候,让对应的盒子显示,让其余的盒子隐藏。

    废话不多说,直接上代码

    首先来布局:

    <div id="box">
          <input type="button" value="书籍" class="on">
          <input type="button" value="图片">
          <input type="button" value="专栏">
          <div style="display:block;">书籍</div>
          <div>图片</div>
          <div>专栏</div>
    </div>

    当然有必要给他们添加样式,为实现选项卡的效果做准备

    以下为css样式:

    #box div{
                width:200px;
                height:200px;
                background:#ccc;
                display:none;
            }
            .on{
                color:#fff;
                background:green;
            }

    这样我们可以得到一个静态的选项卡。

    选项卡的思路是当我们点击的当前的按钮的时候,先清空所有的样式,再给当前的按钮和盒子添加样式。

    以下为js代码:

    <script>
        //获取元素
        var oBox = document.getElementById("box");
        var aBtn = oBox.getElementsByTagName("input");
        var aDiv = oBox.getElementsByTagName("div");
        //aBtn是一组元素,所以需要用到for循环
        for(var i=0;i<aBtn.length;i++){
            aBtn[i].index=i;
            aBtn[i].onclick=function(){
                for(var k=0;k<aBtn.length;k++){//先清空所有的样式
                    aBtn[k].className ='';
                    aDiv[k].style.display ='none';
                }
                //给当前的按钮和div添加样式
                this.className ='on';
                aDiv[this.index].style.display ='block';
            };
        }
    </script>
  • 相关阅读:
    基于s5pv210的uboot总结
    QQ群笔记
    设计模式----适配器模式
    设计模式----桥接模式
    设计模式----建造者模式
    设计模式----原型模式
    设计模式----单例模式
    设计模式----工厂方法模式
    设计模式----设计原则
    JUnit单元测试--小试牛刀
  • 原文地址:https://www.cnblogs.com/kingchan/p/6015160.html
Copyright © 2011-2022 走看看