繁体   English   中英

如何在滚动时平滑滚动到下一个目标元素

[英]How to make smooth scrolling to the next target element while scrolling

我试图达到类似的滚动到下一个目标元素的解决方案,如下所示: https : //alvarotrigo.com/fullPage/#page3

我的代码到目前为止:

let disableClick = false
window.addEventListener('scroll', () => {
  window.onscroll = slideMenu;
  if (window.scrollY > elementTarget.offsetTop) {
    const scrolledPx = (window.scrollY - elementTarget.offsetTop);

    if (scrolledPx > 100 && !disableClick) {          
      const link = document.getElementById('2');          
      link.click();
      disableClick = true
    }
  }
} 

问题是当我滚动到下一个元素并返回时,平滑滚动被禁用。 当我有这样或类似的情况时,如何启用点击事件?:

if (scrolledPx < 100 && !disableClick) {          
  const link = document.getElementById('2');          
  link.click();
  disableClick = true
}

使用 css 平滑滚动

 html {
      scroll-behavior: smooth;
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM