更改 Scroll JQuery 上活动菜单的颜色

Posted

技术标签:

【中文标题】更改 Scroll JQuery 上活动菜单的颜色【英文标题】:Change color of active menu on Scroll JQuery 【发布时间】:2022-01-18 12:35:23 【问题描述】:

我正在使用脚本来更改滚动导航链接的颜色,但我不知道如何为活动链接执行此操作,有人可以帮忙吗?

<script>
jQuery(document).ready(function()
jQuery(window).scroll(function() 
var scroll = jQuery(window).scrollTop();

if (scroll >= 100) 
jQuery(".current-menu-item").addClass("current-menu-item-sticky");

else
jQuery(".current-menu-item").removeClass("current-menu-item-sticky");

);
);
</script>

这个类代码负责颜色,如何在滚动时更新颜色?

.et_pb_menu_0_tb_header.et_pb_menu ul li.current-menu-item a 
    color: #fff!important;

【问题讨论】:

通过添加.et_pb_menu_0_tb_header.et_pb_menu ul li.current-menu-item-sticky a color: #f00 !important; 如何在 JQuery 中实现它? 您可以执行jQuery('.et_pb_menu_0_tb_header.et_pb_menu ul li.current-menu-item-sticky a').css('color', 'red !important');,但您可能必须删除其他规则的!important 才能使其正常工作。 谢谢,但我想要的是更改滚动类,通过使用另一个类,我可以应用另一个 css。 是的,我明白了,但是您的代码已经添加了类,因此您不需要额外的 jQuery 命令来更改链接颜色,只需像我的第一条评论。我不明白问题是什么。究竟是什么没有按预期工作? 【参考方案1】:

由于您没有提供标记,您仍然可以通过扩大 css 选择器来解决这个问题,滚动添加的 current-menu-item-sticky 类甚至不存在于您的 css 中。

所以开始使用这个 css

.current-menu-item-sticky 
   color:#fff!important;

如果这没有改变任何东西,原因对我来说很清楚,所有其他颜色的 css 不应该有 !important 或有正确的顺序,所以正确的 !important 将被应用。

您可以轻松使用浏览器的元素检查器并查看应用了哪些 css 以及覆盖了哪些 css

【讨论】:

以上是关于更改 Scroll JQuery 上活动菜单的颜色的主要内容,如果未能解决你的问题,请参考以下文章

CSS:如何更改活动导航页面菜单的颜色

如何进行活动菜单文本颜色更改导航下拉项子菜单? [复制]

jQuery更改悬停在颜色上,然后返回原始颜色

jQuery DataTables:如何更改分页活动颜色?

如何更改 ionic 4 中的侧边菜单背景颜色?

在jquery的ui-tabs中查找活动选项卡并更改颜色[重复]