【发布时间】:2019-07-24 22:06:23
【问题描述】:
我已经编写了下面的代码来滚动顶部到特定的 div,它工作正常。 但我想在特定字段上再滚动 10 像素。单击提交按钮时,它会滚动到错误块,但看不到完整的文件。我们如何滚动到目标类。
public scrollIntoError(formId: string): void {
setTimeout(() => {
const selector = "#" + formId + " .error-class";
const firstElementWithError = document.querySelector(selector);
this.scrollToError(firstElementWithError);
}, NumberConstants.HUNDRED);
}
public scrollToError(el: Element): void {
if (el) {
el.scrollIntoView({behavior: "smooth"});
}
}
以上代码运行良好,但我想在所选类上再滚动前 10 像素。
编辑
页面有滚动条,只有中间有表单的部分有滚动条。
【问题讨论】:
-
您是否查看过
alignToTop或scrollIntoViewOptions 可能正在设置类似block或inline的选项可能会为您提供最接近的结果 -
是的 @JoelJoseph el.scrollIntoView({behavior: "smooth", block: "center"});这对我有用,谢谢
标签: javascript angular