← Back toHTML DOM

Scroll to top of the page

Written byPhuoc Nguyen
Created
18 Feb, 2020
Category
Level 1 — Basic
In general, you can scroll to a point whose coordinates indicates the distance from it to the top and left side of document:
js
window.scrollTo(pageX, pageY);
So, the following code scrolls to top of the page:
js
window.scrollTo(0, 0);

Use cases

  1. You can add a button at the bottom of page that allows user to scroll to the top quickly.
  2. In a single page application, where page is built on top of components, and users usually don't realize the page changes when navigating to other page.
The browser keeps the current scroll position. We have to scroll to the top when users change page. The following sample code is used in the layout of a React application using the React Router:
js
import { useLocation } from 'react-router-dom';

export default ({ children }) => {
const { pathname } = useLocation();

React.useEffect(() => {
window.scrollTo(0, 0);
}, [pathname]);

return (
...
);
};

See also

If you found this post helpful, please consider giving the repository a star on GitHub or sharing the post on your favorite social networks 😍. Your support would mean a lot to me!

Questions? 🙋

Do you have any questions about front-end development? If so, feel free to create a new issue on GitHub using the button below. I'm happy to help with any topic you'd like to learn more about, even beyond what's covered in this post.
While I have a long list of upcoming topics, I'm always eager to prioritize your questions and ideas for future content. Let's learn and grow together! Sharing knowledge is the best way to elevate ourselves 🥷.
Ask me questions

Recent posts ⚡

Newsletter 🔔

If you're into front-end technologies and you want to see more of the content I'm creating, then you might want to consider subscribing to my newsletter.
By subscribing, you'll be the first to know about new articles, products, and exclusive promotions.
Don't worry, I won't spam you. And if you ever change your mind, you can unsubscribe at any time.
Phước Nguyễn