我还不知道的一个方法 scrollintoview

案例场景

以下图所示,点击保存的时候,想把没有标注到页码的图片滚动到可视区域。 当我还在考虑计算标注图片距离父容器的高度,而后设置容器的scrollTop的时候,旁边的大神嗤之以鼻的说,你为何不用scrollintoview
浏览器

什么是scrollintoview?

Element.scrollIntoView(boolean) 方法让当前的元素滚动到浏览器窗口的可视区域内,boolean参数默认为true。app

  • 参数为true时,页面(或容器)发生滚动,使element的顶部与视图(容器)顶部对齐;dom

  • 参数为false时,使element的底部与视图(容器)底部对齐。3d

页面(容器)可滚动时才有用哦~code

坑的说明

当使用scrollintoview的时候,它不只会滚到它父节点的顶部,若是它的祖先节点也能够滚动,它会滚到最上面。以下图所示,我想它滚到(answer)就行,可是它滚到了上面的节点(answer-wrapper),遮住了我其余的子节点(answer-header)。blog

代码层
图片

效果(不是想要的)
element

通过个人排查,这个方法并不会给咱们的dom元素添加任何的样式什么的,而是改变了祖先元素的scrollTop值,若是你不想祖先的元素也滚动,那么能够以下,手动再设置下它的scrollTop值为0;容器

至此,功能就没问题了~scroll

我以为仍是挺香的,记录之~

相关文章
相关标签/搜索