오늘은 javascript로 간단하게 버튼을 누르면
scroll을 제어하는 코드를 작성해보았다.
엘리먼트 크기와 뷰포트에 상대적인 위치 정보를 제공하는 DOMRect를 제공하는 메서드
console을 찍어보면
=> DOMRect {x: 30, y:81, width:102, height:102, top:81, ...} 이렇게 보여질 것이다. 이를 통해 x,y좌표와 현재 크기를 확인할 수 있다
window.scrollBy(x축, y축, 행동옵션(smooth or auto)) 형식으로 작성한다.
예를 들어 window.scrollBy(0, 100);
=> x축은 움직이지않, y축만 100px씩 움직인다
옵션 behavior: smooth / auto가 있어서 아래와 같이 사용할 수 있다
=> window.by100({top:100, left:30, behavior:'smooth'});
window.scrollTo(x축, y축, 행동옵션(smooth or auto)) 형식으로 작성한다.
예를 들어 window.scrollTo(0, 100);
=> x축은 움직이지않고, y축만 100px씩 움직인다
window.addEventListener('click', e => {
pick.scrollIntoView(); //pick이 있는 곳으로 이동
})
[html 코드]
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div class="pick"></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<aside>
<input type="button" value="scroll by 100px(Y)" class="by100"/>
<input type="button" value="scroll to 100px(Y)"class="to100"/>
<input type="button" value="scroll into pick" class="topick"/>
</aside>