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型参数
-
alignToTop 可选
Boolean值:
如果为true,元素的顶端将和其所在区的可视区域的顶端对齐。相应的 scrollIntoViewOptions: {block: “start”, inline: “nearest”}。这是这个参数的默认值。
如果为false,元素的底端将和其所在区的可视区域的底端对齐。相应的scrollIntoViewOptions: {block: “end”, inline: “nearest”}。 -
scrollIntoViewOptions 可选
一个包含下列属性的对象:
behavior 可选
定义动画过渡效果, "auto"或 “smooth” 之一。默认为 “auto”。
block 可选
定义垂直方向的对齐, “start”, “center”, “end”, 或 "nearest"之一。默认为 “start”。
inline 可选
定义水平方向的对齐, “start”, “center”, “end”, 或 "nearest"之一。默认为 “nearest”。