【问题标题】:Unable to disable smooth scrolling in react-scroll scrollToTop无法在 react-scroll scrollToTop 中禁用平滑滚动
【发布时间】:2020-06-11 20:18:06
【问题描述】:

我正在使用react-scroll 库来处理我的 React 应用程序上的滚动。每当单击特定按钮时,我都想滚动到顶部,但是我不希望它平滑滚动,这似乎是默认启用的。我已经尝试了以下代码,但是页面仍然可以顺利滚动,尽管持续时间成功更改为 2 秒。我尝试了smooth 属性的其他值,例如easeInQuart 等,效果很好。我也尝试将false 放在引号中,但无济于事。

<button onClick={() => animateScroll.scrollToTop({
      duration: 2000,
      smooth: false
    })}>
</button>

编辑:

正如 Bronson 在下面指出的那样,window.scrollTo 方法对行为感到满意。为了澄清,我想知道为什么上面的代码没有显示相同的行为,否则如果始终启用,那么接受 boolean 属性的 boolean 值有什么意义?

【问题讨论】:

    标签: javascript reactjs smooth-scrolling react-scroll


    【解决方案1】:

    如果我理解正确,您只是想立即将用户带回窗口顶部?如果是这样,您可能只想避免在此处使用react-scroll,而只需使用浏览器的window.scrollTo 方法:

    <button onClick={() => window.scrollTo(0,0)}>
    </button>
    

    【讨论】:

    • 感谢布朗森的回答。我知道window.scrollTo 方法(它对我的用例很有效),也许我的问题不太清楚。我想知道为什么它没有显示预期的行为。
    【解决方案2】:

    在 CSS 文件中将这段代码写在你想要的任何地方,

    html{
      scroll-behavior: auto !important;
    }
    

    【讨论】:

      猜你喜欢
      • 2017-10-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-26
      • 2015-06-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多