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]
스피드웨이 레이싱 방향키 보안 젠투 소양강 노바디 우분투 가을로 대광 mysql 펼치기 한쌍 사내망 nautilus 컴퓨터 족발 무료 링크 구름 지하철 작업공간 css 분수 Cflags 고씨동굴 div 단오제
 Visitor Statistics
Total : 108189
Today : 152
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