我知道这非常容易,但我一直在编写并重写这个功能一小时但没有成功:
点击后,我想将“有效”添加到点击链接的<li>
,并从导航栏中的所有其他<li>
中删除“有效”。
HTML:
<nav>
<ul>
<li><a href="http://0327ea8.netsolhost.com/#home" class="home">Home</a></li>
<li><a href="http://0327ea8.netsolhost.com/blog/" class="blog">Blog</a></li>
<li><a href="http://0327ea8.netsolhost.com/#catalog" class="catalog">Catalog</a></li>
<li><a href="http://0327ea8.netsolhost.com/#authors" class="authors">Authors</a></li>
<li><a href="http://0327ea8.netsolhost.com/#store" class="store">Store</a></li>
</ul>
</nav>
jQuery的:
// NAVBAR ADD ACTIVE
$("nav ul li a").click(function(){
$("nav ul li").removeClass('active');
$(this).stop().animate();
$(this).parent().addClass('active');
});
这样可以很好地添加类,但我无法删除它。
我也尝试将它分成单独的功能而没有运气。
我有.stop()。animate(),因为我在链接的悬停状态下有一个.animate()。
谢谢!
编辑:
这是悬停的jQuery以及我的原因.stop()。animate()
$("nav ul li a, aside ul li.categories a, div.posts div.foot a").hover(function(){
$(this).animate({'backgroundColor' : '#edf5e9'}, 200);
},function() {
$(this).animate({'backgroundColor' : '#ccd4c8'}, 600);
});
我不确定为什么.stop()。animate()是错误的。如果我没有.animate(),那么活动类就不会坚持,如果我这样做,活动类就会坚持。
我仍然无法将课程删除: - /
答案 0 :(得分:9)
试试这个:
$(this).parent().siblings().removeClass('active');
答案 1 :(得分:4)
尝试更简单的事情:
$('li.active').removeClass('active');