2013-02-01 36 views
0

我有一個導航欄,其中包含一些鏈接,可將窗口滾動到頁面上的各種錨點(或路標點)。我另外需要的是手動滾動窗口的時候,我想根據點到達屏幕頂部的方式切換導航欄中鏈接的類(到.active)。我的航點基本上如下:當滾動到屏幕頂部時,獲取class .waypoint元素的ID

<span class="waypoint" id="link1"></span>

我目前使用jQuery這一點。

我希望這是有道理的!

回答

0

在這裏你去

DEMO

$(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"); 
    } 
}); 
+0

太棒了,謝謝。但我想要的是導航鏈接有活躍的類。對不起,也許我沒有正確解釋。所以,如果導航鏈接中的某個錨點與當前位於屏幕頂部的ID或正在滾動的ID相同,也可以這樣做。該活動類將需要保持到另一個路點滾動。我感謝你的時間。 – SpinJon

+0

嗯,像添加'$(「。」)「。removeClass(」active「)'在頂部如果和刪除'waypoint.removeClass(」活動「);'在第二個如果 – mplungjan

相關問題