zoukankan      html  css  js  c++  java
  • 面向对象选项卡原理

    /*
    //面向过程
    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';
    }
  • 相关阅读:
    怎么做程序?(摘录微博)
    ObjectiveC protocol & delegate
    iPhone网络编程之监视网络连接
    第二个iPhone应用程序:“Say Hello”
    NSNotificationCenter 的使用详解
    打字效果,自动换行的CCLabelTTF
    objectc's selector (forward)
    IOS触摸事件
    如何使用Android SDK Manager下载 SDK
    年月日三级级联
  • 原文地址:https://www.cnblogs.com/oceanden/p/4199494.html
Copyright © 2011-2022 走看看