웹마스터 팁

┏━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━
┃0001┃홈페이지 TOP 버튼 + 응용
┗━━━━┻━━━━━━━━━━━━━━━━━━━━━━━━━

┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
┗ 서문:

TOP 버튼을 구현하는 방법은 상당히 여러 가지가 있습니다만, 그 중에서 가장 많이 쓰이는 방법은 <a href="#">TOP</a> 이라 생각합니다. 여러 가지 이유가 있겠지만, 역시 간단하는 것 때문이겠죠.

일반적인 TOP버튼이라면 <a> 태그를 이용하는 것이 효율적이겠지만, JavaScript를 이용해서 TOP 버튼 구현하게 되면, 여러 가지 효과를 줄 수 있기 때문에, 조금 더 멋진 사이트를 만들 수 있게 됩니다.

아래 소스는 scroll 함수를 이용해서 구현한 TOP 버튼, 그리고 그 응용작들입니다.


┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
┗ 예제: http://edene.com/nzeo/java/?no=0001&mode=example


┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
┗ 소스: http://edene.com/nzeo/java/?no=0001&mode=source

<script type="text/javascript">
<!--
        function to_top()
        {
                scroll (0, 0);
        }

        function to_bottom()
        {
               var maxy = document.body.scrollHeight;
               scroll (0, maxy);
        }

        function to_top_constant()
        {
               var x = document.body.scrollLeft;
               var y = document.body.scrollTop;
               var speed = 1;
  
               while ((x != 0) || (y != 0)) {
                       scroll (x, y);
                       x -= speed;
                       y -= speed;
                       if (x < 0) x = 0;
                       if (y < 0) y = 0;
               }
               scroll (0, 0);
        }
  
        function to_bottom_constant()
        {
               var x = document.body.scrollLeft;
               var y = document.body.scrollTop;
               var maxy = document.body.scrollHeight;
               var speed = 1;
  
               while ((x != 0) || (y != maxy)) {
                       scroll (x, y);
                       x -= speed;
                       y += speed;
                       if (x < 0) x = 0;
                       if (y > maxy) y = maxy;
               }
               scroll (0, maxy);
        }
  
        function to_top_smooth()
        {
                var x = document.body.scrollLeft;
                var y = document.body.scrollTop;
                var speed = 1;
  
                while ((x != 0) || (y != 0)) {
                        scroll (x, y);
                        speed += (speed * speed / 100);
                        x -= speed;
                        y -= speed;
                        if (x < 0) x = 0;
                        if (y < 0) y = 0;
                }
                scroll (0, 0);
        }
  
        function to_top_bounce()
        {
               var x = document.body.scrollLeft;
               var y = document.body.scrollTop;
               var speed = 1;
               var bounce = 300;

               while ((x != 0) || (y != 0)) {
                       scroll (x, y);
                       if (speed < 5) speed += (speed * speed / 100);
                       x -= speed;
                       y -= speed;
                       if ((y < 0) && (bounce > 50)){
                              while ((y != bounce)) {
                                      scroll (x, y);
                                      speed -= (speed * speed / 100);
                                      x -= speed;
                                      y += speed;
                                      if (x < 0) x = 0;
                                      if (y > bounce) y = bounce;
                              }
                              scroll (0, bounce);
                              bounce /= 1.5;
                       }
                       if (x < 0) x = 0;
                       if (y < 0) y = 0;
               }
               scroll (0, 0);
        }
//-->
</script>


┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
┗ 적용:

자바스크립트는 <a> 태크를 이용해서 연결해줄 수도 있지만, 이벤트를 이용해서 부르는 것이 더 효율적입니다.
예: <span onclick="to_top();">↑TOP</span>

위와 같이 클릭했을 때 함수를 부르게 되는 것이죠.
<span> 태그 외에도 <font>, <div>, <p>, <img> 등 거의 모든 태크에 적용이 가능합니다.
예: <img src="top.gif" onclick="to_top();"></img>

하지만 <a> 태그가 아니면 하이퍼링크로 처리되지 않기 때문에 마우스포인터가 손으로 변하지 않습니다.
따라서 스타일 속성을 조금 건들여주시면 됩니다.
예: <span onclick="to_top();" style="CURSOR: hand">↑TOP</span>

위와 같이 하시면 TOP위에 올렸을 때에, 마우스포인터가 손으로 변하게 됩니다.
물론 다른 태크에도 적용이 가능합니다.
예: <img src="top.gif" onclick="to_top();" style="cursor:pointer"></img>


┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
┗ 알림:

소스에는 총 6개의 함수가 있지만, 아마 실제로 쓰실 것은 1, 2개 정도일 것입니다. 쓰지 않는 함수의 경우는 삭제하고 사용하세요.

소스페이지에 가시면 자세하게 주석을 달아두었으니, 이해가 안되시는 분들은 참고하도록 하세요.
제목 글쓴이 날짜
판교오피 ⦑오피사이트.NET⦒ 판교마사지 판교오피 판교오피 판교OP koykoyah 2025.02.21
분당오피 ⦑출장마사지안내.COM⦒ 분당오피 분당출장마사지 분당오피 분당OP koykoyah 2025.02.21
인천오피 ⦑오피사이트.NET⦒ 인천마사지 인천오피 인천오피 인천OP koykoyah 2025.02.21
압구정오피 ⦑오피.CLUB⦒ 압구정OP 압구정오피 압구정출장샵 압구정오피 koykoyah 2025.02.21
동탄오피 동탄오피 ⦑출장안마사이트.COM⦒ 동탄OP 동탄스파 동탄오피 koykoyah 2025.02.21
목포오피 ⦑오피쓰.COM⦒ 목포오피 목포OP 목포건마 목포오피 koykoyah 2025.02.21
인천오피 인천OP ⦑출장마사지안내.COM⦒ 인천휴게텔 인천오피 인천오피 koykoyah 2025.02.21
여의도오피 여의도오피 ⦑오피사이트.NET⦒ 여의도OP 여의도스파 여의도오피 koykoyah 2025.02.21
부산오피 ⦑오피쓰주소.COM⦒ 부산OP 부산오피 부산출장샵 부산오피 koykoyah 2025.02.21
동탄오피 ⦑오피쓰주소.COM⦒ 동탄마사지 동탄오피 동탄오피 동탄OP koykoyah 2025.02.21
용인오피 용인오피 ⦑오피쓰주소.COM⦒ 용인OP 용인스파 용인오피 koykoyah 2025.02.21
서면오피 서면OP ⦑출장안마사이트.COM⦒ 서면휴게텔 서면오피 서면오피 koykoyah 2025.02.21
안산오피 ⦑오피사이트.NET⦒ 안산오피 안산OP 안산건마 안산오피 koykoyah 2025.02.21
남양주오피 ⦑오피.CLUB⦒ 남양주오피 남양주출장마사지 남양주오피 남양주OP koykoyah 2025.02.21
연신내오피 연신내출장안마 ⦑오피쓰주소.COM⦒ 연신내OP 연신내오피 연신내오피 koykoyah 2025.02.21
서초오피 ⦑오피사이트.NET⦒ 서초오피 서초출장마사지 서초오피 서초OP koykoyah 2025.02.21
남양주오피 남양주출장안마 ⦑출장안마사이트.COM⦒ 남양주OP 남양주오피 남양주오피 koykoyah 2025.02.21
포항오피 ⦑오피사이트.NET⦒ 포항오피 포항OP 포항건마 포항오피 koykoyah 2025.02.21
평택오피 ⦑오피사이트.NET⦒ 평택OP 평택오피 평택출장샵 평택오피 koykoyah 2025.02.21
구미오피 ⦑오피사이트.NET⦒ 구미OP 구미오피 구미출장샵 구미오피 koykoyah 2025.02.21