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]
눈꽃 명령어 어린이대공원 플레이어 nautilus gee CF광고 대광 포화속으로 장마 BMW 텔넷 감정 암호 물놀이 시작 Once Upon a Time gentoo 만원 평창 용인 telnet 블로거 no body freehard2 가을로 댓글 태양의노래 임진각
 Visitor Statistics
Total : 108197
Today : 160
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