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

直白来讲就是通过Element指定一个容器元素,不管页面滑动到哪个位置,如果调用了此方法,那么浏览器页面就会滚动,直到这个绑定的元素出现在你的视图之中。

语法

element.scrollIntoView(); // 等同于element.scrollIntoView(true)
element.scrollIntoView(alignToTop); // Boolean型参数
element.scrollIntoView(scrollIntoViewOptions); // Object型参数

参数

  • alignToTop可选

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

  • scrollIntoViewOptions 可选

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

behavior 可选定义动画过渡效果, 或 之一。默认为 。"auto"`"smooth""auto"block 可选定义垂直方向的对齐, , , , 或 之一。默认为 。"start""center""end""nearest""start"inline` 可选定义水平方向的对齐, , , , 或 之一。默认为 。`"start""center""end""nearest"`"nearest"

示例

var element = document.getElementById("box");

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

注意

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

浏览器兼容性

使用Element.scrollIntoView()让页面滚动到指定位置

如果觉得我的文章对你有用,请随意赞赏