Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.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
Jquery 如何根据WordPress中滚动到顶部的部分更改标题元素的颜色?_Jquery_Css_Wordpress - Fatal编程技术网

Jquery 如何根据WordPress中滚动到顶部的部分更改标题元素的颜色?

Jquery 如何根据WordPress中滚动到顶部的部分更改标题元素的颜色?,jquery,css,wordpress,Jquery,Css,Wordpress,我有一个极简透明的标题,左边只有汉堡,中间有标志。汉堡包图标和标志包括透明度,所以我的目的是让它们在下面的内容为亮时为黑色,在下面的内容为暗时为白色。(我正在使用一个适合css样式的SVG) 使用jQuery,我正在处理的逻辑是收集所有适当分类的节,并在scroll上向后循环,检查section.top值是否低于scrollTop()值。如果是这样,因为我们正在后退,这是当前标题下的部分,因此对标题应用/删除一个类来控制标题元素的颜色,然后停止浏览这些部分,因为我们不希望任何其他人再次更改颜色

我有一个极简透明的标题,左边只有汉堡,中间有标志。汉堡包图标和标志包括透明度,所以我的目的是让它们在下面的内容为亮时为黑色,在下面的内容为暗时为白色。(我正在使用一个适合css样式的SVG)

使用jQuery,我正在处理的逻辑是收集所有适当分类的节,并在scroll上向后循环,检查section.top值是否低于scrollTop()值。如果是这样,因为我们正在后退,这是当前标题下的部分,因此对标题应用/删除一个类来控制标题元素的颜色,然后停止浏览这些部分,因为我们不希望任何其他人再次更改颜色

我想出的密码是

jQuery(函数($){
var$sections=$('.content_section').get().reverse();
如果($sections.length>0){
$(窗口)。滚动(函数(){
var scrollPos=$(this.scrollTop();
$sections.each(函数(){
var sectionPos=$(this.offset();
如果(scrollPos>=sectionPos.top()){
if($(this).hasClass(“暗部”)){
$('header').addClass('dark_section_lower');
}否则{
$('header').removeClass('dark_section_lower');
}
返回false;
}
});
});
}
});
var$sections=$('.content_section').get().reverse()

这将返回JavaScript数组,因此您需要将其围绕jQuery函数
$()
进行包装,以便在其上使用jQuery
每个
方法,然后它将进行良好的迭代

$($sections).each(function(){

jQuery(函数($){
var$sections=$('.content_section').get().reverse();
如果($sections.length>0){
$(窗口)。滚动(函数(){
var scrollPos=$(this.scrollTop();
$($节)。每个(函数(){
var sectionPos=$(this.offset();
如果(scrollPos>=sectionPos.top()){
if($(this).hasClass(“暗部”)){
$('header').addClass('dark_section_lower');
}否则{
$('header').removeClass('dark_section_lower');
}
返回false;
}
});
});
}

})
另一种方法可能是在节上使用IntersectionObserver来检测它们何时到达页眉,因为这样可以节省一直听滚动的时间。我注意到我在操作中出错了…
sectionPos.top()
应该阅读
sectionPos.top
非常好。这正是问题所在,正如您所说的那样,它迭代得很好。非常感谢!!注意:对于其他阅读的人,我注意到我在原始代码中犯了一个错误,
sectionPos.top()
应该阅读
sectionPos.top
很高兴提供帮助。。!