Element: scrollIntoViewIfNeeded() 方法
非标准:此特性未标准化。我们不建议在生产环境中使用非标准特性,因为它们浏览器支持有限,并且可能会更改或被移除。但是,在没有标准选项的特定情况下,它们可以是合适的替代方案。
Element.scrollIntoViewIfNeeded() 方法会在元素不在浏览器窗口可见区域内时,将其滚动至可见区域。如果元素已经在浏览器窗口可见区域内,则不执行滚动。此方法是标准 Element.scrollIntoView() 方法的一个专有变体。
语法
js
scrollIntoViewIfNeeded()
scrollIntoViewIfNeeded(centerIfNeeded)
参数
centerIfNeeded可选-
一个可选的布尔值,默认为
true。- 如果为
true,元素将居中对齐于可滚动祖先元素的可视区域。 - 如果为
false,元素将对齐于可滚动祖先元素可视区域的最近边缘。根据可视区域的哪个边缘最靠近元素,元素的顶部将对齐于可视区域的顶部边缘,或者元素的底部边缘将对齐于可视区域的底部边缘。
- 如果为
返回值
无(undefined)。
示例
js
const element = document.getElementById("my-el");
element.scrollIntoViewIfNeeded(); // Centers the element in the visible area
element.scrollIntoViewIfNeeded(false); // Aligns the element to the nearest edge in the visible area
规范
不属于任何规范。这是一个专有的、特定于 WebKit 的方法。
浏览器兼容性
加载中…
另见
- W3C CSSOM bug 17152: 支持滚动元素进入视图时使其居中。(针对
scrollIntoViewIfNeeded标准化等价物的特性请求)