轻松实现jquery选项卡切换效果

时间:2021-05-25

很早之想就学习jquery的插件写法,一直拖到现在,今天趁着没什么工作忙,搜索些资料学习下,写了个比较简单的选项卡效果。

刚开始有看到一个很通俗易通的例子:alert对话框

jquery.alertMsg.js

/** * [description] * @param {[type]} $ [description] * @return {[type]} [description] */(function($){ $.fn.alertMsg = function(options) { var defaults = { mouseEvent: 'clcik', msg: 'hello world' } var options = $.extend(defaults, options); var $this = $(this); $this.on(options.mouseEvent, function(e){ alert(options.msg); }) }})(jQuery)

调用方式:

<span id="test">test</span>$(function(){ $('#test').alertMsg({ mouseEvent : "click", msg : "第一次写插件!" });});

jQuery插件结构

(function($){ // tabs 自定义的插件名称 $.fn.tabs = function(options) { // 设置默认参数 var defaults = { activeClass: 'active' ... } // 对象扩展 var options = $.extend(defaults, options); return $(this).each(function(){ // 编写相应实现代码 }) }})(jQuery)

选项卡实现:

1、HTML结构

<div id="tab"> <ul> <li>选项1</li> <li>选项2</li> <li>选项3</li> <li>选项4</li> </ul> <div id="tabCon" class="tab-con"> <div>1的内容</div> <div>2的内容</div> <div>3的内容</div> <div>4的内容</div> </div></div>

2、jquery.tabs.js

(function($){ $.fn.tabs = function(options) { var defaults = { Event: 'click', activeClass: 'active' } var options = $.extend(defaults, options); return $(this).each(function(){ var $thisTab = $(this).find('ul'); var $tabCon = $thisTab.siblings('div'); $tabCon.find('div').each(function(){ $(this).hide(); }); $thisTab.find('li:first').addClass(options.activeClass); $tabCon.find('div:first').show(); $thisTab.find('li').each(function(index){ $(this).on(options.Event, function(){ $(this).siblings().removeClass(options.activeClass); $(this).addClass(options.activeClass); $tabCon.find('div').eq(index).show().siblings().hide(); }); }); }); } })(jQuery)

3、调用

$('#tab').tabs({ activeClass: 'active' });

小结:对jQuery插件的初识,感觉应该还要继续优化和扩展,继续学习!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

精彩专题分享:javascript选项卡操作方法汇总 jQuery选项卡操作方法汇总

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章