如何让我的滚动像所附网站一样流畅?

问题描述 投票:0回答:1

目前,我已经尝试将

 html {scroll-behavior: smooth;}
添加到我的全局样式文件中,但它远没有达到此处提供的平滑滚动的程度:https://fireart.studio/blog/20-best-futuristic-website-启发你的例子/

它似乎有某种动力,因此不像常规滚动条那样不稳定。我还注意到,与我在常规滚动条上尽可能快地滚动相比,它的速度相当适中,这可能是它感觉如此流畅的第二个因素。

我浏览了一些其他答案,但无法找到如何像这样专门进行滚动。我很感激任何建议/见解。

javascript html css reactjs
1个回答
0
投票

嘿乔伊几年前我也有过类似的问题返回顶部按钮行为

对于滚动行为,是的,典型的平滑滚动不会改变其动量,它更加“线性”,您的目标是拥有更多惯性的滚动。如果您想仅使用普通 JavaScript 来构建它,您可以使用以下内容:

window.addEventListener('wheel', (event) => {
  let scrollAmount = event.deltaY;
  let scrollInterval = setInterval(() => {
    window.scrollBy(0, scrollAmount);
    scrollAmount *= 0.8; // Adjust the deceleration factor as needed
    if (Math.abs(scrollAmount) < 1) {
      clearInterval(scrollInterval);
    }
  }, 10);
});

另一种选择是使用 javascript 库,例如 Fluid Scroll

平滑滚动

© www.soinside.com 2019 - 2024. All rights reserved.