본문 바로가기

Lecture & Tip/javascript[자바스크립트]

느뤼 홈피 스크롤 따라오는 메뉴 스크립트

다른 곳에서 사용하는 것을

다음과 같이 시작시간과 시간을 넘겨받아 사용하게 살짝 수정~

/* idname : 따라오게할 layer div tag id
* sec : onScroll event 이후 움직이기 시작할 시간 (단위 : 밀리세컨)
* pos : 화면 Top에서부터 떨어진 위치 (단위 : pixel)
*/
function followScroll(idname,sec,pos)
{
var moveObj = eval(idname);
var yFrom, yTo, yOffset, timeoutNextCheck;
yFrom = parseInt (moveObj.style.top, 10);
yTo = document.body.scrollTop+parseInt(pos);
timeoutNextCheck = sec;

if ( yFrom != yTo) {
yOffset = Math.ceil( Math.abs( yTo - (yFrom) ) / 20 );
if ( yTo < (yFrom) )
yOffset = -yOffset;

moveObj.style.top = parseInt (moveObj.style.top, 10) + yOffset;

timeoutNextCheck = 1;
}
setTimeout ("followScroll('"+idname+"',"+sec+",'"+pos+"')", timeoutNextCheck);
}

function init()
{
var y;

divNeck_nk.style.top = document.body.scrollTop-100;
divMenu.style.top = document.body.scrollTop+200

followScroll('divNeck_nk',1,'-100');
followScroll('divMenu',1000,'230');

return true;
}

<!--body태그 로드시 호출--->
<body onload="init();">
<div id="divNeck_nk" style="position:absolute;left:500px;top:0px;z-index:3;"></div>
<div id="divMenu" style="position:absolute;left:820px;top:0px;z-index:2;"></div>
</body>