Village For DreamChasers....

블로그 이미지
by 건빵쥔곰
  • 13662Total hit
  • 1Today hit
  • 19Yesterday hit

'2007/10/10'에 해당되는 글 1건

  1. 2007/10/10
    따라다니는 퀵메뉴 Javascript

<script language="javascript">
<!--
var stmnLEFT = 10; // 왼쪽 여백 (메뉴가 왼쪽에서 10픽셀 떨어진 곳에 보여집니다)
var stmnGAP1 = 0; // 위쪽 여백 (메뉴가 위에서 10픽셀 떨어진 곳에 보여집니다)
var stmnGAP2 = 0; // 스크롤시 브라우저 위쪽과 떨어지는 거리
var stmnBASE = 300; // 스크롤 시작위치
var stmnActivateSpeed = 200;
var stmnScrollSpeed = 10;

var stmnTimer;

function ReadCookie(name)
{
var label = name + "=";
var labelLen = label.length;
var cLen = document.cookie.length;
var i = 0;

while (i < cLen) {
                var j = i + labelLen;

                if (document.cookie.substring(i, j) == label) {
                                var cEnd = document.cookie.indexOf(";", j);
                                if (cEnd == -1) cEnd = document.cookie.length;

                                return unescape(document.cookie.substring(j, cEnd));
                }

                i++;
}

return "";
}

function SaveCookie(name, value, expire)
{
var eDate = new Date();
eDate.setDate(eDate.getDate() + expire);
document.cookie = name + "=" + value + "; expires=" +  eDate.toGMTString()+ "; path=/";
}

function RefreshStaticMenu()
{
var stmnStartPoint, stmnEndPoint, stmnRefreshTimer;

stmnStartPoint = parseInt(document.all.quickMenuN.style.top, 10);
stmnEndPoint = document.documentElement.scrollTop + stmnGAP2;

//alert("stmnStartPoint == " + stmnStartPoint);
//alert("stmnEndPoint == " + stmnEndPoint);
//alert("stmnGAP2 == " + stmnGAP2);

if (stmnEndPoint < stmnGAP1) {
 stmnEndPoint = stmnGAP1;
}

stmnRefreshTimer = stmnActivateSpeed;

if ( stmnStartPoint != stmnEndPoint ) {
                stmnScrollAmount = Math.ceil( Math.abs( stmnEndPoint - stmnStartPoint ) / 15 );
                document.all.quickMenuN.style.top = parseInt(document.all.quickMenuN.style.top, 10) + ( ( stmnEndPoint<stmnStartPoint ) ? -stmnScrollAmount : stmnScrollAmount );
                stmnRefreshTimer = stmnScrollSpeed;
}

stmnTimer = setTimeout ("RefreshStaticMenu();", stmnRefreshTimer);
}

function ToggleAnimate()
{
if (document.all.quickMenuN.value == "Y") {
                RefreshStaticMenu();
                SaveCookie("ANIMATE", "true", 300);
}
else {
                clearTimeout(stmnTimer);
                quickMenuN.style.top = stmnGAP1;
                SaveCookie("ANIMATE", "false", 300);
}
}

function InitializeStaticMenu()
{
document.all.quickMenuN.style.left = stmnLEFT;

         if (ReadCookie("ANIMATE") == "false") {
                document.all.quickMenuN.value = "N";
                document.all.quickMenuN.style.top = document.body.scrollTop + stmnGAP1;
}
else {
                document.all.quickMenuN.value = "Y";
                document.all.quickMenuN.style.top = document.body.scrollTop + stmnBASE;
                RefreshStaticMenu();
}
}
//-->
</script>

크리에이티브 커먼즈 라이선스
Creative Commons License
이올린에 북마크하기(0) 이올린에 추천하기(0)
TRACKBACK 0 AND COMMENT 0

ARTICLE CATEGORY

분류 전체보기 (35)
Stroy Village (6)
Daily Village (9)
Idea Village (20)

RECENT TRACKBACK

CALENDAR

«   2007/10   »
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      

ARCHIVE