Scroll page to top

OSCC · JavaScript, Browser · Oct 22, 2020

Smooth-scrolls to the top of the page.

  • Get distance from top using Document.documentElement or Document.body and Element.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(); // Smooth-scrolls to the top of the page

Recommended snippets

  • Handle scroll stop

    JavaScript, Browser

    Runs the callback whenever the user has stopped scrolling.

  • Scroll position

    JavaScript, Browser

    Returns the scroll position of the current page.

  • Detect device type

    JavaScript, Browser

    Detects whether the page is being viewed on a mobile device or a desktop.