2018-2020 순수 js :
요소로 스크롤하는 매우 편리한 방법이 있습니다.
el.scrollIntoView({
behavior: 'smooth', // smooth scroll
block: 'start' // the upper border of the element will be aligned at the top of the visible part of the window of the scrollable area.
})
그러나 내가 이해하는 한 그는 아래 옵션과 같은 훌륭한 지원을받지 못합니다.
방법에 대해 자세히 알아보십시오.
요소가 맨 위에 있어야하는 경우 :
const element = document.querySelector('#element')
const topPos = element.getBoundingClientRect().top + window.pageYOffset
window.scrollTo({
top: topPos, // scroll so that the element is at the top of the view
behavior: 'smooth' // smooth scroll
})
Codepen의 데모 예제
요소를 중앙에 배치하려면 다음을 수행하십시오.
const element = document.querySelector('#element')
const rect = element.getBoundingClientRect() // get rects(width, height, top, etc)
const viewHeight = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);
window.scroll({
top: rect.top + rect.height / 2 - viewHeight / 2,
behavior: 'smooth' // smooth scroll
});
Codepen의 데모 예제
지원하다:
그들은 그것 scroll
과 같은 방법을 scrollTo
쓰지만, 지원은 더 잘 나타난다 scrollTo
.
방법에 대한 추가 정보
<a href="#anchorName">link</a>