我写了下面的代码来滚动顶部到特定的 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 像素。编辑页面没有滚动条,只有中间有表格的部分有滚动条。
2 回答
慕的地6264312
TA贡献1817条经验 获得超6个赞
这将平滑滚动一次:
public scrollToError(el: Element): void {
if (el) {
el.scroll({
top: el.scrollTop - 10,
left: 0,
behavior: 'smooth'
});
}
}
呼啦一阵风
TA贡献1802条经验 获得超6个赞
您可以为此再执行一条语句:
public scrollToError(el: Element): void {
if (el) {
el.scrollIntoView({behavior: "smooth"});
el.scrollBy(0, 10);
}
}
添加回答
举报
0/150
提交
取消