Element.scrollIntoViewIfNeeded()

Non-standard
This feature is non-standard and is not on a standards track. Do not use it on production sites facing the Web: it will not work for every user. There may also be large incompatibilities between implementations and the behavior may change in the future.

The Element.scrollIntoViewIfNeeded() method scrolls the current element into the visible area of the browser window if it's not already within the visible area of the browser window. If the element is already within the visible area of the browser window, then no scrolling takes place. This method is a proprietary variation of the standard Element.scrollIntoView() method.

Syntax

TODO

Parameters

opt_center
Is an optional Boolean value with a default value of true:
  • If true, the element will be aligned so it is centered within the visible area of the scrollable ancestor.
  • If false, the element will be aligned to the nearest edge of the visible area of the scrollable ancestor. Depending on which edge of the visible area is closest to the element, either the top of the element will be aligned to the top edge of the visible area, or the bottom edge of the element will be aligned to the bottom edge of the visible area.

Example

var element = document.getElementById("my-el");

element.scrollIntoViewIfNeeded();
element.scrollIntoViewIfNeeded(true); // Centers the element in the visible area

Specifications

Not part of any specification. This is a proprietary, WebKit-specific method.

Browser compatibility

DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
scrollIntoViewIfNeeded
Non-standard
Chrome Full support 1Edge Full support 79Firefox No support NoIE No support NoOpera Full support 15Safari Full support 3WebView Android Full support 1Chrome Android Full support 18Firefox Android No support NoOpera Android Full support 14Safari iOS Full support 1Samsung Internet Android Full support 1.0

Legend

Full support
Full support
No support
No support
Non-standard. Expect poor cross-browser support.
Non-standard. Expect poor cross-browser support.

See also