스크롤하면 따라오는 메뉴에 대한 질문입니다.
var stmnLEFT = 0; // 오른쪽 여백 (메뉴가 오른쪽에서 0픽셀 떨어진 곳에 보여집니다)
var stmnGAP1 = 250; // 위쪽 여백 (메뉴가 위에서 250픽셀 떨어진 곳에 보여집니다)
var stmnGAP2 = 0; // 스크롤시 브라우저 위쪽과 떨어지는 거리
var stmnBASE = 250; // 스크롤 시작위치
var stmnActivateSpeed = 10;
var stmnScrollSpeed = 10;
var stmnTimer;
function RefreshStaticMenu()
{
var stmnStartPoint, stmnEndPoint, stmnRefreshTimer;
stmnStartPoint = parseInt(STATICMENU.style.top, 10);
stmnEndPoint = document.body.scrollTop + stmnGAP2;
if (stmnEndPoint < stmnGAP1) stmnEndPoint = stmnGAP1;
stmnRefreshTimer = stmnActivateSpeed;
if ( stmnStartPoint != stmnEndPoint ) {
stmnScrollAmount = Math.ceil( Math.abs( stmnEndPoint - stmnStartPoint ) / 15 );
STATICMENU.style.top = parseInt(STATICMENU.style.top, 10) + ( ( stmnEndPoint<stmnStartPoint ) ? -stmnScrollAmount : stmnScrollAmount );
stmnRefreshTimer = stmnScrollSpeed;
}
stmnTimer = setTimeout ("RefreshStaticMenu();", stmnRefreshTimer);
}
function InitializeStaticMenu()
{
STATICMENU.style.top = document.body.scrollTop + stmnBASE;
RefreshStaticMenu();
STATICMENU.style.left = stmnLEFT;
}
<div id="STATICMENU" style="position:absolute; z-index:100; left:0px; top:250px; width: 180px; height: 500px;">
<table width="180" border="0" cellspacing="0" cellpadding="0">
<tr align="right">
<td>
<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0"
WIDTH="180" HEIGHT="820" hspace="0" vspace="0" ALIGN="">
<PARAM NAME=movie VALUE="/images/swf/left_menu_intro.swf">
<PARAM NAME=quality VALUE=high>
<PARAM NAME=wmode VALUE=transparent>
<PARAM NAME=bgcolor VALUE=#FFFFFF>
<EMBED src="/images/swf/left_menu_intro.swf" WIDTH="180" HEIGHT="820" hspace="0" vspace="0" ALIGN="" quality=high wmode=transparent bgcolor=#FFFFFF
TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer"></EMBED>
</OBJECT>
</td>
</tr>
</table>
</div>
<script language='javascript'>
<!--
InitializeStaticMenu();
//-->
</script>
위의 소스를 사용하고 있는데요, 문제점이 하나 있습니다.
스크롤시 따라오는 기능이 되긴데는데 레이어(메뉴)의 세로길이가 길어 스크롤이 페이지 끝에서 멈추지 않고 계속 내려간다는 것이죠. 즉 스크롤이 계속되어집니다. 메뉴 height 는 더이상 줄일수가 없어요..
이 문제점을 해결해주시면 정말 고맙겠습니다.
답변 부탁드려요.
보고싶은 마음이 들 수 있도록 BBCODE를 이용해서 code를 올려주세
보고싶은 마음이 들 수 있도록 BBCODE를 이용해서 code를 올려주세요. :)
---
http://coolengineer.com
댓글 달기