关于 scrollIntoView() 锚点 元素滚动到指定位置 平滑

 很简单好用的方法,直接上代码:

document.getElementById(50).scrollIntoView({
    behavior: 'smooth', //顺滑的滚动
    block: 'center', //容器上下的中间
    inline: 'start', //容器左右的左边
})

 上述代码的运行结果:

 scrollIntoView()方法将调用它的元素滚动到浏览器窗口的可见区域,但是前提是它的 容器可滚动

浏览器支持如下:

特征ChromeFirefoxSafariEdgeIEOpera
基本支持( alignToTop )yesyesyesyesyesyes
scrollIntoViewOptionsyesyes5.1[1]12[1]9[1]48[2]

 不支持的话,behavior 的 smooth 和 block、inline 的 center 好像会失效

 简单的使用方法( alignToTop ):

也是得到了良好支持的方法,各大浏览器基本都能用:

document.getElementById(50).scrollIntoView() //等同于true,容器的最上方,容器左右的最近点

document.getElementById(50).scrollIntoView(true) //等同于参数{block: "start", inline: "nearest"},容器的最上方,容器左右的最近点

document.getElementById(50).scrollIntoView(false) //等同于参数{block: "end", inline: "nearest"},容器的最下方,容器左右的最近点


参数用法见下 参数讲解

用到 scrollIntoViewOptions:

scrollIntoViewOptions可选
behavior 过渡动画"auto","instant"(直接过去)或"smooth"(顺滑的过去),默认为"auto"。
block 滚动至容器上下位置"start","center","end"或"nearest"(最近的位置),默认为"center"。
inline 滚动至容器左右位置"start","center","end"或"nearest"(最近的位置)。默认为"nearest"。

 nearest 就是用最小的距离把元素带到你的视野中,本来在上面就滚动到最上面,在下面就滚动到最下面,本来在视野中就不动,这样子。

  • 6
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值