我有以下内容,如果我点击带有锚#home
,#about
等的导航项,它会滚动到下一部分并将导航项类设置为{{1这很棒。
现在我在主页部分的内容中添加了一个“转到关于部分”按钮,其中包含active
个锚点。它会将我带到该部分,但将实际按钮设置为#about
类,而不是将导航项 active
设置为#about
。
我的评论如下所示 - 只是想知道如何解决这个问题。谢谢!
active
小提琴在这里:http://jsfiddle.net/8Zuzw/。如您所见,如果您单击“主页”部分中的链接,则不会将导航“约”更改为活动状态。它只是将链接设置为活动。如果你单击一个导航项,它会将其设置为活动状态,这很有效,现在只需要添加一个功能,所以如果你点击导航区外的链接并使用导航项的锚点哈希,导航项应该设置为活跃而不是链接类。
答案 0 :(得分:1)
通过替换
解决$(this).addClass('active');
带
$('a[href="' + hash + '"]').addClass('active');
答案 1 :(得分:0)
好的,我认为这就是你所追求的。我只是更改了这一行:
$(this).addClass('active');
到此:
$(this).parent().addClass('active');
$('ul li a').not($(this)).parent().removeClass('active');
如果您希望父列表和其a
都拥有类active
,那么您可以这样做:
$(this).addClass('active');
$(this).parent().addClass('active');
$('ul li a').not($(this)).parent().removeClass('active');
$('ul li a').not($(this)).removeClass('active');
这是一个example。那有点像你想要做的吗?