• 面向对象选项卡原理


    /*
    //面向过程
    window.onload = function(){
        var oDiv = document.getElementById('div1');
        var aBtn = oDiv.getElementsByTagName('input');
        var aDiv = oDiv.getElementsByTagName('div');
    
        for(var i=0; i<aBtn.length; i++){
            aBtn[i].index = i;
            aBtn[i].onclick = function(){
                for(var i=0; i<aBtn.length; i++){
                    aBtn[i].className = '';
                    aDiv[i].style.display = 'none';
                }
                this.className = 'active';
                aDiv[this.index].style.display = 'block';
            }
        };
    };
    */
    /********************************
    改写步骤:   window.onload 初始化整个程序        构造函数 初始化整个对象
                变量 函数                            属性 方法
             1、原则:不能有全套函数,但可以有全局变量(尽量没有)
             2、过程:onload    改  构造函数
                       全局变量  改  属性
                      函数      改  方法
             3、改错:this、事件、闭包、传参
    *********************************/
    
    // 面向对象
    window.onload = function(){
        new TabSwitch('div1');
    }
    
    function TabSwitch(id){
        var _this = this;
        var oDiv = document.getElementById(id);
        this.aBtn = oDiv.getElementsByTagName('input');
        this.aDiv = oDiv.getElementsByTagName('div');
    
        for(var i=0; i<this.aBtn.length; i++){
            this.aBtn[i].index = i;
            this.aBtn[i].onclick = function(){        //通过闭包传递this
                _this.fnClick(this);
            }
        };
    };
    
    TabSwitch.prototype.fnClick = function(oBtn){
        for(var i=0; i<this.aBtn.length; i++){
            this.aBtn[i].className = '';
            this.aDiv[i].style.display = 'none';
        }
        oBtn.className = 'active';
        this.aDiv[oBtn.index].style.display = 'block';
    }
  • 相关阅读:
    git如何从远端获取某个文件
    git显示不出来图标标志
    sublime text3设置
    怎么解决sublime的插件自动被禁用
    外甥语录
    sublime Text3支持vue高亮,sublime Text3格式化Vue
    sass安装方法,绝对好用的方式
    win10 安装nodejs,报错there is a problem in the windows installer package
    npm下载模块提速方法
    npm如何删除node_modules文件夹
  • 原文地址:https://www.cnblogs.com/oceanden/p/4199494.html
Copyright © 2020-2023  润新知