Web/Javascript

상하 움직이는 베너

aucd29 2013. 9. 26. 21:23
var stmnGAP1 = 61;
var stmnGAP2 = 10;
var stmnBASE = 25;
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(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 ToggleAnimate()
{
        if (ANIMATE.checked) {
                RefreshStaticMenu();
                SaveCookie("ANIMATE", "true", 300);
        }
        else {
                clearTimeout(stmnTimer);
                STATICMENU.style.top = stmnGAP1;
                SaveCookie("ANIMATE", "false", 300);
        }
}


function InitializeStaticMenu()
{
        if (ReadCookie("ANIMATE") == "false") {
                ANIMATE.checked = false;
                STATICMENU.style.top = document.body.scrollTop + stmnGAP1;
        }
        else {
                ANIMATE.checked = true;
                STATICMENU.style.top = document.body.scrollTop + stmnBASE;
                RefreshStaticMenu();
        }
}


<script language='javascript' src='/include/scroll.js'></script>

<DIV id=STATICMENU style="POSITION: absolute; TOP: 200px">
<TABLE cellSpacing=1 cellPadding=0 border=0>
<TR>
    <TD style=padding-left:10;>
        <a href='/homepage.html'><img src=/img/homepage.gif border=0></a>                    </TD>
</TR>
<TR>
    <TD align=center><INPUT id=ANIMATE onclick=ToggleAnimate(); type=checkbox><font color='#ffffff'>이동메뉴 끄기</font></TD>
</TR>
</TABLE>
<SCRIPT language=javascript>InitializeStaticMenu();</SCRIPT>
</DIV>