面向对象的选项卡ES5和ES6的写法

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
        <style>
            .tit span{
            float: left;
            width: 100px;
            background: #ccf;
            }
            .tit .select{
                background: #99f;
            }
            .con div{
                display: none;
                width: 300px;
                height: 200px;
                background: #cfc;
            }
            .con .show{
                display: block;
            }
            
        </style>
    </head>
    <body>
        <div class="tit" id="tabTit">
            <span class="select">1</span>
            <span>2</span>
            <span>3</span>
        </div>
        <div class="con" id="tabCon">
            <div class='show'>初始化TAB</div>
            <div>TAB切换2</div>
            <div>Tab切换3</div>
        </div>
        <script>
             /* function TabSwitch(titId, titEle, conId, conEle){
                this.titEle = document.getElementById(titId).getElementsByTagName(titEle)
                this.conEle = document.getElementById(conId).getElementsByTagName(conEle)
                var that = this
                for(var i = 0;i<this.titEle.length;i++){
                    this.titEle[i].id = i
                    this.titEle[i].onclick = function(){
                        console.log(that);
                        console.log(this);
                        that.tabFun(this)
                    }
                }
            }
            TabSwitch.prototype.tabFun = function(objTab){
                for(var i = 0;i<this.titEle.length;i++){
                    this.titEle[i].className = ''
                    this.conEle[i].className = ''
                }
                objTab.className = 'select'
                this.conEle[objTab.id].className = 'show'
            }
            new TabSwitch('tabTit','span','tabCon','div') */
            
            
            class Tab{
                constructor(titId, titEle, conId, conEle){
                    this.titEle = document.getElementById(titId).getElementsByTagName(titEle)
                    this.conEle = document.getElementById(conId).getElementsByTagName(conEle)
                    var that = this
                    for(var i = 0;i<this.titEle.length;i++){
                        this.titEle[i].id = i
                        this.titEle[i].onclick = function(){
                            console.log(that);
                            console.log(this);
                            that.tabFun(this)
                        }
                    }
                }
            }
            Tab.prototype.tabFun = function(objTab){
                for(var i = 0;i<this.titEle.length;i++){
                    this.titEle[i].className = ''
                    this.conEle[i].className = ''
                }
                objTab.className = 'select'
                this.conEle[objTab.id].className = 'show'
            }    
            new Tab('tabTit','span','tabCon','div')
        </script>
    </body>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值