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';
    }
  • 相关阅读:
    icons、tabs、tabs2、toolbars例子详解
    list、listhorizontal、listsearch的理解
    forms、forms_toolbar例子理解
    Accelerometer
    audio,carousel的学习
    数组去空项,相同项
    require与include函数
    php下intval()和(int)转换使用与区别
    PHP需要拷到system32下的加载库及一些相关知识
    字符转义
  • 原文地址:https://www.cnblogs.com/oceanden/p/4199494.html
Copyright © 2011-2022 走看看