JS 实现页面内锚点跳转

//平滑的跳转
let element = document.getElementById("id");
if (element) {
   element.scrollIntoView({ behavior: 'smooth' });
}

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

element.scrollIntoView(); // 等同于element.scrollIntoView(true)
element.scrollIntoView(alignToTop); // Boolean型参数 ture:false
element.scrollIntoView(scrollIntoViewOptions); // Object型参数
  1. alignToTop 可选
    Boolean值:
    如果为true,元素的顶端将和其所在区的可视区域的顶端对齐。相应的 scrollIntoViewOptions: {block: “start”, inline: “nearest”}。这是这个参数的默认值。
    如果为false,元素的底端将和其所在区的可视区域的底端对齐。相应的scrollIntoViewOptions: {block: “end”, inline: “nearest”}。

  2. scrollIntoViewOptions 可选
    一个包含下列属性的对象:
    behavior 可选
    定义动画过渡效果, "auto"或 “smooth” 之一。默认为 “auto”。
    block 可选
    定义垂直方向的对齐, “start”, “center”, “end”, 或 "nearest"之一。默认为 “start”。
    inline 可选
    定义水平方向的对齐, “start”, “center”, “end”, 或 "nearest"之一。默认为 “nearest”。