我可以从 JavaScript 更改 CSS 滚动行为吗?

Cal*_*ner 3 javascript css scroll

当页面重新加载时,我试图让我的页面对齐到顶部。为此,我像这样使用 JavaScript:

window.onbeforeunload = function() {
   window.scrollTo(0,0);
}
Run Code Online (Sandbox Code Playgroud)

这对我很有用,直到我在 CSS 中打开平滑滚动:

scroll-behavior: smooth;
Run Code Online (Sandbox Code Playgroud)

现在它根本不起作用。

我希望能够做的是暂时关闭来自 JS 的 CSS 平滑滚动行为,如下所示:

window.onbeforeunload = function() {
   document.getElementsByTagName("HTML")[0].style.scrollBehavior = "auto";
   window.scrollTo(0,0);
}
Run Code Online (Sandbox Code Playgroud)

但是看起来style.scrollBehavior无效,我找不到任何内容。是否可以从 JavaScript 更改此设置?

如果没有,是否有一种方法可以在 JavaScript 中非常简单地打开和关闭平滑滚动?

如果可能的话,我只是想让事情保持直截了当。

jep*_*bio 5

您可以使用scrollIntoView与HTML元素传递smoothbehaviour,如:

element.scrollIntoView({ block: 'start',  behavior: 'smooth' });
Run Code Online (Sandbox Code Playgroud)

您可以在单击转到页面的某个部分时如何获取按钮中看到一个工作示例