관리 메뉴

드럼치는 프로그래머

[JavaScript] 브라우저를 기준으로 움직이는 퀵메뉴 본문

★─Programing/☆─WebProgram

[JavaScript] 브라우저를 기준으로 움직이는 퀵메뉴

드럼치는한동이 2017. 4. 4. 13:16

스크립트

<script type="text/javascript">
 var stmnLEFT = 50; // 오른쪽 여백
 var stmnGAP1 = 0; // 위쪽 여백
 var stmnGAP2 = 150; // 스크롤시 브라우저 위쪽과 떨어지는 거리
 var stmnBASE = 150; // 스크롤 시작위치
 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.right = stmnLEFT + 'px'; //처음에 오른쪽에 위치. left로 바꿔도.
  document.getElementById('STATICMENU').style.top = document.body.scrollTop + stmnBASE + 'px';
  RefreshStaticMenu();
 }
</script>

 

스타일

#STATICMENU { margin: 0pt; padding: 0pt; position: absolute; right: 0px; top: 0px;}

 

바디

<body onload="InitializeStaticMenu();">

 

HTML

<div id="STATICMENU">
 <img src="quick.gif">
</div>

 

quick.html


출처: http://joeyw.tistory.com/20 [마지막 춤은 나와 함께♪]

Comments