给导航栏添加停留样式

时间:2022-07-17 23:20:09

浅谈下给类似导航栏的东东,添加停留样式的三种方法:

实例:

HTML代码:

 <div class="side_layout">
      <!--Sidebar content-->
      <div class="list-group">
      	<a href="#" class="list-group-item active">项目1 <span class="glyphicon_right_img glyphicon glyphicon-chevron-right"></span></a>
        <a href="#" class="list-group-item">项目2 <span class="glyphicon_right_img glyphicon glyphicon-chevron-right"></span></a>
        <a href="#" class="list-group-item">项目3 <span class="glyphicon_right_img glyphicon glyphicon-chevron-right"></span></a>
        <a href="#" class="list-group-item">项目4 <span class="glyphicon_right_img glyphicon glyphicon-chevron-right"></span></a>
        <a href="#" class="list-group-item">项目5 <span class="glyphicon_right_img glyphicon glyphicon-chevron-right"></span></a>
        <a href="#" class="list-group-item">项目6 <span class="glyphicon_right_img glyphicon glyphicon-chevron-right"></span></a>
      </div>
    </div>
js代码:

方法一:

$(function(){
	$(".side_layout a").click(function(){
	$(this).addClass('active');
			$(this).siblings().removeClass('active');
	});	   
});
方法二:
$(document).on("click", ".side_layout a", function(){
	$(this).addClass('active')
			.siblings().removeClass('active');
});
方法三:
$(function(){
$(".side_layout a").bind('click',function(){
	$(this).addClass('active');
			$(this).siblings().removeClass('active');
	});	 
		   });
个人认为方法二最方便。

方法一和三都需要包含在$(function()内部

方法二、三都是给元素绑定一个单击事件,区别在于$(document).on的方法是把绑定委托到了文档上,二bind方法是委托到了.side_layout a上,据查阅资料,前者效率更好~~~