有人知道scrollIntoView()
和scrollIntoViewIfNeeded()
之间有什么区别吗?
我没有看出它们之间的区别。如果元素不在可见区域内,它们都会滚动,并且如果已经可见,则不做任何事情。
有人知道scrollIntoView()
和scrollIntoViewIfNeeded()
之间有什么区别吗?
我没有看出它们之间的区别。如果元素不在可见区域内,它们都会滚动,并且如果已经可见,则不做任何事情。
使用scrollIntoView()方法时,如果指定了'block'参数为'start'(默认值)、'center'或'end',即使元素已经完全在屏幕上,scrollIntoView()方法也会将其滚动到指定位置。
如果使用参数'nearest',则它的行为更像是scrollIntoViewIfNeeded()方法,即如果元素已经在屏幕上,则不会发生任何事情。
您的描述是正确的。
Element.scrollIntoViewIfNeeded() 方法会将当前元素滚动到浏览器窗口的可见区域内,如果它尚未在可见区域内。如果该元素已在浏览器窗口的可见区域内,则不会发生滚动。该方法是标准 Element.scrollIntoView() 方法的专有变体。
注意:它也被认为是非标准的。
https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollIntoViewIfNeeded