메뉴 건너뛰기

조회 수 7075 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

* 일반적으로는 a href="#아이디"등과 같이 사용자가 클릭을 해야하는 경우가 있는데, 이러한 경우가 아닌, 자바스크립트로 이동하는 방법을 알아보자. 이러한 경우는 페이지의 bookmark를 등록하거나 할 때 해당 위치로 이동하도록 할 때에 편리할 것이다.


: 먼저 html에 id를 준다.


<div id="bookmark"></div>


: 그리고 해당 element로 이동하고 싶을 때 아래와 같은 자바스크립트를 호출하면 된다.


location.href = "#";
location.href = "#bookmark";

: 이 방법은 아주 쉽게 <a href="#bookmark"> 의 링크/버튼을 누르지 않고 그와 같은 효과를 이끌어낼 수 있다. 하지만 url의 뒤에 #bookmark가 추가되는 불편함(?)이 있을지도 모른다. 사실, url이 그렇게 변하는 것은 미관상(?) 안 좋을수도 있지만, 백스페이스를 누르면 원래의 위치로 가는 것과 즐겨찾기를 하게 되면 해당 위치로 바로 이동이 되는 것이 어떻게 보면 페이지에 따라서는 오히려 UX를 증가시킬 수 있는 면도 있다는 것을 알아두자.


: 만약 이러한 UX적인 이점보다 주소의 미관상(?) 이득이 중요하다면 해당 element의 offset top을 구해서 해당 위치로 이동하는 방법을 사용하면 된다.


function getOffsetTop(el) {
  var top = 0;
  if (el.offsetParent) {
    do {
      top += el.offsetTop;
    } while (el = el.offsetParent);
    return [top];
  }
}
window.scroll(0, getOffsetTop(document.getElementById("bookmark")));


: 스크롤 애니메이션을 넣고 싶은 경우에도 이것을 조금 응용하면 될 것이다. jquery의 스크롤 애니메이션도 결국 이러한 소스가 밑바탕에서 돌아가고 있는 셈이기도 하다.


List of Articles
번호 제목 날짜 조회 수
147 주민번호 입력시 생일 자동입력 file 2014.03.01 5621
146 Textarea 글자수 체크 2014.03.01 5651
145 arguments object 2016.09.21 5652
144 javascript 에서 제공하는 3가지 종류의 팝업박스 2016.09.21 5657
143 선택된 select 의 option 값을 다른 select로 넘겨주기 2014.03.01 5668
142 우클릭 금지 2016.12.23 5701
141 JavaScript 날짜관련함수 2014.02.27 5702
140 checkbox 한개 클릭으로 다른모든 checkbox 클릭되게 하기 2014.03.01 5709
139 새창을 띠워서 focus주기 2014.03.01 5715
138 문자열 바꾸기 2015.02.03 5729
137 이전, 위로 이동 2016.12.23 5740
136 top 부분이 고정되는 슬라이딩 메뉴입니다 file 2014.03.01 5752
135 3자리마다 콤마찍기 2014.02.27 5755
134 자바스크립트 모음 2016.12.22 5778
133 select 당일 날짜 출력 file 2014.03.01 5780
132 (소스)jqury 롤오버 버튼 쉽게 만들기 file 2014.03.01 5785
131 스타일로 제목 자르기 2016.09.12 5833
130 iframe 높이 자동으로 잡아주기 2014.03.01 5855
129 간단하게 우클릭 막는방법 2016.09.11 5879
128 셀렉트(select) change href 이벤트 2016.12.23 5899
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 13 Next
/ 13

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved