【发布时间】:2020-04-22 11:47:43
【问题描述】:
我在我的解决方案中使用了 offsetTop,如下所示。
public getOffsetTop = element => {
let offsetTop = 0;
while (element) {
offsetTop += element.offsetTop;
element = element.offsetParent;
}
return offsetTop;
};
const field = document.getElementById("error");
const totalOffsetTop = this.getOffsetTop(field);
window.scrollTo({
top: totalOffsetTop,
behavior: "smooth"
});
这很顺利。每当出现错误时,我都可以自动滚动回错误字段。 然而,真正的问题来了。 offsetTop 是实验性的,不应在生产中使用。 https://caniuse.com/#feat=mdn-api_htmlelement_offsettop
我尝试使用 getBoundingClientRect().top 但它不会滚动回错误字段。谁能推荐一个更好的选择??
【问题讨论】:
标签: javascript html reactjs dom