2010. 4. 7. 00:16
반응형

// menu
function menu() {
    this.menuName   = new map();
    this.menuUrl    = new map();
    this.className  = "";

    this.addMenu    = function(code, name, url) {
        this.menuName.put(code, name);
        this.menuUrl.put(code, url);
    }
    this.getMenu    = function(code) {
        var res         = "";
        var codeList    = this.menuName.getSub(code);
        for(var i=0; i<codeList.length; i++) {
            var name    = this.menuName.get(codeList[i]);
            res += ((res == "") ? "" : " | ") + "<a href=\"javascript:" + this.className + ".goMenu('" + codeList[i] + "')\">" + name + "</a>";
        }
        return res;
    }
    this.goMenu     = function(code) {
        var lastCode    = code;
        location.href   = this.menuUrl.get(code);
    }

    function map() {
        var mapVal  = {};
        var pos     = new Array();
        this.get    = function(key) {
            return mapVal[key];
        }
        this.getPos = function(n) {
            return mapVal[pos[n]];
        }
        this.getSub = function(code) {
            var tmpList = new Array();
            for(var i=0; i<pos.length; i++) {
                if((pos[i].indexOf(code) == 0) && (pos[i] != code)) {
                    tmpList.push(pos[i]);
                }
            }
            return tmpList;
        }
        this.put    = function(key, val) {
            mapVal[key] = val;
            pos.push(key);
        }
        this.size   = function() {
            return pos.length;
        }
       
    }
}



var tchMenu = new menu();
tchMenu.className   = "tchMenu";
tchMenu.addMenu("T01",      "학습관리",         "");
tchMenu.addMenu("T01S01",   "테스트 조회",      "/TCH/EXM/paper_list.htm");
tchMenu.addMenu("T01S02",   "테스트 출제",      "/TCH/EXM/make_paper.htm");
document.write(tchMenu.getMenu("T01"));

반응형

'Front-Html > Javascript' 카테고리의 다른 글

javascript 배열을 이용한 select box 2개 연결  (1) 2010.04.09
javascript 실시간 유동적 시간 변경  (1) 2010.04.09
javascript calendar.js  (1) 2010.04.09
javascript lightbox lib  (2) 2010.04.09
Paging.js  (2) 2010.04.07
Posted by seongsland