외부에 스크립트 파일을 만들어 삽입하는 방법이다.
익스플로러와 네츠케이프용 소스가 다 있는 것 인듯.
자바스크립트 파일을 만든다. 파일명: float.js
float.js에 다음 소스를 삽입한다.
------------------------------------------------------------------------------------
var bNetscape4plus = (navigator.appName == "Netscape" && navigator.appVersion.substring(0,1) >= "4");
var bExplorer4plus = (navigator.appName == "Microsoft Internet Explorer" && navigator.appVersion.substring(0,1) >= "4");
function CheckUIElements(){
var yMenuFrom, yMenuTo, yButtonFrom, yButtonTo, yOffset, timeoutNextCheck;
if ( bNetscape4plus ) {
yMenuFrom = document["quick"].top;
yMenuTo = top.pageYOffset + 125;
}
else if ( bExplorer4plus ) {
yMenuFrom = parseInt (quick.style.top, 10);
yMenuTo = document.body.scrollTop + 125;
}
timeoutNextCheck = 500;
if ( Math.abs (yButtonFrom - (yMenuTo + 152)) < 6 && yButtonTo < yButtonFrom ) {
setTimeout ("CheckUIElements()", timeoutNextCheck);
return;
}
if ( yButtonFrom != yButtonTo ) {
yOffset = Math.ceil( Math.abs( yButtonTo - yButtonFrom ) / 10 );
if ( yButtonTo < yButtonFrom )
yOffset = -yOffset;
if ( bNetscape4plus )
document["divLinkButton"].top += yOffset;
else if ( bExplorer4plus )
divLinkButton.style.top = parseInt (divLinkButton.style.top, 10) + yOffset;
timeoutNextCheck = 10;
}
if ( yMenuFrom != yMenuTo ) {
yOffset = Math.ceil( Math.abs( yMenuTo - yMenuFrom ) / 20 );
if ( yMenuTo < yMenuFrom )
yOffset = -yOffset;
if ( bNetscape4plus )
document["quick"].top += yOffset;
else if ( bExplorer4plus )
quick.style.top = parseInt (quick.style.top, 10) + yOffset;
timeoutNextCheck = 10;
}
setTimeout ("CheckUIElements()", timeoutNextCheck);
}
function OnLoad()
{
var y;
if ( top.frames.length )
if ( bNetscape4plus ) {
document["quick"].top = top.pageYOffset + 125;
document["quick"].visibility = "visible";
}
else if ( bExplorer4plus ) {
quick.style.top = document.body.scrollTop + 125;
quick.style.visibility = "visible";
}
CheckUIElements();
return true;
}
OnLoad();
------------------------------------------------------------------------------
스크롤이 될 퀵메뉴 부분은 아래와 같이 처리한다.
<div id="quick" style="포지션:absolute; left:904px; top:130px; width:94px">
스크롤시킬 내용
<script type="text/javascript" src="/common/float.js"></script>
</div>
스크립트는 반드시 스크롤될 내용 아래쪽에 넣는다. 안 그러면 오류난다.
색이 들어있는 숫자의 수치를 변경하면 퀵메뉴의 top위치가 변경된다.
125 : 페이지가 로드되었을 때 퀵메뉴의 top위치
125와 수치가 다르면 로드되면서 퀵메뉴가 스크롤되는 걸 볼 수 있다.
아마도 두 수치는 같은 걸로 하는게 맞는 것 같다.
포지션쓰면 에러난대서 한글로..;;