Element.scrollIntoView()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2020.

Element 接口的 scrollIntoView() 方法会滚动元素的父容器,使被调用 scrollIntoView() 的元素对用户可见。

语法

js
scrollIntoView()
scrollIntoView(alignToTop)
scrollIntoView(scrollIntoViewOptions)

参数

alignToTop可选

一个布尔值:

  • 如果为 true,元素的顶端将和其所在滚动区的可视区域的顶端对齐。相应的 scrollIntoViewOptions: {block: "start", inline: "nearest"}。这是这个参数的默认值。
  • 如果为 false,元素的底端将和其所在滚动区的可视区域的底端对齐。相应的 scrollIntoViewOptions: {block: "end", inline: "nearest"}
scrollIntoViewOptions 可选 实验性

一个包含下列属性的对象:

behavior 可选

定义滚动是立即的还是平滑的动画。该选项是一个字符串,必须采用以下值之一:

  • smooth:滚动应该是平滑的动画。
  • instant:滚动应该通过一次跳跃立刻发生。
  • auto:滚动行为由 scroll-behavior 的计算值决定。
block 可选

定义垂直方向的对齐,startcenterendnearest 之一。默认为 start

inline 可选

定义水平方向的对齐,startcenterendnearest 之一。默认为 nearest

返回值

无 (undefined)。

示例

js
const element = document.getElementById("box");

element.scrollIntoView();
element.scrollIntoView(false);
element.scrollIntoView({ block: "end" });
element.scrollIntoView({ behavior: "smooth", block: "end", inline: "nearest" });

注意

取决于其他元素的布局情况,此元素可能不会完全滚动到顶端或底端。

规范

Specification
CSSOM View Module
# dom-element-scrollintoview

浏览器兼容性

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
scrollIntoView
options parameter

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
Partial support
Partial support
See implementation notes.
Has more compatibility info.

参见