웹마스터 팁

원래 steelheart 님이 만드신 이동 메뉴 스크립트를 쓰다가 네츠케이프에서 아예 메뉴조차도 나오지 않는 호환성 때문에 약간의 불편함을 감수해야 했습니다. 그런데 이상하게도 제로님 홈페이지에서는 네츠케입에서도 메뉴가 정상적으로 출력이 되더라구요. 그래서 제로님의 홈페이지에 있는 소스를 보고서 필요한 부분만 발췌해서 이렇게 내놓습니다. 네츠케이프에서도 지원되는 이동메뉼르 구현하실 분들만 쓰도록 하세요.

(이게 원래는 이동 체크하는 부분이 있는데... 그부분의 action 파일이 어떤 구조로 돌아가는 지를 모르겠어서 그냥 주석처리했습니다. 언젠가는 밝혀지겠죠 ㅡㅡ;; 그냥 하단의 부분만 자바스크립트로 어떻게 해도 되지 않을까 생각하지만.. ㅡㅡ;; 어떤 분께서 그냥 not_ani.html 의 구조를 알려주심 좋겠네요. 그 파일이 아마 하단 자바스크립트를 지우고 다시 로드해주는 파일로 보입니다.)

소스 길이도 적도 꽤 괜찮습니다. 문제는 네츠케이에서는 이동 속도가 죽음이라는데 있지만.. --;; 네츠케이프의 문제인것 같고.. 메뉴만 나오는 것도 다행이라고 할 수 있죠...
홈페이지에 맞도록 변수를 수정해서 쓰세요.

ps. 왼쪽 마진과 초기 시작 위치는 은 div 태그의 style 옵션에서 설정을 해주면 됩니다.


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


<!-- 메뉴이동 스크립트 -->
<SCRIPT language=javascript>
<!-- //
        var _scroll_topmargin=254;        // 이동 메뉴의 상단 한계 픽셀
        var _scroll_ing_topmargin=3;         // 움직이는 도중의 상단과의 간격
        var _scroll_activate_speed=500;        // 초기 움직임을 감지하는 시간차이 (1/1000초)
        var _scroll_ing_activate_speed=10;        // 움직이기 시작한 이후에 감지하는 시간차이 (1/1000초)

        var isDOM = (document.getElementById ? true : false);
        var isIE4 = ((document.all && !isDOM) ? true : false);
        var isNS4 = (document.layers ? true : false);

        function getRef(id) {
                if (isDOM) return document.getElementById(id);
                if (isIE4) return document.all[id];
                if (isNS4) return document.layers[id];
        }

        var isNS = navigator.appName == "Netscape";

        function moveRightEdge() {
                var yMenuFrom, yMenuTo, yOffset, timeoutNextCheck;
                if (isNS4) {
                        yMenuFrom   = divMenu.top;
                        yMenuTo     = windows.pageYOffset+_scroll_ing_topmargin;
                } else if (isDOM) {
                        yMenuFrom   = parseInt (divMenu.style.top, 10);
                        yMenuTo     = (isNS ? window.pageYOffset : document.body.scrollTop)+_scroll_ing_topmargin;
                }
                if(yMenuTo<_scroll_topmargin) yMenuTo = _scroll_topmargin;

                timeoutNextCheck = _scroll_activate_speed;

                if (yMenuFrom != yMenuTo) {
                        yOffset = Math.ceil(Math.abs(yMenuTo - yMenuFrom) / 10);
                        if (yMenuTo < yMenuFrom) yOffset = -yOffset;
                        if (isNS4) divMenu.top += yOffset;
                        else if (isDOM) divMenu.style.top = parseInt (divMenu.style.top, 10) + yOffset;
                        timeoutNextCheck = _scroll_ing_activate_speed;
                }
                setTimeout ("moveRightEdge()", timeoutNextCheck);
        }
-->
</SCRIPT>

<DIV id=divMenu style="LEFT: 13px; VISIBILITY: visible; WIDTH: 145; POSITION: absolute; TOP: 254px; z-index=2">

<!-- 메뉴가 들어갈 부분... 본인의 홈페이지에 맞게 적당히 편집하세요. -->
        
<!-- 메뉴부분 끝 -->


<!-- 메뉴이동 기능 -->
<!--
<table border=0>
<form action=<?=$_cscafe_url?>share/not_ani.html method=get>        // 이 부분이 어떻게 동작하는 지를 알 수 없음.
<tr>
        <td>
                <input type=checkbox name=not_ani value=1  onclick=submit()> 메뉴이동 기능 끄기
        </td>
</tr>
</form>
</table>
-->
</DIV>

<SCRIPT language=javascript>
<!-- //
if (isNS4) {
        var divMenu = document["divMenu"];
        divMenu.top = top.pageYOffset + _scroll_topmargin;
        divMenu.visibility = "visible";
        moveRightEdge();
}
else if (isDOM) {
        var divMenu = getRef('divMenu');
        divMenu.style.top = (isNS ? window.pageYOffset : document.body.scrollTop) + _scroll_topmargin;
        divMenu.style.visibility = "visible";
        moveRightEdge();
}
//-->
</SCRIPT>
제목 글쓴이 날짜
MS홈에 쓰이는 오른쪽메뉴 툴바 [13] file Kortion 2003.02.22
슬라이딩 Layer ( 옆에 메뉴 보이시죠, 비슷꾸리한거 ) [8] 이남두 2003.02.26
엔지오식 좌측이동메뉴 레이어 가운데기준정렬 [11] 스티치 2003.03.29
간단한 점프메뉴(selecter) [14] 박재현 2003.04.14
메뉴이동입니다. [5] 데빌스텔스 2003.04.20
메뉴 옆에서 화살표가 스크롤되는.. [2] 힘찬연못 2003.05.29
[스크립트]오른쪽 버튼 누르면 메뉴나오기^^ [1] 처절초보 2003.06.16
[스크립트] 메뉴에 마우슬 데면 서브 메뉴가 나온다 [2] 처절초보 2003.06.16
마우스 오른쪽 버튼 누르면 원하는 메뉴 뜨게 만들기(다른사이트) [3] 김주형 2003.07.03
[수정]롤오버 메뉴에 하위 부메뉴 레이어..(아웃시 하위메뉴사라짐) [24] 미니 2003.08.18
플레쉬 메뉴를 표방한..=ㅁ= 자바스크립트의 수작 버튼 밑으로 스크롤 되는 아이콘입니다. [47] beMax 2003.09.14
플래시느낌의 유동적인 메뉴 [9] jabusim 2003.11.13
오른버튼 누를때 메뉴 뜨게하기(깔끔버전) [5] file 2003.12.09
화면 오른쪽 아래부분에 떠있는 메뉴 레이어(마우스 오버시 부메뉴 펼쳐짐) [7] 봉팀장 2003.12.30
[초간단 자바스크립트!] 색깔바뀌는 메뉴 [3] ∑Ztxy 2004.01.19
[초간단 자바스크립트!] 서브메뉴 만들기...~ [11] ∑Ztxy 2004.03.10
허접한 풀다운 메뉴 소스입니다. (유용한 팁 일지는 모르겠네요.) [9] file tintintm 2004.03.23
클릭하거나, 바탕을 더블클릭하면 나타나는 작은(크기조절가능) 메뉴 ☺심심 2004.05.17
[StylishJAVA]레이어를 이용한 슬라이드 메뉴 [5] ∑Ztxy 2004.06.05
레이어 3 - 메뉴판때기. [1] 미친개 2004.07.04