Bootstrap标签插件:mytab

bootstrap的标签插件简化版,8-11增加无须使用js,只要在html里面添加data-toggle=”tab”即可。
JQuery代码:

(function( $ ) { 
      $.fn.myTab = function() { 
            var $this = $(this),
            $ul = $this.closest('ul'),
            selector = $this.attr('data-target'),
            $parent = $this.parent('li'),
            $target;
            if (!selector) {
		        selector = $this.attr('href')
		        selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
		    }
		    if($this.parent('li').hasClass('active')) return;
		    $parent.addClass('active').siblings().removeClass('active');
		    $target = $(selector);
		    $target.show().siblings().hide();
       }; 
       $('[data-toggle="tab"]').click(function(e){
       	e.preventDefault();
       	$(this).myTab();
       });
})( jQuery );

HTML结构:

<div class="tab">
	<ul class="tab-menu" id="J-mytab">
		<li class="active"><a href="#tab1" data-toggle="tab">tab1</a></li>
		<li><a href="#tab2" data-toggle="tab">tab2</a></li>
	</ul>
	<div class="tab-con">
		<div class="tab-box active" id="tab1">con1</div>
		<div class="tab-box" id="tab2">con2</div>
	</div>
</div>

CSS代码参考:

.tab-menu li{display: inline-block;}
.tab-menu .active{color:red;}
.tab-con .tab-box{display: none;}
.tab-con .active{display: block;}

如果不在页面使用data-toggle=”tab”的方法,则可以使用以下js:

$('#J-mytab a').click(function(event) {
	event.preventDefault();
	$(this).myTab();
});

关注我

我的微信公众号:前端开发博客,在后台回复以下关键字可以获取资源。

  • 回复「小抄」,领取Vue、JavaScript 和 WebComponent 小抄 PDF
  • 回复「Vue脑图」获取 Vue 相关脑图
  • 回复「思维图」获取 JavaScript 相关思维图
  • 回复「简历」获取简历制作建议
  • 回复「简历模板」获取精选的简历模板
  • 回复「加群」进入500人前端精英群
  • 回复「电子书」下载我整理的大量前端资源,含面试、Vue实战项目、CSS和JavaScript电子书等。
  • 回复「知识点」下载高清JavaScript知识点图谱

每日分享有用的前端开发知识,加我微信:caibaojian89 交流