1

当我向下滚动页面时,我有一个代码可以www.mypage.com#div1使我的 URL 变成这样。www.mypage.com#div2为了在向下滚动页面时突出显示我的菜单项,我编写了这段代码,它可以正常工作:

$(window).scroll(function() {
    $(".menu a").each(function() {
        if (this.href == window.location.href) {
            $(this).addClass("active");
        } else {
            //Something here?
        }
    });
});

但问题是我想再次删除“活动”类。我尝试将各种东西放在“其他”部分,但似乎没有任何效果。

任何帮助将不胜感激!

谢谢,蒂娜

4

3 回答 3

1

试试这个属性等于选择器/

  $(window).scroll(function () {
      $('.menu a.active').removeClass('active');
      $('.menu a[href="' + window.location.hash + '"]').addClass('active');
  });
于 2013-10-17T09:43:07.613 回答
0

这应该有效:
首先删除活动类,然后将其分配给适当的 div

 $(window).scroll(function() {
           $(".menu a").each(function() {
               $(".active").removeClass("active");  
               if (this.href == window.location.href) {

                   $(this).addClass("active");
               } 
           });
    });
于 2013-10-17T09:41:25.543 回答
0

我建议您将您的 if 条件更改为此,看看它是否解决:

if (this.href == window.location.hash) {
    $(this).addClass("active");
} else {
    $('.active').removeClass("active");
}
于 2013-10-17T09:54:06.060 回答