首页 > 解决方案 > 向上滚动 10 px 到特定的 div

问题描述

我已经编写了下面的代码来滚动顶部到特定的 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 px。

编辑

页面有任何滚动条,只有具有表单的中间部分有滚动。

标签: javascriptangular

解决方案


这将平滑滚动一次:

public scrollToError(el: Element): void {
    if (el) {
        el.scroll({
            top: el.scrollTop - 10, 
            left: 0,
            behavior: 'smooth'
        });
    }
} 

推荐阅读