JavaScriptscrollIntoView在业务开发中发现了一个比较陌生的方法:scrollIntoView。从字面上看,这个方法应该将dom元素滚动到视口,所以我检查了MDN。发现MDN文档并没有详细描述某些参数的具体表现形式,也没有相关的效果示意图。于是自己把scrollIntoView方法详细记录下来。描述Element方法scrollIntoView:滚动父容器,使元素出现在视口中。参数类型alignToTop=booleantypescrollIntoViewOptions={behavior:'auto'|“平滑”块:“开始”|'中心'|'结束'|“最近”内联:“开始”|'中心'|'结束'|'nearest'}interfaceElement{scrollIntoView(arg?:alignToTop|scrollIntoViewOptions):void}scrollIntoViewOptions,包含以下属性的对象。behavior定义过渡动画,默认值为auto。auto,表示没有流畅的滚动动画效果。smooth,表示流畅的滚动动画效果。block定义垂直方向的对齐方式,默认值为start。start表示顶部对齐。center,表示居中对齐。end,表示底部对齐。nearest:如果元素完全在视口内,则不会发生垂直滚动。如果元素没有完全在视口内,根据滚动距离最短的原则,垂直滚动父容器,使元素完全在视口内。inline定义了水平方向的对齐方式,默认值是nearest。start表示左对齐。center,表示居中对齐。end,表示右对齐。nearest:如果元素完全在视口内,则不会发生水平滚动。如果元素没有完全在视口内,根据滚动距离最短的原则,横向滚动父容器,使元素完全在视口内。alignToTop当参数为true时,相当于{behavior:'auto',block:'start',inline:'nearest'}当参数为false时,相当于{behavior:'auto',block:'end',inline:'nearest'}不传入参数时,默认值为:{behavior:'auto',block:'start',inline:'nearest'}示例document.querySelector('div').scrollIntoView({behavior:'smooth',block:'center',inline:'nearest'})自己试试
