Javascript 让scrollTop运行多次

Javascript 让scrollTop运行多次,javascript,jquery,html,css,Javascript,Jquery,Html,Css,如何使平滑滚动不止一次地工作(使用JQuery:s scrollTop) var projectContainer=document.getElementsByClassName('projectContainer')[0]; var position=$(window.scrollTop(); $(窗口)。滚动(函数(){ var scroll=$(窗口).scrollTop(); 如果(滚动>位置){ $([document.documentElement,document.body])。

如何使平滑滚动不止一次地工作(使用JQuery:s scrollTop)

var projectContainer=document.getElementsByClassName('projectContainer')[0];
var position=$(window.scrollTop();
$(窗口)。滚动(函数(){
var scroll=$(窗口).scrollTop();
如果(滚动>位置){
$([document.documentElement,document.body])。动画({
scrollTop:$(“.projectContainer”).offset().top
}, 2000);
projectContainer.style.background=“橙色”;
$(窗口).bind(“鼠标滚轮”,函数(){
$(“html,body”).stop();
});
}否则{
projectContainer.style.background=“白色”;
}
位置=滚动;
});
.top{
高度:1000px;
}

纸卷

您好
现在还不清楚您想在这里做什么-但是在
之前添加一个
控制台.log
。设置动画
,您将看到它运行了多少(100)次。另外请注意,除了鼠标滚轮之外,还有很多方法可以启动滚动条-例如,但不限于,用鼠标左键抓住滚动条处理程序,单击远离处理程序的滚动条,按空格键,向下按光标键,再按page down键,您可以使用这个新的css效果:html{scroll behavior:smooth;}。这样你就不需要动画了。