웹마스터 팁

<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.03.21
무선랜 솔루션에 대해서. 저도^^; Dopesoul 2003.03.21
file 명령어의 취약성 [1] DearMai 2003.03.25
서버의 아파치보안 테스트 해보세요 [12] 김령현 2003.03.26
특정 유저만 su root 허용 군고구마 2003.04.01
센드메일 에라타.. 선장 2003.04.01
md5 암호화 알고리즘을 488bit blf 알고리즘으로 바꾸기 [17] 김령현 2003.04.04
mysql DB 주기적 자동 백업 하기 [8] 김령현 2003.04.04
mysqldump를 이용해서 원하는 조건의 record만 뽑아내기 [2] 겨울늑대 2003.04.08
(더 성공률 높은)Apache에서 ASP돌리기(초간다안!!) [6] okw1003 2003.04.09
APM_Setup4에서 CGI 쉽게 설치하기 [3] RedEye 2003.04.14
MASQUERADE 클라이언트 컴퓨터 인터넷 되게..^^; [4] 김도진 2003.04.25
MASQUERADE 클라이언트 IP 자동으로 부여해주기 [1] 엔포게이트 2003.05.01
NSLOOKUP 으로 서브도메인과 메일서버 알아보기 [6] 환군+ 2003.05.02
DNS서버 만들기 [4] 제르디스™ 2003.05.04
apache 98 % 활용하기 ! (윈도우버젼) [13] 이성헌 2003.05.09
윈도2000 서버에서 DNS 서버 운영하기 file DearMai 2003.05.10
커널에러 복구 하기~~~ [5] 서인구 2003.05.11
IIS 5.0 WebDAV Buffer Overflow 취약점에 대한 공격빈도 증가 DearMai 2003.05.17
한컴 리눅스 2.2 apach php mysql phpmyadmin zeroboard 서버구축기 예전에 쓴글 약간 수정판 입니다. [6] 한돌 2003.05.19