jquery tabs方法的插件封装

html样式

<style>
	.active{
		border-top:1px solid red
	}
	#tab-body div{
		display:none
	}
	.selected{
		display:block
	}
</style>

html页面结构


<div id='wrap'>
	<div id='tab-header'>
		<li class='active'>1</li>
		<li>2</li>
		<li>3</li>
		<li>4</li>
	</div>
	<div id='tab-body'>
		<div class='selected'>1</div>
		<div>2</div>
		<div>3</div>
		<div>4</div>
	</div>
</div>

html调用插件

<script src='tabs-plugin.js'></script>
<script>
	$(function(){
		$('#wrap').tabs({
			tabHeaders:'#tab-header>li',
			tabHeaderClass:'active',
			tabBodys:'#tab-body>div',
			tabBodysClass:'selected'
		});
	})
</script>

tabs-plugin.js

(function($){
/**
    * 给$的原型添加tabs方法
    * @param option.tabHeaders        需要注册测事件的tab头选择器
    * @param option.tabHeadersClass   触发事件的面页要添加的类
    * @param option.tabBodys          需要注册事件的页面选择器
    * @param option.tabBodysClass     需要注册事件的页面要添加的类
     */
//给$原型添加tabs方法
	$.fn.tabs = function(options){
		let $wrap = this;//获取最外层的大容器
		
		let on =  $wrap.find(options.tabHeaders).click(function(){
			$(this).addClass(option.tabHeadsClass).siblings().removeClass(option.tabHeadsClass);
            // 获取当前点击的页面的索引
            let idx = $(this).index();
            // 获取索引一致的页面,添加tabBodyClass类,其他兄弟移除此类
            $wrap.find(option.tabBodys).eq(idx).addClass(option.tabBodysClass).siblings().removeClass(option.tabBodysClass);
		})
	}
}(window.jQuery))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Zh_X_Z

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值