[英]Active li on link click
我正在尝试在选项卡上应用选定的/活动的效果。 因此,选择一个选项卡后,应在其上应用活动类,默认情况下,第一个选项卡是活动类。 我已经尝试过使用jQuery函数,但似乎无法正常工作:
jsfiddle: http : //jsfiddle.net/8thrh/82/
$(function() { $('#nav').find('a').click(function(e) { e.preventDefault(); $(this.hash).show().siblings().hide(); }).filter(':first').click(); }); $('a').on('click',function(){ $('li').removeClass('active'); $(this).addClass('active'); });
#nav li { display: inline-block; padding: 10px 11px; background: #fff !important; margin-right: 6px; } #nav ul { } #nav li a { color: #000; text-decoration: none; text-transform: uppercase; } .active { background: #000000 !important; color: #fff; }
<ul id="nav"> <li><a href="#part-1">Leage of Legends</a></li> <li><a href="#part-2">CS:GO</a></li> <li><a href="#part-3">Dota2</a></li> <li><a href="#part-3">Hearthstone</a></li> </ul> <div id="content"> <div id="part-1"> Ma première partie </div> <div id="part-2"> Ma deuxième partie </div> <div id="part-3"> Ma troisième partie </div> </div>
不需要两个不同的单击绑定:
$(function() {
$('#nav').find('a').click(function(e) {
e.preventDefault();
$(this.hash).show().siblings().hide();
$('#nav').find('a').parent().removeClass('active')
$(this).parent().addClass('active')
}).filter(':first').click();
});
http://jsfiddle.net/9c2kxz09/1/
CSS也错了; 无法设置nav li
background !important
,它将覆盖active
类。
我清理了CSS: http : //jsfiddle.net/9c2kxz09/4/
$('a').click(function() {
$('a').removeClass('active');
$(this).addClass('active');
});
这就是jQuery click事件的基本轮廓。 根据需要进行修改,但确保要删除该类并将其添加到同一元素。 希望这可以帮助 :)
主要的问题是,在您的小提琴中,您包括了非常老的jQuery 1.6。 至少包括1.9.1。
$('a').on('click',function(){
$('li a').removeClass('active');
$(this).addClass('active');
}).first().click();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.