Skip to content

Latest commit

 

History

History
24 lines (20 loc) · 554 Bytes

scrollToTop.md

File metadata and controls

24 lines (20 loc) · 554 Bytes
title tags
scrollToTop
browser,intermediate

Smooth-scrolls to the top of the page.

  • Get distance from top using document.documentElement.scrollTop or document.body.scrollTop.
  • Scroll by a fraction of the distance from the top.
  • Use window.requestAnimationFrame() to animate the scrolling.
const scrollToTop = () => {
  const c = document.documentElement.scrollTop || document.body.scrollTop;
  if (c > 0) {
    window.requestAnimationFrame(scrollToTop);
    window.scrollTo(0, c - c / 8);
  }
};
scrollToTop();