React 使用锚点
1、scrollIntoView
scrollIntoView 方法可以让当前的元素滚动到浏览器窗口的可视区域内。
它的使用方法如下:
var element = document.getElementById("box");
element.scrollIntoView();
这个 api 兼容 IE8 及以上的浏览器,所以可以放心使用。
scrollIntoView()的用法及参数:
element.scrollIntoView(); // 等同于 element.scrollIntoView(true)
element.scrollIntoView(alignToTop); // Boolean 型参数
element.scrollIntoView(scrollIntoViewOptions); // Object 型参数 element.scrollIntoView({behavior: “instant”, block: “end”, inline: “nearest”});
可选参数:
alignToTop:
一个Boolean值:
如果为true,元素的顶端将和其所在滚动区的可视区域的顶端对齐。相应的 scrollIntoViewOptions: {block: "start", inline: "nearest"}。这是这个参数的默认值。
如果为false,元素的底端将和其所在滚动区的可视区域的底端对齐。相应的scrollIntoViewOptions: {block: "end", inline: "nearest"}。
scrollIntoViewOptions 可选 实验性
一个包含下列属性的对象:
behavior 可选
定义缓动动画, “auto”, “instant”, 或 “smooth” 之一。默认为 “auto”。
block 可选
定义垂直方向的对齐,
“start”, “center”, “end”, 或 "nearest"之一。默认为 “start”。
inline 可选
定义水平方向的对齐,
“start”, “center”, “end”, 或 "nearest"之一。默认为 “nearest”。
scrollTop
scrollTo()的用法:
var element = document.getElementById("box");
const container = document.querySelector('#container');
cont.scrollTop = a.offsetTop + 60;
element.scrollTo({
top: 100,
left: 100,
behavior: ‘smooth’ // 定义缓动动画
});
参考:https://developer.mozilla.org/zh-CN/docs/Web/API/Element/scrollIntoView