javascript - 使用 JS 更改特定类的链接 css 颜色

标签 javascript jquery html css

所以我有一个标题,我想在开始滚动时更改标题中链接的颜色。标题中的导航在列表中:

<nav class="top-nav">
    <ul class="top-nav">
        <li><a href="#home" class="scroll">Home</a></li>
        <li><a href="#services" class="scroll">Services</a></li>
        <li><a href="#port" class="scroll">Portfolio</a></li>
        <li><a href="#team" class="scroll">Team</a></li>
        <li><a href="#contact" class="scroll">Contact</a></li>
    </ul>
</nav>

要更改 header ,我使用以下代码:

$(window).scroll(function(){
    if ($(window).scrollTop() >= 100) {
        $('.header').addClass('fixed');
        $(".top-nav").css("color", "grey");
        $(".logo").css("color", "grey");
    } 
    else {
        $('.header').removeClass('fixed');
        $("top-nav").css("color", "white");
        $(".logo").css("color", "white");
    }
});

Logo 文本的颜色变化很好,固定标题也适用,所以代码可以工作,我只是不知道如何指定应该更改顶部导航中的链接。

最佳答案

你可以将你的 JS 重写为

$(window).scroll(function(){
    if ($(window).scrollTop() >= 100) {
        $('.header').addClass('fixed');
        $(".top-nav>ul>li>a").css("color", "grey");
        $(".logo").css("color", "grey");
    } 
    else {
        $('.header').removeClass('fixed');
        $(".top-nav>ul>li>a").css("color", "white");
        $(".logo").css("color", "white");
    }
});

.top-nav>ul>li>a 将在 top-nav 中正确选择您的链接。

docs 中阅读更多关于 jQuery 选择器的信息或 here

关于javascript - 使用 JS 更改特定类的链接 css 颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31706951/

相关文章:

javascript - 如何使用正则表达式模式数组来检查 url

c# - 从局部 View 获取模型数据

javascript - 从下拉列表中选择不同类型的值打开不同类型的输入法?

javascript - SVG3d : Controlling the rotation of a path with an easing function

javascript - 如何让这个 HTML canvas 动画出现在我的图像之上?

html - 使用 htaccess 处理 DDos?

javascript - 在 addclass/removeclass 事件上添加淡入或淡出

javascript - 滚动 bootstrap 3 模态

javascript - Eclipse 在复制/粘贴 JavaScript 文件时挂起

javascript - jQuery 复选框选择和更改类