Jquery 当元素到达滚动屏幕顶部时,使用class.waypoint获取元素id

Jquery 当元素到达滚动屏幕顶部时,使用class.waypoint获取元素id,jquery,scroll,Jquery,Scroll,我有一个导航栏,上面有一堆链接,可以将窗口滚动到页面上的各种锚点(或航路点)。我另外需要的是,当手动滚动窗口时,我想根据屏幕顶部的航路点切换导航栏中的链接类别(to.active)。我的航路点基本如下: 我目前正在为此使用jQuery 我希望这是有意义的 给你 $(窗口)。滚动(函数(){ var航路点=$(“.waypoint”).not(“.seen”).first(); var scrollTop=$(窗口).scrollTop(); //更改为活动的0-10像素 如果(scrollT

我有一个导航栏,上面有一堆链接,可以将窗口滚动到页面上的各种锚点(或航路点)。我另外需要的是,当手动滚动窗口时,我想根据屏幕顶部的航路点切换导航栏中的链接类别(to.active)。我的航路点基本如下:

我目前正在为此使用jQuery

我希望这是有意义的

给你

$(窗口)。滚动(函数(){
var航路点=$(“.waypoint”).not(“.seen”).first();
var scrollTop=$(窗口).scrollTop();
//更改为活动的0-10像素
如果(scrollTop>=航路点.offset().top&&scrollTop航路点.offset().top+10){
航路点addClass(“SEED”);
航路点。removeClass(“活动”);
}
});

您考虑过使用这个吗


太棒了,谢谢。但是我希望导航链接有一个活动类。对不起,也许我没有解释清楚。因此,如果哪个导航链接有一个与当前位于屏幕顶部或正在滚动的ID相同的锚点,那么可能会出现这种情况。该活动类将需要保留,直到另一个航路点被滚动。感谢您抽出时间。嗯,在顶部if中添加
$(.seen”).removeClass(“活动”)
,并删除
航路点.removeClass(“活动”)在第二行,如果这是完美的,谢谢。但也要感谢姆普隆詹的回答。谢谢@aelor。编辑。
$(window).scroll(function() {
    var waypoint = $(".waypoint").not(".seen").first();
    var scrollTop = $(window).scrollTop();

    // change to active 0-10 pixels 
    if (scrollTop >= waypoint.offset().top && scrollTop <= waypoint.offset().top+10) {
        waypoint.addClass("active");
    }
    if (scrollTop > waypoint.offset().top+10) {
        waypoint.addClass("seen");
        waypoint.removeClass("active");
    }
});