웹마스터 팁

<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