Javascript 基于scroll向各个div添加/删除类,每个div都有它';她有自己独特的职业

Javascript 基于scroll向各个div添加/删除类,每个div都有它';她有自己独特的职业,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我正在尝试使用此帖子: 但似乎无法让它与多个div一起工作,每个div都有自己的类,需要在距离顶部不同的位置添加/删除一个类。 在高层次上,我希望发生以下事情: 1个类在用户从顶部向下滚动500px时添加,1个类在向上滚动时删除 当用户从顶部向下滚动1000px时,添加1个类,如果向上滚动,则反向移动1个类 当用户从顶部向下滚动1500px时,添加1个类,删除1个类;如果向上滚动,则反向滚动您尝试过类似的方法吗?它的形式很长,而且很粗糙,但我已经有一段时间没有编写jQuery了,我只是复制了您

我正在尝试使用此帖子: 但似乎无法让它与多个div一起工作,每个div都有自己的类,需要在距离顶部不同的位置添加/删除一个类。 在高层次上,我希望发生以下事情:

1个类在用户从顶部向下滚动500px时添加,1个类在向上滚动时删除
当用户从顶部向下滚动1000px时,添加1个类,如果向上滚动,则反向移动1个类

当用户从顶部向下滚动1500px时,添加1个类,删除1个类;如果向上滚动,则反向滚动
您尝试过类似的方法吗?它的形式很长,而且很粗糙,但我已经有一段时间没有编写jQuery了,我只是复制了您链接的部分答案

编辑

我已经更新了你发布的小提琴。您可以将“大于”和“小于”组合成一行

$(窗口)。滚动(函数(){
var scroll=$(窗口).scrollTop();
如果(滚动>=200&&滚动<800){
美元(“.div-01”).addClass(“darkHeader”);
}否则{
$(.div-01”).removeClass(“暗黑头”);
}
如果(滚动>=1000&&滚动<1800){
美元(“.div-02”).addClass(“darkHeader”);
}否则{
$(.div-02”).removeClass(“暗黑头”);
}
如果(滚动>=2000&&滚动<2400){
美元(“.div-03”).addClass(“darkHeader”);
}否则{
$(.div-03”).removeClass(“暗头”);
}
});
.div-01、.div-02、.div-03{
背景:红色;
高度:1000px;
宽度:500px;
边缘底部:10px;
} 
darkHeader先生{
背景:黑色;
}


好的,我想我解决了我的问题。是的,上面的工作与调整。我将同一个类从一个div传递到另一个div,在垂直滚动范围内添加/删除它。长话短说,这是我得到的。我会用你发布的内容调整答案,这样你就可以接受了。谢谢对不起,我以前包含了错误的小提琴版本。我真的很想像你建议的那样在一行中获得像素滚动的范围,但显然它需要一些调整:@MarsH问题在于if语句的右侧没有滚动变量。我已经更新了代码片段。现在你可以走了。