seevaa.net

  • 본문 바로가기
  • 블로그 내 검색
  • 글 분류 목록
  • 최근 글 목록
  • 기타 블로그메뉴
  • about
  • photolog
  • socialpage
  • taglog
  • guestbook
  • admin

스크롤 따라 움직이는 메뉴

from Tistory/Skin 2008/01/30 18:16 by seevaa Share on Twitter*

검색해보시면 쉽게 찾을 수 있는 팁입니다만, 그래도 물어보시는 분이 계셔서 올려봅니다.
아래내용은 TT스킨게시판 설레는 마음 스킨 3종 by qwer999을 참고했습니다.

활용예는 여느 사이트에서 많이 보셨겠지만 제 블로그 왼쪽에 빨간(top)막대처럼 스크롤에 따라 같이 움직이는 겁니다. 저는 페이지가 길어질 때 스크롤압박을 도와주기 위해 맨 윗부분으로 가는 링크를 사용하였는데 이것 뿐만 아니라 다른 메뉴(링크)도 추가하실 수 있습니다.

적용방법은 간단히, 상단에 해당 스크립트를 넣어준 다음, 실제 움직이는 메뉴(position:absolute;)를 만들어주시면 되는 겁니다.

1. 상단(head)에 들어갈 스크립트

<script type="text/javascript">
<!-- 
	var stmnLEFT =0; // 왼쪽 여백 (메뉴가 왼쪽에서 400픽셀 떨어진 곳에 보여집니다)
	var stmnGAP1 = 160; // 위쪽 여백 (메뉴가 위에서 10픽셀 떨어진 곳에 보여집니다) 
	var stmnGAP2 = 160; // 스크롤시 브라우저 위쪽과 떨어지는 거리 
	var stmnBASE = 160; // 스크롤 시작위치 
	var stmnActivateSpeed = 35; 
	var stmnScrollSpeed = 20; 
	var stmnTimer; 
	
	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 InitializeStaticMenu() {
		document.getElementById('STATICMENU').style.left = stmnLEFT + 'px'; 
		document.getElementById('STATICMENU').style.top = document.body.scrollTop + stmnBASE + 'px'; 
		RefreshStaticMenu();
		}
//--> 
</script>

위 스크립트를 <head> </head>사이에 넣어줍니다.
위에서 주석처러 된부분은 실제 메뉴부분이 들어갈 위치와 스크롤스피드이니 그에 맞게 각자 수정하셔야 됩니다.

2. <body> 에도 아래와 같이 추가합니다.

<body onload="InitializeStaticMenu();">

3. 실제 보이는 메뉴부분 만들기

각자 만들고 싶은 메뉴를 만드시면 됩니다. 단, 그부분 id 를 "STATICMENU"로 지정하시고, style을 position:absolute로 해주셔야 되는 겁니다.

예)
<div id="STATICMENU" style="padding:0; margin:0; position:absolute; z-index:1;">
	<a href="링크" >링크</a>
	<a href="링크" >링크</a>
	또는 이미지나 여러가지...
</div>
저의 적용 예)
<div id="STATICMENU">
	<a href="#container" onfocus='this.blur()' class="scrolltop"></a>
</div>
저는 스타일부분을 css로 넘겼습니다.
css 해당부분 예)
#STATICMENU { padding:0; margin:0; position:absolute; width:40px; z-index:1;}
#STATICMENU .scrolltop {display:block; width:40px; height:15px; background:url("./images/top.gif") top left no-repeat; }
#STATICMENU .scrolltop:hover {background:url("./images/top-on.gif") top left no-repeat; }

쉽게 설명드린건지 모르겠네요~ 안되는 부분은 댓글달아주세요~ ^-^;;
스르륵 열리는 부분(about, gallery)도 같이 올리려했는데, 넘 길어지는군요... 이것도 이어서 올려보겠습니다.

'Tistory > Skin' 카테고리의 다른 글

여러가지 동적인 표현을 할 수 있는 ScriptAculous-js  (37) 2008/01/30
스크롤 따라 움직이는 메뉴  (71) 2008/01/30
만들다 지친 블로그 스킨, Dirty Engineer  (14) 2008/01/12
블로그 스킨, Fading Line Gray  (132) 2007/11/03
Tag // scroll, TOP, 스크롤메뉴
트랙백은 하나, 댓글 71개가 달렸습니다.

Trackback Address http://seevaa.net/trackback/157

<< 1 ... 213 214 215 216 217 218 219 220 221 ... 321 >>

Categories

  • All (321)
    • Life Style (104)
    • Images (94)
      • Photo (94)
    • Web Standard (11)
      • HTML (0)
      • CSS (4)
      • JavaScript (7)
    • Application Programing (8)
      • java/jsp (8)
    • DataBase (5)
      • Oracle (3)
      • MySQL (0)
    • Programing Tool (2)
      • Eclipse (2)
    • Tistory (53)
      • Skin (25)
    • Fonts (12)
    • Bookmarks (31)

Recent Posts

  • HTML to Excel : mso-nu..
  • 20120513 - 다육이 (12)
  • 페이지 속 특정부분만.. (4)
  • 링크 요소(a element)의..
  • Image Thumbnail 만들기
  • 정규식 표현으로 필드값..
  • 파라미터 관련 유틸
  • JSTL <functions>
  • Spring - ServletReques..
  • Oracle & sqlplus 설정

Recent Comments

  • 설명이 체계적이네요. 저...
  • 수학방 06/03
  • 찾던중 가장 깔끔하고 좋...
  • 윔비 05/31
  • 찾던중 가장 깔끔하고 좋...
  • 윔비 05/31
  • World auto expo using ne...
  • auto for you 05/09
  • World auto expo using ne...
  • auto for you 05/06

Recent Trackbacks

  • CSS로 인쇄 페이지 만들기.
  • 수학방 06/03
  • 스킨변경..
  • Kkami's prime note 2012
  • [블로그] 웹폰트로 개성있...
  • 512 2011
  • [iPhone4] 목련.
  • FotoZone 2011
  • 티스토리를 시작하며...
  • Leave Traces 2011

Archive

  • 2013/01 (1)
  • 2012/02 (1)
  • 2011/12 (2)
  • 2011/10 (5)
  • 2011/09 (1)
  • 2011/06 (1)
  • 2011/05 (1)
  • 2011/04 (11)
  • 2011/03 (10)
  • 2011/02 (1)

Links

  • http://wing91.tistory.com
  • http://xylosper.net
  • http://hanrss.co.kr
  • http://poty.cafe24.com
  • http://standardmag.org
  • http://www.raysoda.com/ess
  • http://startuu.net
  • http://cyoonk.com
  • http://trio.co.kr/webrefer/c..
  • http://designsen.net
  • http://tipography.tistory.com
  • http://twitter.com/seevaa_
  • http://tum.seevaa.net
  • http://clip.seevaa.net
subscribe to RSS

T109 Y411 T463,021
subscribe to RSS, valid XHTML, CSS
Powered by Tistory, Designed by seevaa

  • 처음으로
  • 본문 바로가기
  • 블로그 내 검색
  • 글 분류 목록
  • 최근 글 목록
  • 기타 블로그메뉴
seevaa.net - 스크롤 따라 움직이는 메뉴
작성자 : 쎄바(seevaa)
연락처 : seevaa@seevaa.net