메뉴 건너뛰기

조회 수 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
번호 제목 날짜 조회 수
207 Alert, Confirm을 모달 팝업으로 만들기 file 2021.03.09 3885
206 랜덤 배너 노출 스크립트 2019.04.29 11031
205 풍선도움말 2019.01.16 1167
204 span - 동적으로 글자 바꾸기, 보이기 안보이기 2019.01.16 1446
203 텍스트박스 입력제한(숫자,영문,한글,특수기호) 2019.01.16 1991
202 금액에 점찍고 한글 표시하기 2019.01.16 1271
201 유효한 링크인지 확인하는 JAVASCRIPT 2019.01.16 111890
200 특정 부분 인쇄 자바스크립트 2019.01.16 1581
199 엑셀처럼 td 사이즈 조절하기 2019.01.16 3385
198 체크박스 전체 선택 및 해제, 반드시 1개 이상 선택 강제 2019.01.16 1307
197 한글 또는 영문만이 존재하는지 체크 2019.01.16 1163
196 기간 설정용 달력 팁앤노하우 2019.01.16 1137
195 한글 짜르기 2019.01.16 1179
194 두 날짜 사이 토일요일 개수 구하기 2019.01.16 1241
193 div태그를 이용한 클릭시 레이어 띄우기 2019.01.16 1328
192 배열과 Array객체 2019.01.16 1051
191 에러처리 2019.01.16 1066
190 랜덤(Random) / 난수 만들기 2019.01.16 1179
189 input 태그에서 name과 id의 차이 2019.01.16 1089
188 Javascript 로 초성검색하기 2019.01.10 2373
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 13 Next
/ 13

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

© k2s0o1d4e0s2i1g5n. All Rights Reserved