ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 스크롤바를 따라 다니는 배너 만들기
    Javascript/Ajax 2008. 8. 21. 16:03
    반응형

    다음의 소스를 <body>와 </body> 사이에 넣으시고,

    두번째 라인의 'left'와 'top'의 수치를 적당히 변경해 주세요. 


    <!-- 스크롤 배너 내용 시작-->
    <div id=divMenu style="position:absolute; left:915; top:95">
    //배너소스 넣을 위치

    </div>
    <!-- 스크롤 배너 내용 끝 -->

    <!-- 스크롤 배너 스크립트 시작 -->
    <script language="javascript">
    <!--
    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["divMenu"].top;
                  yMenuTo     = top.pageYOffset + 95; //넷스케이프용 최초 레이어 좌표 값
          }
          else if ( bExplorer4plus ) {
                  yMenuFrom   = parseInt (divMenu.style.top, 10);
                  yMenuTo     = document.body.scrollTop + 95; //익스플로러용 최초 레이어 좌표 값
          }

          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["divMenu"].top += yOffset;
                  else if ( bExplorer4plus )
                          divMenu.style.top = parseInt (divMenu.style.top, 10) + yOffset;

                  timeoutNextCheck = 10;
          }

          setTimeout ("CheckUIElements()", timeoutNextCheck);
    }

    function OnLoad()
    {
          var y;
          if ( top.frames.length )
          if ( bNetscape4plus ) {
                  document["divMenu"].top = top.pageYOffset + 135; //넷스케이프용 로딩시 시작 레이어 좌표 값
                  document["divMenu"].visibility = "visible";
          }
          else if ( bExplorer4plus ) {
                  divMenu.style.top = document.body.scrollTop + 135; //익스플로러용 로딩시 시작 레이어 좌표 값
                  divMenu.style.visibility = "visible";
          }
          CheckUIElements();
          return true;
    }
    OnLoad();
    //-->
    </script>
    <!-- 스크롤 배너 스크립트 끝 -->

    반응형
Designed by Tistory.