This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.
The scrollTo() method of the Element interface scrolls to a particular set of coordinates inside a given element.
scrollTo(xCoord, yCoord) scrollTo(options)
xCoordThe pixel along the horizontal axis of the element that you want displayed in the upper left.
yCoordThe pixel along the vertical axis of the element that you want displayed in the upper left.
optionsAn object containing the following properties:
topSpecifies the number of pixels along the Y axis to scroll the window or element.
leftSpecifies the number of pixels along the X axis to scroll the window or element.
behaviorDetermines whether scrolling is instant or animates smoothly. This option is a string which must take one of the following values:
smooth: scrolling should animate smoothlyinstant: scrolling should happen instantly in a single jumpauto: scroll behavior is determined by the computed value of scroll-behavior
None (undefined).
element.scrollTo(0, 1000);
Using options:
element.scrollTo({
top: 100,
left: 100,
behavior: "smooth",
});
| Specification |
|---|
| CSSOM View Module> # dom-element-scrollto> |
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
scrollTo |
61 | 79 | 36 | 48 | 10.1 | 61 | 36 | 45 | 10.3 | 8.0 | 61 | 10.3 |
options_behavior_parameter |
61 | 79 | 36 | 48 | 14 | 61 | 36 | 45 | 14 | 8.0 | 61 | 14 |
options_left_parameter |
61 | 79 | 36 | 48 | 10.1 | 61 | 36 | 45 | 10.3 | 8.0 | 61 | 10.3 |
options_top_parameter |
61 | 79 | 36 | 48 | 10.1 | 61 | 36 | 45 | 10.3 | 8.0 | 61 | 10.3 |
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollTo