[javascript] a태그 선택시 특정위치로 부드럽게 가기
@욕심쟁이
·2019. 12. 11. 12:29
반응형
● href에 id를 지정하여 jquery의 animate함수와 offset()함수를 이용하여 그위치로 이동합니다.
● offset()함수는 범위를 지정할 때 자주 사용하는 함수입니다.(특정이름으로 지정, 아이디를 가진 요소의 위치값)
● this.hash를 사용하여 유효한 id값을 반환합니다.
● offset() 사용방법
// 상단을 기준으로 a엘리먼트 요소가 위치한 거리를 절대좌표로 반환
a.offset().top;
// 좌측을 기준으로 a엘리먼트 요소가 위치한 거리를 절대좌표로 반환
a.offset().left;
// 절대좌표를 기준으로 위에서 200px에 해당하는 좌표로 이동시킴
a.offset({top: 200});
// 절대좌표를 기준으로 좌측에서 200px에 해당하는 좌표로 이동시킴
a.offset({left: 200});
// 절대좌표를 기준으로 위에서 200px 그리고 좌측에서 200px에 해당하는 좌표로 이동시킴
a.offset({top: 200, left: 200});
● animate() 사용방법
$('이동할 요소').animate({이동방향: "이동값"}, 이동속도, 이동효과);
ex)
//절대좌표 top: 10px으로 이동 0.5초
a.animate({top: "10"}, 500);
//절대좌표 top: 10px으로 이동 빠르게또는 느리게
a.animate({top: "10"}, 'fast');
a.animate({top: "10"}, 'slow');
HTML
<nav>
<ul>
<li><a href="#sc1" target="_self" class="scroll">section1</a></li>
<li><a href="#sc2" target="_self" class="scroll">section2</a></li>
<li><a href="#sc3" target="_self" class="scroll">section3</a></li>
</ul>
</nav>
<section id="sc1"></section>
<section id="sc2"></section>
<section id="sc3"></section>
Jquery
$(".scroll").click(function(event){
//현재이벤트의 기본동작을 중단합니다,
event.preventDefault();
$('html,body').animate({scrollTop:$(this.hash).offset().top}, 300);
});
반응형
'IT > JavaScript' 카테고리의 다른 글
[Jquery] 기능 이벤트 reset코드 (0) | 2020.01.08 |
---|---|
::스크롤시 애니메이션효과 라이브러리::AOS. js (0) | 2020.01.06 |
[javascript] modal 창으로 팝업띄우기 (0) | 2019.12.11 |
[javascript]ie9에서 틀어지는거 잡아주는 js (0) | 2019.12.11 |
[javascript] ::jquery:: 제이쿼리(jquery) 이벤트 (0) | 2019.12.11 |