当部分到达页面顶部时动态添加类

Dynamically add class when sections hit top of page

本文关键字:动态 添加 顶部 当部      更新时间:2023-09-26

我正在开发一个网站,想为页面添加一些jQuery功能。基本上,该页面有一个带有菜单的侧边栏(显示此页面的所有部分)。我添加了当您单击菜单项时,主要部分向下滚动到正确部分的功能。

我已经设法在使用jQuery单击这些菜单项时在这些菜单项上添加一个活动类。看:

$('#category-list li a').click(function(){
    $('#category-list li a').removeClass("category-list-active");
    $(this).addClass("category-list-active");
});

但是我想为用户向下滚动页面添加相同的功能(AKA 当一个部分到达页面顶部时,相应的菜单项将获得活动状态类)。

由于该网站正在为客户开发中,因此我无法真正展示它,但是如果需要,我可以重新创建类似的东西。

提前感谢,

  • 安 迪

你可以试试这样的东西

var fl = $("#your-section").offset().top;
$(window).scroll(function() {
  if(this.scrollTop() > fl) {
    // do your stuff
   }
 })

您可能需要使用偏移量才能找到应该发生过渡的确切位置。