웹마스터 팁

<SCRIPT language="JavaScript">

// 브라우저 판별을 위한 두개의 변수 :: 불리언 역할을 함
var bNetscape4plus = (navigator.appName == "Netscape" && navigator.appVersion.substring(0,1) >= "5");
// 브라우저가 넷스케이프며 appVersion이 5(버전 : 5.x~7.x)인 경우 true
var bExplorer4plus = (navigator.appName == "Microsoft Internet Explorer" && navigator.appVersion.substring(0,1) >= "4");
// 브라우저가 넷스케이프며 appVersion이 4(버전 : 4.x~6.x)인 경우 true

function CheckUIElements(){

  var yMenuFrom, yMenuTo, yOffset, timeoutNextCheck;

  if ( bNetscape4plus ) { // 네츠케이프 용 설정
    yMenuFrom = parseInt( window.document.getElementById("divMenu").style.top, 10 );
    // 창의 크기를 줄였을 경우나, 레이어의 높이가 창의 크기보다 큰 경우, 무한스크롤이 되는 경우를 방지하기 위한 조건문
    if ( parseInt( window.innerHeight, 10 ) <= parseInt( window.document.getElementById("divMenu").style.height, 10 ) ) yMenuTo = 7; // 위쪽으로부터의 거리
    else yMenuTo = window.pageYOffset + 7;   // 위쪽에서부터의 거리
  }
  else if( bExplorer4plus ) {  // IE 용 설정
    yMenuFrom = parseInt (window.document.all("divMenu").style.top, 10);
    // 창의 크기를 줄였을 경우나, 레이어의 높이가 창의 크기보다 큰 경우, 무한스크롤이 되는 경우를 방지하기 위한 조건문
    if ( parseInt( window.document.body.clientHeight, 10) <= parseInt( window.document.all("divMenu").style.height, 10) ) yMenuTo = 5; // 위쪽으로부터의 거리
    else yMenuTo = window.document.body.scrollTop + 5; // 위쪽에서부터의 거리
  }

  timeoutNextCheck = 500;

  if ( yMenuFrom != yMenuTo ){
    yOffset = Math.ceil( Math.abs( yMenuTo - yMenuFrom ) / 20 ); //스크롤의 속도증감의 부드러움 조절은 이곳의 수치를 이용한다.
    if ( yMenuTo < yMenuFrom ) yOffset = -yOffset;
    if ( bNetscape4plus ) window.document.getElementById("divMenu").style.top = parseInt ( window.document.getElementById("divMenu").style.top, 10 ) + yOffset;
    else if ( bExplorer4plus ) window.document.all("divMenu").style.top = parseInt (window.document.all("divMenu").style.top, 10) + yOffset;
    timeoutNextCheck = 10;
  }
  setTimeout ("CheckUIElements()", timeoutNextCheck);
}



function OnLoad(){

  if ( bNetscape4plus ){
    window.document.getElementById("divMenu").style.top = window.pageYOffset + 0;  
    // 뒤에 더해준 숫자 : 레이어가 처음 나타나는 위치 (위에서 몇픽셀 떨어진 지점) 뒤에 CheckUIElements()에 의해 정해진 지점으로 스크롤 된다.
    //                    300~400정도의 값을 넣어 테스트해보면, 정확한 기능을 파악할 수 있다.
    window.document.getElementById("divMenu").style.visibility = "visible"; // 레이어의 숨김/보이기 옵션중 보이기 옵션
  }
  else if ( bExplorer4plus ){
    window.document.all("divMenu").style.top = document.body.scrollTop + 0;
    // 뒤에 더해준 숫자 : 바로 위 넷스케이프에서 실행되는 스크립트에서의 기능과 같다.
    window.document.all("divMenu").style.visibility = "visible";
  }

  CheckUIElements();
  return true;
}
OnLoad();
</SCRIPT>

-- 위 구문을 넣어주시면 될꺼예요...
저도 첨에 저것 때문에 무진장 고생했어요..ㅍ.ㅍ
저기 보시면..."divMenu" 이건 슬라이드메뉴나 배너.이름이고..
해보시면..다 아실겁니다...하핫..너무 무책임한 발언인가..
www.moongil.com
제목 글쓴이 날짜
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