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

posted @ 2022-10-12 10:48  webnote  阅读(667)  评论(0编辑  收藏  举报