el.scrollIntoView()平滑滚动到顶部、中部、底部,滚动失效的解决办法

页面占位,让页面的高度撑满,生成滚动条
scrollIntoView Demo测试




scrollIntoView() 方法会滚动元素的父容器,使被调用 scrollIntoView() 的元素对用户可见。

滚动到顶部:
el.scrollIntoView({block: 'start'})

滚动到中间
el.scrollIntoView({block: 'center'})

滚动到底部
el.scrollIntoView({block: 'end'})

平滑滚动的开关 smooth scroll
el.scrollIntoView({block: 'end', behavior: 'smooth'})



scrollIntoView 常见问题

scrollIntoView()调用后,没有滚动目标的位置,对于的dom元素看不见,一般是因为多层 滚动容器导致(我自己遇到的情况是这样)。

解决办法:简单的使用别的东西代替,比如使用 scrollTop 代替 scrollIntoView 的API:, 示例document.body.scrollTop = 100



页面占位,让页面的高度撑满,生成滚动条