메뉴 보이기
Profile
이온디

2009.02.03

Show-Hide Layers 클릭한 걸 기억하는 (by 알릭)

조회 수 6895 추천 수 0
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
    <meta http-equiv=cache-control content=no-cache>
    <meta http-equiv=pragma    content=no-cache>

    <!-- title -->
    <title>No title</title>

    <!-- stylesheets -->
    <!-- <link rel=stylesheet href="" type="text/css" title="Global CSS"> -->

    <!-- global script -->

    <script type="text/javascript" language="javascript">
    //<![CDATA[
        var totalmenu = 3; //서브메뉴 총합
        function showmenu(no) {
            for(i=1;i<=totalmenu;i++) {
                if(i==no) {
                    document.getElementById('submenu_'+i).style.visibility = 'visible';
                } else {
                    document.getElementById('submenu_'+i).style.visibility = 'hidden';
                }
            }
        }

        function hidemenu() {
            for(i=1;i<=totalmenu;i++) {
                    document.getElementById('submenu_'+i).style.visibility = 'hidden';
            }
            initMenu();
        }
        
        function clickmenu(no) {
            createCookie('selectedmenu', no,100);
        }

        function checkMouse(e) {
            var openmenu = document.getElementById('menuarea');
            if (openmenu) {
                if (!e) var e = window.event;
                var tg = (window.event) ? e.srcElement : e.target;
                var obj = openmenu;
                while (tg && tg != obj && tg.nodeName != 'BODY') {
                    tg= tg.parentNode;
                }
                if (tg == obj) {
                    return;
                } else {
                    hidemenu();
                }
            }
        }

        function initMenu() {
            var cookieValue = readCookie('selectedmenu');
            if(cookieValue && cookieValue.length>0 && cookieValue<=totalmenu){
                showmenu(cookieValue);
            } else {
                showmenu(1);
            }
        }

        function createCookie(name,value,days) {
            if (days) {
                var date = new Date();
                date.setTime(date.getTime()+(days*24*60*60*1000));
                var expires = "; expires="+date.toGMTString();
            }
            else var expires = "";
            document.cookie = name+"="+value+expires+"; path=/";
        }

        function readCookie(name) {
            var nameEQ = name + "=";
            var ca = document.cookie.split(';');
            for(var i=0;i < ca.length;i++) {
                var c = ca[i];
                while (c.charAt(0)==' ') c = c.substring(1,c.length);
                if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
            }
            return null;
        }

        //
        function addEvent( obj, type, fn ) {
            if (obj.addEventListener) {
                obj.addEventListener( type, fn, false );
                EventCache.add(obj, type, fn);
            }
            else if (obj.attachEvent) {
                obj["e"+type+fn] = fn;
                obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
                obj.attachEvent( "on"+type, obj[type+fn] );
                EventCache.add(obj, type, fn);
            }
            else {
                obj["on"+type] = obj["e"+type+fn];
            }
        }

        var EventCache = function(){
            var listEvents = [];
            return {
                listEvents : listEvents,
                add : function(node, sEventName, fHandler){
                    listEvents.push(arguments);
                },
                flush : function(){
                    var i, item;
                    for(i = listEvents.length - 1; i >= 0; i = i - 1){
                        item = listEvents[i];
                        if(item[0].removeEventListener){
                            item[0].removeEventListener(item[1], item[2], item[3]);
                        };
                        if(item[1].substring(0, 2) != "on"){
                            item[1] = "on" + item[1];
                        };
                        if(item[0].detachEvent){
                            item[0].detachEvent(item[1], item[2]);
                        };
                        item[0][item[1]] = null;
                    };
                }
            };
        }();
        addEvent(window,'unload',EventCache.flush);
        //

        addEvent(window,'load',initMenu);
        addEvent(document,'mousemove',checkMouse);

        function eraseCookie(name) {
    createCookie(name,"",-1);
}

    //]]>
    </script>
    
    <!-- document-specific inline style -->
    <style type="text/css">
    /*<![CDATA[*/
        body { font-size: 9pt;}
        #mainmenu { border:1px solid red; height: 20px;  }
        #submenu { border:1px solid blue; height: 20px; }
        .submenus { position: absolute; visibility: hidden;}

        #submenu_1 { padding: 0;}
        #submenu_2 { padding: 0 0 0 52px;}
        #submenu_3 { padding: 0 0 0 104px;}
    /*]]>*/
    </style>

</head>

 <body>
  <div id="menuarea">
    <div id="mainmenu"><a href="#" onclick="clickmenu(1);" onmouseover="showmenu(1)">main 1</a> | <a href="#" onclick="clickmenu(2);" onmouseover="showmenu(2)">main 2</a> | <a href="#" onclick="clickmenu(3);"onmouseover="showmenu(3)">main 3</a></div>
    <div id="submenu">
        <div id="submenu_1" class="submenus"><a href="#" onclick="clickmenu(1);">sub 1-1</a> || <a href="#" onclick="clickmenu(1);">sub 1-2</a> || <a href="#" onclick="clickmenu(1);">sub 1-3</a></div>
        <div id="submenu_2" class="submenus"><a href="#" onclick="clickmenu(2);">sub 2-1</a> || <a href="#" onclick="clickmenu(2);">sub 2-2</a> || <a href="#" onclick="clickmenu(2);">sub 2-3</a></div>
        <div id="submenu_3" class="submenus"><a href="#" onclick="clickmenu(3);">sub 3-1</a> || <a href="#" onclick="clickmenu(3);">sub 3-2</a> || <a href="#" onclick="clickmenu(3);">sub 3-3</a></div>
    </div>
  </div>
 </body>
</html>
Profile
0
Lv

1개의 댓글

Profile
이온디
2010.11.18

<DIV align=left>

<BUTTON onclick="Engine_DIV.style.visibility='visible'">OPEN</BUTTON>

</DIV>

 

<DIV id=Engine_DIV style="VISIBILITY: visible; width: 550px; height: 200px; BORDER-RIGHT: #E8E8E8 1px solid; BORDER-TOP: #E8E8E8 1px solid; BORDER-LEFT: #E8E8E8 1px solid; BORDER-BOTTOM: #E8E8E8 1px solid; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; PADDING-TOP: 5px; PADDING-BOTTOM: 5px">


<br><br><br><br><br><br><br><br><br>


<DIV align=right>

<BUTTON  onclick="Engine_DIV.style.visibility='hidden'">CLOSE</BUTTON>

</DIV>

 

</DIV>
CLOSE

 

감추기(hidden) 형

에디터
번호 제목 날짜 조회 수
공지 [웹표준] 코딩 배울 수 있는 사이트 모음(HTML/CSS/JS/IMG/PHP) 2018.01.03 126
공지 [jQuery] jQuery를 배울수 있는 동네들입니다. 2013.08.09 19189
공지 [미분류] 관련 링크 2010.05.23 33820
160 [Script] iframe 자동 리사이즈 6 2007.04.16 13615
159 Table to DIV 5 2008.12.25 3580
158 [HTML5] 이미지 롤오버 2 2007.04.17 8756
157 DIV와 Table for Layout 에 대한 코딩 이야기 2 2009.01.03 4201
156 [Meta] IE6의 이미지(그림) 툴바 기능 막기, 이미지 도구 모음 막기 2 2003.09.21 5161
155 [HTML5] 레이어1은 보이고 레이어2는 감추기 2 2004.04.23 5503
154 [Script] 링크 자동으로 onfocus="blur()" 붙이기 (by 후니) 2 2004.05.05 4474
153 [Form] 인풋 폼 이미지로 대체하기 1 2004.05.21 5208
152 [Script] 게시판 등 에서 웹페이지에서 특정 부분 감췄다보여주기 - 레이어 토글 1 2004.06.04 13651
151 [Script] 롤오버 메뉴 만들기 1 2009.01.18 5882
150 [Script] Iframe 크기 내용에 따라 자동조절하기 (by konahn) 1 2007.04.17 9584
149 [PHP] 사이트 테마 기능 구현하기 1 2007.04.18 5555
148 [Script] DIV 레이어 토글 1 2007.04.21 7834
147 [Script] PNG 알파 필터 사용하기 1 2007.04.21 10393
146 [DIV] 이미지 없이 CSS로 둥근 모서리 구현하기 1 2008.12.31 12381
145 [Script] 화면 왼쪽에 숨겨진 레이어 꺼내기 1 2009.01.20 5609
144 [Script] 단축키 핫키로 원하는 동작을 실행하자 1 2013.09.22 4441
143 [HTML5] dl과 ul의 상하관계(?)에 대해서 질문드립니다. 1 2009.01.20 5158
Show-Hide Layers 클릭한 걸 기억하는 (by 알릭) 1 1 2009.02.03 6895
141 [부트스트랩] #2 부트스트랩의 특징 1 2013.03.04 5649