javascript - 向上滚动 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。
编辑
页面有任何滚动条,只有具有表单的中间部分有滚动。
解决方案
这将平滑滚动一次:
public scrollToError(el: Element): void {
if (el) {
el.scroll({
top: el.scrollTop - 10,
left: 0,
behavior: 'smooth'
});
}
}
推荐阅读
- datetime - Islamic Date (Hijiri)
- security - IBM Cloud Security and Compliance Dashboard - 扫描功能无法评估 linux 实例
- ios - Xcode 找不到 SpriteKit?
- javascript - 在 Django 上使用 Javascript 正确获取查询
- html - Mailchimp HTML 注册表单不起作用。jQuery 问题?
- linux - Docker Build 恰好需要 1 个参数 ubuntu
- javascript - 从 Chrome 扩展程序中的另一个文件解析 JSON 时出现“JSON 输入意外结束”
- javascript - 您好,是否可以从表单输入中获取用户输入的高度和宽度,并以厘米为单位调整图片的大小作为输出?
- git - git目录外的不同zsh终端提示
- javascript - 使用 google.script.run 未返回数组值