About Guestbook  
A W
BLOG main image
I love 'Dark다크묵墨.'!
 Category
전체 (156)
Dark다크묵墨 (61)
Media 보고 즐기고~ (16)
영화이야기 (15)
음악을 즐기자~ (14)
텍스트큐브 (11)
플래시 (8)
Web(html,script) (4)
MS Windows (4)
Server (6)
Linux (17)
 Recent Entries
[曰] 소중함이란...
태양의 노래
[뮤비] 소녀시대 - 훗 [H...
우분투 패키지 관리 재정...
우분투(10.10) 설치 후 ...
 Tags [click]
썬테크 rewrite 광화문 php.ini 디비 친구 유머 텍스트큐브 무선랜 공덕동 윈도우즈 ssh 정리 익스플로러 드라이버 시크릿가든 암호 백폰 만남 no body flv OST 프리하드 mysql 명령어 평창 연예인 소양강
 Visitor Statistics
Total : 112118
Today : 20
Yesterday : 107
텍스트큐브
rss atom
'자바스크립트'에 해당하는 글(1)
2007/06/29   스크롤시 따라다니는 메뉴에 관한 스크립트


2007/06/29 18:54 2007/06/29 18:54
스크롤시 따라다니는 메뉴에 관한 스크립트
2007/06/29 18:54 | Web(html,script)

// 스크립트 소스

<script type="text/javascript">
 <!--
  var stmnLEFT = 790; // 왼쪽 여백 (메뉴가 왼쪽에서 400픽셀 떨어진 곳에 보여집니다)
  var stmnGAP1 = 200; // 위쪽 여백 (메뉴가 위에서 10픽셀 떨어진 곳에 보여집니다)
  var stmnGAP2 = 100; // 스크롤시 브라우저 위쪽과 떨어지는 거리
  var stmnBASE = 200; // 스크롤 시작위치
  var stmnActivateSpeed = 1;
  var stmnScrollSpeed = 1;

  var stmnTimer;

  function ReadCookie(name) {
   var cookies = document.cookie.split(";");
   for(var i=0; i<cookies.length; i++) {
    if(cookies[i].indexOf("=") == -1) {
     if(name == cookies[i])
      return "";
    }
    else {
     var crumb = cookies[i].split("=");
     if(name == crumb[0].trim())
      return unescape(crumb[1].trim());
    }
   }
  }
 
  function SaveCookie(name, value, days, domain) {
   var expires = "";
   var _domain = '';
   if(days) {
    var date = new Date();
    date.setTime(date.getTime() + (days * 86400000));
    expires = "; expires=" + date.toGMTString();
   }
   if(domain) {
    _domain = 'domain='+domain
   }
   document.cookie = name + "=" + value + expires + "; path=/;"+_domain;
  }
 
  function RefreshStaticMenu() {
   var stmnStartPoint, stmnEndPoint;
   
   stmnStartPoint = parseInt(document.getElementById('STATICMENU').style.top, 10);
   stmnEndPoint = Math.max(document.documentElement.scrollTop, document.body.scrollTop) + stmnGAP2;
   if (stmnEndPoint < stmnGAP1) stmnEndPoint = stmnGAP1;
   
   if (stmnStartPoint != stmnEndPoint) {
    stmnScrollAmount = Math.ceil( Math.abs( stmnEndPoint - stmnStartPoint ) / 15 );
    document.getElementById('STATICMENU').style.top = parseInt(document.getElementById('STATICMENU').style.top, 10) + ( ( stmnEndPoint<stmnStartPoint ) ? -stmnScrollAmount : stmnScrollAmount ) + 'px';
    stmnRefreshTimer = stmnScrollSpeed;
   }
   
   stmnTimer = setTimeout("RefreshStaticMenu();", stmnActivateSpeed);
  }

  function ToggleAnimate() {
   if (document.getElementById('fixed-scroll').checked) {
    clearTimeout(stmnTimer);
    document.getElementById('STATICMENU').style.top = stmnGAP1 + 'px';
    SaveCookie("fixed-scroll", "true", 300);
   } else {
    SaveCookie("fixed-scroll", "false", 300);
    RefreshStaticMenu();
   }
  }

  function InitializeStaticMenu() {
   document.getElementById('STATICMENU').style.left = stmnLEFT + 'px';
   
   if (ReadCookie("fixed-scroll") == "true") {
    document.getElementById('fixed-scroll').checked = true;
    document.getElementById('STATICMENU').style.top = document.body.scrollTop + stmnGAP1 + 'px';
   } else {
    document.getElementById('fixed-scroll').checked = false;
    document.getElementById('STATICMENU').style.top = document.body.scrollTop + stmnBASE + 'px';
    RefreshStaticMenu();
   }
  }
 //-->
</script>

위 스크립트를 하기와 같이 <body> 태크 안에서 사용한다.

<body onload="InitializeStaticMenu();">
<a name="top"></a>
<s_t3>
<div id="STATICMENU" class="sidebarCenter">
    <s_sidebar_element>
    <!-- 달력 모듈 -->
     <div class="calendar">
      [##_calendar_##]
     </div>
    </s_sidebar_element>
                              <div class="dot" style="margin:10px 0 15px 0"></div>
    <s_sidebar_element>
    <!-- 카테고리 모듈 -->
      <div class="category">
       [##_category_##]     </div>
    </s_sidebar_element>
   
     <div class="toggle" style="margin:10px 0 5px 0"><input id="fixed-scroll" type="checkbox" onclick="ToggleAnimate();" style="border:0; width:15px; height:15px;" /><label for="fixed-scroll"> 체크시 메뉴이동 끄기</label></div>
     <div style="float:right"><a href="#top"><img src="./images/top.gif" width="31" height="8" border="0"></a></div>
</div>

<div> 태그 아이디가 STATICMENU 이어야한다.

참고로 sidebarCenter 에 대한 CSS 는 다음과 같다.

.sidebarCenter { padding:10px 0 0 5px;  font-size:0.9em;  position:absolute; left:790px; top:0px; width:190px;}

Tag : , ,

name    password    homepage
 hidden


 Recent Comments
웹하드 갈아 탔습니다. ...
dark다크묵墨 - 2008
아래와 같이 수정하니까 ...
dark다크묵墨 - 2008
지금상태에서 이것만 Fil...
이상준 - 2008
utf-8문제는 이렇게 해결...
이상준 - 2008
위 블로그 운영자입니다....
이상준 - 2008
또 수정할만한 사항이 있...
dark다크묵墨 - 2008
 Recent Trackbacks
トムフォード 眼鏡
トムフォード 眼鏡
ブルガリ バッグ トート
ブルガリ バッグ トート
エルメス バッグ
エルメス バッグ
 Calendar
«   2026/04   »
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    
 Archive
2011/02
2011/01
2010/12
2010/05
2010/03
 Location [click]
 Link
frag's blog
쀍 의 블로그
웹 하드
한신대학교 마이컴 Lab.

Skin by BeautyFactory