묻고답하기

윈도우 형식 메뉴입니다.
+ -  폴더가 출력됩니다.  근데 처음에는 폴더만 출력되구요. 폴더아래 서브메뉴는 처음에 표기되지않습니다.
폴더클릭시 +가 -로 변하면서 아래로 서브메뉴가 윈도우 형식으로 출력됩니다.
여기서 제가 하고뿐질문은 노프레임시 새로고침을 해버리면 다시 폴더만 나와서 게시판은 그대로 있는데 메뉴만 제자리로 돌아가 사용자가 불편하것 같아 새로고침을 해도 사용자가 클릭해서 열었던 서브메뉴를 고정시키고 싶습니다.
고수님들 수고스럽더라도 다시 한번 공부한다치고 알려주십시오.
밝은 인터넷문화를 위해서~
아래는 소스입니다.


------------------menu1.js----------------------------------------------------------------------------------------

document.onmouseover = mOver ;
document.onmouseout = mOut ;

function mOver() {
        var eSrc = window.event.srcElement ;
        if (eSrc.className == "item") {
                window.event.srcElement.className = "highlight";
        }
}

function mOut() {
        var eSrc = window.event.srcElement ;
        if (eSrc.className == "highlight") {
                window.event.srcElement.className = "item";
        }
}


var bV=parseInt(navigator.appVersion);
NS4=(document.layers) ? true : false;
IE4=((document.all)&&(bV>=4))?true:false;
ver4 = (NS4 || IE4) ? true : false;

isExpanded = false;

function getIndex($1) {
        ind = null;
        for (i=0; i<document.layers.length; i++) {
                whichEl = document.layers[i];
                if (whichEl.id == $1) {
                        ind = i;
                        break;
                }
        }
        return ind;
}

function arrange() {
        nextY = document.layers[firstInd].pageY + document.layers[firstInd].document.height;
        for (i=firstInd+1; i<document.layers.length; i++) {
                whichEl = document.layers[i];
                if (whichEl.visibility != "hide") {
                        whichEl.pageY = nextY;
                        nextY += whichEl.document.height;
                }
        }
}

function FolderInit(){
        if (NS4) {
        firstEl = "mParent";
        firstInd = getIndex(firstEl);
        showAll();
                for (i=0; i<document.layers.length; i++) {
                        whichEl = document.layers[i];
                        if (whichEl.id.indexOf("Child") != -1) whichEl.visibility = "hide";
                }
                arrange();
        }
        else {
                tempColl = document.all.tags("DIV");
                for (i=0; i<tempColl.length; i++) {
                        if (tempColl(i).className == "child") tempColl(i).style.display = "none";
                }
        }
}

function FolderExpand($1,$2) {
        if (!ver4) return;
        if (IE4) { ExpandIE($1,$2) }
        else { ExpandNS($1,$2) }
}

function ExpandIE($1,$2) {
        Expanda = eval($1 + "a");
        Expanda.blur()
        ExpandChild = eval($1 + "Child");
        if ($2 != "top") {
                ExpandTree = eval($1 + "Tree");
                ExpandFolder = eval($1 + "Folder");
        }
        if (ExpandChild.style.display == "none") {
                ExpandChild.style.display = "block";
                if ($2 != "top") {
                        if ($2 == "last") { ExpandTree.src = "./menu1/images/Lminus.gif"; }
                        else { ExpandTree.src = "./menu1/images/Tminus.gif"; }
                        ExpandFolder.src = "./menu1/images/openfoldericon.gif";        
                }
                else { mTree.src = "./menu1/images/topopen.gif"; }
        }
        else {
                ExpandChild.style.display = "none";
                if ($2 != "top") {
                        if ($2 == "last") { ExpandTree.src = "./menu1/images/Lplus.gif"; }
                        else { ExpandTree.src = "./menu1/images/Tplus.gif"; }
                        ExpandFolder.src = "./menu1/images/foldericon.gif";
                }
                else { mTree.src = "./menu1/images/top.gif"; }
        }
}
function ExpandNS($1,$2) {
        ExpandChild = eval("document." + $1 + "Child")
        if ($2 != "top") {
                ExpandTree = eval("document." + $1 + "Parent.document." + $1 + "Tree")
                ExpandFolder = eval("document." + $1 + "Parent.document." + $1 + "Folder")
        }        
        if (ExpandChild.visibility == "hide") {
                ExpandChild.visibility = "show";
                if ($2 != "top") {
                               if ($2 == "last") { ExpandTree.src = "./menu1/images/Lminus.gif"; }
                        else { ExpandTree.src = "./menu1/images/Tminus.gif"; }
                        ExpandFolder.src = "./menu1/images/openfoldericon.gif";        
                }
                else { mTree.src = "./menu1/images/topopen.gif"; }
        }
        else {
                ExpandChild.visibility = "hide";
                if ($2 != "top") {
                               if ($2 == "last") { ExpandTree.src = "./menu1/images/Lplus.gif"; }
                        else { ExpandTree.src = "./menu1/images/Tplus.gif"; }
                        ExpandFolder.src = "./menu1/images/foldericon.gif";        
                }
                else { mTree.src = "./menu1/images/top.gif"; }
        }
        arrange();
}

function showAll() {
        for (i=firstInd; i<document.layers.length; i++) {
                whichEl = document.layers[i];
                whichEl.visibility = "show";
        }
}


with (document) {
        write("<STYLE TYPE='text/css'>");
        if (NS4) {
                write(".parent { color: black; font-size:9pt; line-height:0pt; color:black; text-decoration:none; margin-top: 0px; margin-bottom: 0px; position:absolute; visibility:hidden }");
                write(".child { text-decoration:none; font-size:9pt; line-height:15pt; position:absolute }");
                write(".item { color: black; text-decoration:none }");
                write(".highlight { color: blue; text-decoration:none }");
        }
        else {
                write(".parent { font: 12px/13px; Times; text-decoration: none; color: black }");
                write(".child { font:12px/13px Times; display:none }");
                write(".item { color: black; text-decoration:none; cursor: hand }");
                write(".highlight { color: blue; text-decoration:none }");
                write(".icon { margin-right: 5 }")
        }
        write("</STYLE>");
}

onload = FolderInit;


-------------------------------------------------------------------------------------------------------------------------



-------------------------------------------------index.php---------------------------------------------------------------
<head>
<meta http-equiv="content-type" content="text/html; charset=euc-kr">
<title>메뉴수정</title>
<script language="javascript" src="./menu1/menu1.js"></script>
</head>
<body>
<div ID="mParent" class="parent">
생략
</div>
</body>
</html>



글쓴이 제목 최종 글
XE 공지 글 쓰기,삭제 운영방식 변경 공지 [16] 2019.03.05 by 남기남
김진 제가 만든 페이지 속에 제로보드를 끼어 넣을수 없나요? [4] 2009.08.16 by wannabewize
으아악. Community의 최근 게시물 스킨 공개 안되어 있나요?? file  
sakurastorm 하루에 일정수만 가입받게 설정할 수 있나요?  
분홍곰 댓글의 닉네임이 두줄로 표시되는 문제  
바이블인사이드 다음 xe버전때 꼭 업그레이드 해야될 포인트기능인것 같네요 / 그리고 버그한가지.. (혹시고수분께서 바로 가능하실지도..) [1] 2009.08.16 by NEARSTORY
xkaix 글쓰기 버튼을 누르면 메인화면으로 돌아가요 (전부)  
sakra 제로보드 먹통되서 삭제 했는데요... [2] 2009.08.16 by sakra
바이블인사이드 어떤 예쁜 최신게시글 위젯스킨이 있는데 작성자 앞에 레벨아이콘과 카네고리를 넣으려면 어떻게해야될까요?? file  
끙끙이 레이아웃 편집후 게시글 클릭해도 같은화면입니다.  
겨레사랑 메인화면 구성시.... 다시 질문드립니다. file  
운영자 도와 주세요! 메뉴가 IE6에서는 문제가없는데 IE8 선 보이지 않아요. [2] 2009.08.16 by 운영자
으아악. [CSS질문] div를 구성하려고 하는데 float속성을 잘 몰라서 적용을 못 하겠네요.ㅠㅠ [2] file 2009.08.16 by 으아악.
1 로그인 후 백지현상 [2] 2009.08.16 by June Oh
장재수 확장 변수의 값 끼리 계산 결과를 다른 확장변수에 저장하는 방법.. [1] 2009.08.16 by June Oh
ㅅ414 XE -> XE 회원정보이전 [1] 2009.08.16 by 백성찬
겨레사랑 메인화면 배치시... [6] file 2009.08.16 by phiz
김신희913 XE폴더 여부 & 파일 업로드 후 권한 설정 [2] 2009.08.16 by June Oh
민호랑 완전초보입니다..ㅠㅠ...펜페이지  
록이™ 레이아웃에서 header위 간격은 어케조정하나요? [1] file 2009.08.16 by 록이™
돌칸 config.inc.php화일에러 관하여 ....말씀해주세요!