Javascript 滚动位置上的导航链接更改(单页站点)

Javascript 滚动位置上的导航链接更改(单页站点),javascript,jquery,Javascript,Jquery,我不熟悉jQuery和javascript。我正在尝试创建一个单页网站。导航装置固定在顶部。当在单个页面的新“部分”时,我希望导航显示该部分,并在导航中突出显示当前所在的部分 我设法用scroll()实现了这一点,但它只有在变量“top”大于0时才起作用。我知道这可能真的很愚蠢,我做错了,但我是新手,所以我希望这不会打扰你 当您执行类似a>b>c的操作时,它不会被读出为“a大于b,b大于c”。相反,会发生以下情况: a>b>c计算结果为 (true)>c(假设a确实大于b),其计算结果为 Nu

我不熟悉jQuery和javascript。我正在尝试创建一个单页网站。导航装置固定在顶部。当在单个页面的新“部分”时,我希望导航显示该部分,并在导航中突出显示当前所在的部分

我设法用scroll()实现了这一点,但它只有在变量“top”大于0时才起作用。我知道这可能真的很愚蠢,我做错了,但我是新手,所以我希望这不会打扰你


当您执行类似
a>b>c
的操作时,它不会被读出为“a大于b,b大于c”。相反,会发生以下情况:

  • a>b>c
    计算结果为
  • (true)>c
    (假设a确实大于b),其计算结果为
  • Number(true)>c
    ,因为存在类型转换,其计算结果为
  • 1>c
    这是非常随机的
  • 因此,
    3>2>0
    为真,但
    3>2>1
    为假。通常,在执行操作时,只需使用
    &&

    这是因为
    运算符是二进制的,即它接受两个参数

    你需要做的是
    (a>b)&&&(b>c)
    &&&
    的意思是“和”


    在您的情况下,这意味着将像
    200>top>0
    这样的语句更改为
    (top<200)和&(top>0)

    啊,我明白了,这很有效!非常感谢你!我会尽快接受你的答复。谢谢
    $(document).scroll( function() {
        var top = $(document).scrollTop();
    
        if ( 200 > top > 0 )
            $(".navLinkTop").css("border-bottom", "5px solid #fff568");
        else
            $(".navLinkTop").css("border-bottom", "none");
    
        if ( 400 > top > 200 )
            $(".navLinkAbout").css("border-bottom", "5px solid #fff568");
        else
            $(".navLinkAbout").css("border-bottom", "none");
    
        if ( 400 > top > 0 )
            $(".navLinkWork").css("border-bottom", "5px solid #fff568");
        else
            $(".navLinkWork").css("border-bottom", "none");
    
        if ( 400 > top > 0 )
            $(".navLinkContact").css("border-bottom", "5px solid #fff568");
        else
            $(".navLinkContact").css("border-bottom", "none");
    });