웹마스터 팁

<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
제목 글쓴이 날짜
메뉴 옆에서 화살표가 스크롤되는.. [2] 힘찬연못 2003.05.29
메뉴이동입니다. [5] 데빌스텔스 2003.04.20
간단한 점프메뉴(selecter) [14] 박재현 2003.04.14
엔지오식 좌측이동메뉴 레이어 가운데기준정렬 [11] 스티치 2003.03.29
슬라이딩 Layer ( 옆에 메뉴 보이시죠, 비슷꾸리한거 ) [8] 이남두 2003.02.26
MS홈에 쓰이는 오른쪽메뉴 툴바 [13] file Kortion 2003.02.22
오른쪽 클릭 메뉴 [6] 디아릭스 2002.12.16
이동 메뉴 (Netscape 가능 NZEO.com 소스) [9] 박영창 2002.12.08
엔지오처럼 메뉴가 아래위로 움직이는 소스[steelheart님 만듬]. [10] 김태경 2002.11.23
엔지오같은 메뉴 만들기 #2 - Error 수정판 -_-;; [13] Eccen 2002.11.12
[re] 엔지오같은 메뉴 만들기 #2 -> 레이어배치 팁! //ⓦⓞⓞⓡⓨ님참고 [3] Aracing™ 2003.01.10
엔지오같은 메뉴 만들기 #1 - 수정판 [6] Eccen 2002.11.05
자바스크립트로 클릭하면 출력되는 메뉴를 만들어 보자~!!! [6] 유지호 2002.09.20
NZEO의 좌측 이동메뉴를 구현해 보자. (이동 On/Off 기능 포함) [43] steelheart 2002.08.20
플래쉬 효과나는 신비 메뉴 - -? *수정+카피라이터~ [17] ▩윤미 2002.06.09
링크된 텍스르 마우스 오버시 그림이 변한다.(메뉴로도..) [1] ▩윤미 2002.05.19
DHTM 을 이용한 마우스 오른쪽의 메뉴 만들기.. [11] 허진규 2001.03.30
셀렉트박스 트리메뉴인데 참 이뻐요(링크타켓 - top) [3] 뽀因㉦ㅓо Ø Γ 2006.09.19
슬라이드 배너및 메뉴가 익스플러 창 조절시 좌표값 변할때 사용 하는 구문!! 천문길 2006.08.21
relative 속성 레이어를 이용한 메뉴를 자리차지하지 않게... [1] PHASE 2004.06.03