色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

js類后臺(tái)管理菜單類-MenuSwitch

寫MenuSwitch類的出發(fā)點(diǎn)是因?yàn)殡S著后臺(tái)管理項(xiàng)越來越多,從而導(dǎo)致菜單顯示部出現(xiàn)了滾動(dòng)條導(dǎo)致頁面很不美觀,自己蒙生寫這個(gè)JS類了。
    這個(gè)功能類采用了目前比較流行的Web2.0做法,使用DIV+CSS+JS方式,將樣式和功能分開。我下面先把演示效果放出來吧

復(fù)制代碼 代碼如下:
    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);}
            }
        }
    }

打包文件下載

JavaScript技術(shù)js類后臺(tái)管理菜單類-MenuSwitch,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 临高县| 延川县| 肇州县| 肃南| 临高县| 绩溪县| 黔江区| 阿克苏市| 德格县| 准格尔旗| 金寨县| 保德县| 衡水市| 巧家县| 贵港市| 清流县| 奇台县| 乌兰浩特市| 开阳县| 昌吉市| 光泽县| 平江县| 历史| 都安| 如皋市| 阿拉善左旗| 宣威市| 丰原市| 马尔康县| 观塘区| 苍溪县| 莎车县| 漯河市| 阿拉善左旗| 西乌珠穆沁旗| 遂川县| 子长县| 南通市| 唐河县| 伊通| 余江县|