向上滚动 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 像素。


编辑


页面没有滚动条,只有中间有表格的部分有滚动条。


叮当猫咪
浏览 289回答 2
2回答

慕的地6264312

这将平滑滚动一次:public scrollToError(el: Element): void {    if (el) {        el.scroll({            top: el.scrollTop - 10,             left: 0,            behavior: 'smooth'        });    }} 

呼啦一阵风

您可以为此再执行一条语句:public scrollToError(el: Element): void {  if (el) {    el.scrollIntoView({behavior: "smooth"});    el.scrollBy(0, 10);  }} 
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript