小编Cal*_*ner的帖子

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

当页面重新加载时,我试图让我的页面对齐到顶部。为此,我像这样使用 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 中非常简单地打开和关闭平滑滚动?

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

javascript css scroll

3
推荐指数
1
解决办法
419
查看次数

如何替换子元素的类?

我有一段代码,虽然它在其他地方工作得很好,但当我尝试将其应用于子元素时却不起作用。当触发 for 父标签时,我试图简单地替换classListfor元素中的类。这是我的代码:iaddEventListener("mouseover"


    document.getElementById("parentTag").addEventListener("mouseover", function() {
        var elem = document.getElementById("parentTag").getElementsByTagName("i")[0];
        
        elem.classList.replace = ("fal", "fas");
    });

Run Code Online (Sandbox Code Playgroud)

这应该是非常简单的,但由于某种我无法确定的原因,它在这里不起作用。我可以用这个元素做其他事情(例如更改style属性等),但涉及classList( replace, add, remove) 的任何事情都完全失败。不过,我可以调用classList控制台,console.log(elem.classList.value);但无法更改它。

有谁知道如何解决这个问题或者我可能做错了什么?

注意:很抱歉,如果问题有点不清楚,我不知道如何更好地直接描述它。如果您需要澄清,请告诉我。

html javascript class

0
推荐指数
1
解决办法
354
查看次数

标签 统计

javascript ×2

class ×1

css ×1

html ×1

scroll ×1