js面向对象实现Tab切换

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        input {
            width: 200px;
            height: 20px;
            background: white;
        }

        input.active {
            background: yellow;
        }

        #div1 div {
            width: 200px;
            height: 200px;
            background-color: #cccccc;
            display: none;
        }
    </style>
</head>

<body>
    <div id="div1">
        <input type="button" value="a">
        <input type="button" value="b">
        <input type="button" value="c">
        <div class="dv">a</div>
        <div class="dv">b</div>
        <div class="dv">c</div>
    </div>
</body>
<script>

    window.onload = function () {
        new TabSwitch('div1')
    }
    function TabSwitch(id) {
        var _this = this;
        var oDiv1 = document.getElementById(id);

        this.bTn = document.getElementsByTagName('input');
        this.aDiv = document.getElementsByClassName('dv');

        document.getElementsByTagName('input')[0].className = 'active';
        document.getElementsByClassName('dv')[0].style.display = 'block';

        for (var i = 0; i < this.bTn.length; i++) {
            this.bTn[i].index = i;
            this.bTn[i].onclick = function () {
                _this.fnClick(this);
            }
        }
    };

    TabSwitch.prototype.fnClick = function (oBtn) {
        for (var i = 0; i < this.bTn.length; i++) {
            this.bTn[i].className = '';
            this.aDiv[i].style.display = 'none';
        }
        oBtn.className = 'active';
        this.aDiv[oBtn.index].style.display = 'block';
    }
</script>

</html>
(0)

相关推荐

  • HTML加JS实现点击切换“观看”与“收起”效果切换

    通过HTML与JS实现点击button按钮,实现切换效果,可以在js里面增加自己相应的业务代码,代码如下: <!DOCTYPE html> <html> <head> ...

  • JavaScript 面向对象TAB栏切换

    功能要求: 点击 tab 栏,可以切换效果. 点击 + 号,可以添加 tab 项和内容项. 点击 x 号,可以删除当前的 tab 项和内容项. 双击tab项文字或者内容项文字,可以修改里面的文字内容. ...

  • js实现无缝连接轮播图(三)使用排他思想,实现小圆点填充颜色的切换

    <!-- 这个animate.js 必须写到 index.js的上面引入 --> <script src="js/animate.js"></scri ...

  • 关于国家医疗保障信息平台切换期间暂停医保结算服务的公告

    广大参保人.各参保单位: 为进一步加强医疗保障信息化建设,按照国家和省医疗保障局的统一部署,现定于2021年5月10日8时起正式切换上线国家医疗保障信息平台.信息平台切换上线期间,将暂停全市医疗保险. ...

  • 4.12复盘:高低切换的方式

    复盘最想赞美今天江龙船艇的多头,在这种高位股出现巨大亏钱效应的日子里,一次次坚决的扫板,直到尾盘竞价还在加单.作为短线接力选手,我真的佩服这样的决心. 今天是典型高低切换的行情,类似2018.3.23 ...

  • 12.25复盘:次新高低切换

    12.25盘中思路记录 1.次新周五龙头华能水电高开过多,量能不匹配加速形态,预期回落.贵州燃气竞价完毕符合预期,可以+1,但担心受次新回落预期影响,没有加仓. 2.高位次新滞胀,低位次新机会较明显, ...

  • VS Code 1.56 发布!Terminal tab 终于来了!

    Visual Studio Code 1.56 稳定版已发布,其中一些主要亮点内容如下: 改进的 hover feedback:帮助你快速找到可点击的编辑器操作. 终端配置文件的改进:创建自定义默认终 ...

  • Eclipse中git项目分支切换

    Eclipse中git项目分支切换

  • 炉石传说怎么切换账号?

    奇迹与你同行 炉石传说怎么切换账号? 炉石传说的套牌很难攒,并且每天给的奖励也不多,所以很多人都是玩多个账号来体验不同的套牌是很有必要的,毕竟不充钱想要体验到当前最好用的卡组只能这么办了. 那么炉石传 ...