일반적으로 웹페이지 내부의 일정한 장소로 이동하는 기능은 HTML의 name 속성을 사용합니다. 아래의 코드에서 a태그의 링크를 클릭하면 href 속성값에 해당하는 #C4가 있는 Chapter 4로 이동하죠. 이동하는 곳의 a 태그에는 name 속성이 사용됐습니다. href 속성은 클릭하는 곳에 name 속성은 이동하는 곳에 넣고 값을 일치시켜주면 됩니다. href의 값에서 #는 현재 페이지를 의미합니다.
<p>
<a href="#C4">Chapter 4 바로가기</a>
</p>
<p>
<h2>Chapter 1</h2>
<p>This chapter explains ba bla bla</p>
<h2>Chapter 2</h2>
<p>This chapter explains ba bla bla</p>
<h2>Chapter 3</h2>
<p>This chapter explains ba bla bla</p>
<h2><a name="C4">Chapter 4</a></h2>
<p>This chapter explains ba bla bla</p>
위와 같이 사용하면 순식간에 이동해서 재미가 없죠. 이동했는지 잘 구분도 안갑니다. 하지만 애니메이션 되면서 이동하면 보는사람도 재밋고 이동하는 모습도 보여서 사용자 경험(UX)이 좋아집니다. 이러한 기능을 하는 것이 제이쿼리 플러그인 중에 있습니다.
https://github.com/PaulAdamDavis/Arctic-Scroll
위 링크로 이동하면 아래와 같은 화면이 나옵니다.
ZIP 버튼을 눌러 파일을 내려받고 압축을 해제합니다.
폴더로 들어가면 5개의 파일이 있는데 필요한 것은 3개입니다. 실제 웹사이트에서 필요한 것은 아래 두개의 제이쿼리 파일이고 인덱스 파일은 예제입니다.
index.html 파일을 웹브라우저에 열고 상단의 메뉴를 클릭하면 일정한 곳으로 애니메이션 스크롤됩니다.
index.html 파일을 텍스트 에디터에 열고 중간쯤 내려오면 내비게이션 메뉴가 있습니다. 링크에 위에서 알아본 것처럼 href 속성에 #와 값이 있습니다. 이동되는 곳은 이전과 달리 id 속성이 사용되고 있습니다. 값은 링크의 값과 같습니다. 또한 a 태그 안에는 class="arctic_scroll"이라는 선택자가 들어있으니 이 플러그인을 사용할 때는 반드시 포함해야합니다.
두개의 제이쿼리 파일은 index.html 파일의 하단 </body>태그 이전에 링크돼있고 옵션이 사용됐습니다. speed:800은 애니메이션되는 속도를 조절하는 옵션으로 800은 밀리초입니다. 0.8초인 것이죠. src의 주소는 현재 index.html 파일과 같은 폴더 내에 있으니 파일 이름만 넣어주면 되지만 다른 폴더에 넣을 경우 폴더 이름을 추가해줘야합니다.
예를들어 두개의 제이쿼리 파일을 js 폴더를 만들어 이동시켰다면 경로는 다음과 같이 됩니다.
<script src="js/jquery.1.7.1.js"></script>
<script src="js/jquery.arctic_scroll.js"></script>
<script>
$(function(){
$(".arctic_scroll").arctic_scroll({
speed: 800
});
});
</script>