Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 滚动到特定div类时更改div颜色_Javascript_Html_Jquery_Scroll - Fatal编程技术网

Javascript 滚动到特定div类时更改div颜色

Javascript 滚动到特定div类时更改div颜色,javascript,html,jquery,scroll,Javascript,Html,Jquery,Scroll,当我滚动时添加背景色时,我遇到了一些问题。当前我的代码正在工作,但直到我滚动到div的末尾,它才显示出来。该div是背景覆盖 我想在滚动背景覆盖类时激活黑色类。另一个问题是当我滚动过div时,类没有删除。我的以下代码是否有遗漏 代码片段: $(函数(){ $(窗口)。滚动(函数(){ var scroll=$(窗口).scrollTop(); 如果(滚动>=$('.background overlay').offset().top){//检查偏移顶部 $(“.background overl

当我滚动时添加背景色时,我遇到了一些问题。当前我的代码正在工作,但直到我滚动到div的末尾,它才显示出来。该div是
背景覆盖

我想在滚动背景覆盖类时激活黑色类。另一个问题是当我滚动过div时,类没有删除。我的以下代码是否有遗漏

代码片段:

$(函数(){
$(窗口)。滚动(函数(){
var scroll=$(窗口).scrollTop();
如果(滚动>=$('.background overlay').offset().top){//检查偏移顶部
$(“.background overlay”).addClass(“黑色”);
}如果(滚动>=$('.background overlay').offset().top+$('.background overlay').height()){//检查滚动高度
$(“.background overlay”).removeClass(“黑色”);
}
});
});
。全高,.page{
高度:500px;
}
布莱克先生{
背景:#000000;
过渡:背景色1s轻松;
}

如果我理解你的问题,第一个条件检查应该是你的div的
偏移-高度
,第二个条件检查是条件错误(条件转换)

另外,将过渡添加到您的
.background overlay
而不是.black将在上下滚动时生效

$(函数(){
$(窗口)。滚动(函数(){
var scroll=$(窗口).scrollTop();
变量$divBlack=$('.background overlay');
如果(滚动>=$divBlack.offset().top-$divBlack.height()){//检查顶部偏移量
$divBlack.addClass(“黑色”);
}否则如果(滚动也要展开,您也可以对
背景覆盖部分使用
.scrollTop()

$(函数(){
$(窗口)。滚动(函数(){
var scroll=$(窗口).scrollTop();
如果(滚动>=$('.background overlay').scrollTop()){/=$('.background overlay').scrollTop()+$('.background overlay').height()){//检查滚动高度
$(“.background overlay”).removeClass(“黑色”);
}
});
});
。全高,.page{
高度:500px;
}
布莱克先生{
背景:#000000;
过渡:背景色1s轻松;
}