Files
30-seconds-of-code/snippets/js/s/scroll-to-top.md
2023-05-07 16:07:29 +03:00

29 lines
691 B
Markdown

---
title: Scroll page to top
type: snippet
language: javascript
tags: [browser]
cover: tranquil-lake
dateModified: 2020-10-22T20:24:30+03:00
---
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.
```js
const scrollToTop = () => {
const c = document.documentElement.scrollTop || document.body.scrollTop;
if (c > 0) {
window.requestAnimationFrame(scrollToTop);
window.scrollTo(0, c - c / 8);
}
};
```
```js
scrollToTop(); // Smooth-scrolls to the top of the page
```