웹마스터 팁

┏━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━
┃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개 정도일 것입니다. 쓰지 않는 함수의 경우는 삭제하고 사용하세요.

소스페이지에 가시면 자세하게 주석을 달아두었으니, 이해가 안되시는 분들은 참고하도록 하세요.
제목 글쓴이 날짜
클릭하면 홈페이지를 시작페이지로 하는 소스... [7] 젤군 2003.10.28
익스플로러에서 인쇄 누르면 페이지 이동.... [3] 조한웅 2003.11.28
들어갈때 시작페이지 설정하는거... [2] 쉿!비밀 2003.12.17
[초간단 자바스크립트!] 홈페이지접속 시간,날짜 표시기 [3] ∑Ztxy 2004.01.09
[초간단 자바스크립트!] 자바로 홈페이지를부드럽게!!(1) [4] ∑Ztxy 2004.01.27
페이지 내에 주소창 달기 [1] piasol 2004.02.09
우뚜같은 포워딩 페이지에서 프레임 깨기.(프레임 없애기) [17] 김영성 2004.02.19
회원 가입 페이지 이젠 끝이다 [5] 2004.03.03
브라우저 버젼별 다른 페이지 보여주기 [2] Kuldahar 2004.04.13
로딩 100% 후 페이지 이동시키기 [1] ▩윤미 2004.04.30
웹페이지에 테두리 두르기 [5] ▩윤미 2004.04.30
웹페이지에서 단축키 사용 (Firefox) [2] 전종화 2004.10.07
홈페이지 나갈때 새창띄우기 [2] piasol 2004.11.07
로딩중인 페이지에 효과넣기 [4] LUFFY 2004.11.20
홈페이지를 풀스크린으로 띄우자 - 올플래시로 보이는군요. [21] Multi_Taeji 2004.12.10
홈페이지 탑 TOP 버튼 만들어보기 [9] 편입성공기 2004.12.06
홈페이지 TOP 버튼 만들기 + 응용 [0001] [2] EDENe 2005.01.15
페이지 경로 히스토리 표시하기 [0003] EDENe 2005.01.19
간단하면서도 강력한 웹페이지에 암호걸기 [5] 대류 2005.02.03
홈페이지index경로 이외의 하위 경로 차단 하는 방법 [펌] [10] 프란시스 2005.02.05