首页 > 解决方案 > 如何使用 vanilla JS 在滚动时平滑滚动到 div?

问题描述

我正在寻找一种在滚动时滚动到 div 的方法 - 仅在登陆 ID 上而不是在所有部分中寻找整页滚动。

我的代码片段中的 JS 已经在点击事件上工作,但不能让它在滚动上工作

document.getElementById('landing').addEventListener("scroll", function(event) {
  event.preventDefault();
  document.getElementById("main").scrollIntoView({ behavior: "smooth" });
});
#landing, #main {
  height:100vh;
}

#main {
  background: #EAEAEA;
}
<section id="landing"></section>

<section id="main"></section>

标签: javascript

解决方案


我认为你的问题是#landing 没有溢出,所以它没有滚动。

我试图向 div 添加更多内容并且它正在工作

看看这个:scroll() 事件在附加到 div 时不会触发


推荐阅读