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]
show 환경 스크롤 뮤직비디오 디비 자신감 접속제한 서버 nautilus 고씨동굴 날씨 뮤비 인연 헤드폰 사랑 소나기재 가창력 바람 독후감 링크 어린이대공원 드리프트 안개 드라이버 작업공간 권한 능력 로그인 어린시절
 Visitor Statistics
Total : 108171
Today : 134
Yesterday : 167
텍스트큐브
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/02   »
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
 Archive
2011/02
2011/01
2010/12
2010/05
2010/03
 Location [click]
 Link
frag's blog
쀍 의 블로그
웹 하드
한신대학교 마이컴 Lab.

Skin by BeautyFactory