scrollIntoView 锚点滚动,

1,176 阅读1分钟

Element 方法 scrollIntoView:滚动父级容器,使得元素出现在视口。

scrollIntoViewOptions,一个包含下列属性的对象。

  • behavior定义过渡动画,默认值为auto

    • auto,表示没有平滑的滚动动画效果。
    • smooth,表示有平滑的滚动动画效果。
  • block定义垂直方向的对齐,默认值为start

    • start,表示顶端对齐。
    • center,表示中间对齐。
    • end,表示底端对齐。
    • nearest
      • 如果元素完全在视口内,则垂直方向不发生滚动。
      • 如果元素未能完全在视口内,则根据最短滚动距离原则,垂直方向滚动父级容器,使元素完全在视口内。
  • inline定义水平方向的对齐,默认值为nearest

    • start,表示左端对齐。
    • center,表示中间对齐。
    • end,表示右端对齐。
    • nearest
      • 如果元素完全在视口内,则水平方向不发生滚动。
      • 如果元素未能完全在视口内,则根据最短滚动距离原则,水平方向滚动父级容器,使元素完全在视口内。
<div>
    <a @click="jump('#anchor1')">
        1
    </a>
</div>
jump(query) {
    //传入的参数query 为元素ID ,元素标识。
      this.$el.querySelector(query).scrollIntoView({
        behavior: 'smooth', // 平滑过渡
        block: 'start'  //与顶部平齐
      })
    },