国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

js類后臺管理菜單類-MenuSwitch

2019-11-21 01:55:59
字體:
來源:轉載
供稿:網友
寫MenuSwitch類的出發點是因為隨著后臺管理項越來越多,從而導致菜單顯示部出現了滾動條導致頁面很不美觀,自己蒙生寫這個JS類了。
    這個功能類采用了目前比較流行的Web2.0做法,使用DIV+CSS+JS方式,將樣式和功能分開。我下面先把演示效果放出來吧

復制代碼 代碼如下:

    function MenuSwitch(className){        
        this._elements = [];
        this._default = -1;
        this._className = className;
        this._previous = false;
    }
    MenuSwitch.prototype.setDefault = function(id){
        this._default = Number(id);
    }
    MenuSwitch.prototype.setPrevious = function(flag){
        this._previous = Boolean(flag);
    }
    MenuSwitch.prototype.collectElementbyClass = function(){
        this._elements = [];
        var allelements = document.getElementsByTagName("div");
        for(var i=0;i<allelements.length;i++){
            var mItem = allelements[i];
            if (typeof mItem.className == "string" && mItem.className == this._className){
                var h3s = mItem.getElementsByTagName("h3");
                var uls = mItem.getElementsByTagName("ul");
                if(h3s.length == 1 && uls.length == 1){
                    h3s[0].style.cursor = "hand";                    
                    if(this._default == this._elements.length){
                        uls[0].style.display = "block";    
                    }else{
                        uls[0].style.display = "none";    
                    }
                    this._elements[this._elements.length] = mItem;
                }                
            }
        }
    }
    MenuSwitch.prototype.open = function(mElement){
        var uls = mElement.getElementsByTagName("ul");
        uls[0].style.display = "block";
    }
    MenuSwitch.prototype.close = function(mElement){
        var uls = mElement.getElementsByTagName("ul");
        uls[0].style.display = "none";
    }
    MenuSwitch.prototype.isOpen = function(mElement){
        var uls = mElement.getElementsByTagName("ul");        
        return uls[0].style.display == "block";
    }
    MenuSwitch.prototype.toggledisplay = function(header){
        var mItem;
        if(window.addEventListener){
            mItem = header.parentNode;
        }else{
            mItem = header.parentElement;
        }
        if(this.isOpen(mItem)){
            this.close(mItem);
        }else{
            this.open(mItem);
        }        
        if(!this._previous){
            for(var i=0;i<this._elements.length;i++){
                if(this._elements[i] != mItem){                
                    var uls = this._elements[i].getElementsByTagName("ul");
                    uls[0].style.display = "none";        
                }
            }
        }
    }    
    MenuSwitch.prototype.init = function(){        
        var instance = this;
        this.collectElementbyClass();
        if(this._elements.length==0){
            return;
        }
        for(var i=0;i<this._elements.length;i++){
            var h3s = this._elements[i].getElementsByTagName("h3");            
            if(window.addEventListener){
                h3s[0].addEventListener("click",function(){instance.toggledisplay(this);},false);
            }else{
                h3s[0].onclick = function(){instance.toggledisplay(this);}
            }
        }
    }

打包文件下載
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 镇原县| 定州市| 大兴区| 高邑县| 蓬莱市| 博乐市| 长宁区| 白山市| 华安县| 松原市| 崇仁县| 庆城县| 湖口县| 临夏市| 汝城县| 富阳市| 宝山区| 保亭| 永福县| 定兴县| 齐齐哈尔市| 娄烦县| 金湖县| 安仁县| 新邵县| 什邡市| 和顺县| 右玉县| 壶关县| 尚义县| 申扎县| 平武县| 富锦市| 马边| 将乐县| 黔西| 巴彦县| 阜阳市| 应城市| 威远县| 年辖:市辖区|