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


Posted in Javascript onOctober 10, 2016

很早之想就学习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选项卡操作方法汇总

Javascript 相关文章推荐
JavaScript 基础知识 被自己遗忘的
Oct 15 Javascript
JavaScript 保存数组到Cookie的代码
Apr 14 Javascript
ASP 过滤数组重复数据函数(加强版)
May 31 Javascript
腾讯UED 漂亮的提示信息效果代码
Sep 12 Javascript
jquery实现向下滑出的二级导航下滑菜单效果
Aug 25 Javascript
js跨域请求数据的3种常用的方法
Dec 01 Javascript
JavaScript+html5 canvas制作的圆中圆效果实例
Jan 27 Javascript
微信小程序 wx.uploadFile在安卓手机上面the same task is working问题解决
Dec 14 Javascript
JavaScript正则表达式的贪婪匹配和非贪婪匹配
Sep 05 Javascript
详解vue axios二次封装
Jul 22 Javascript
angular 数据绑定之[]和{{}}的区别
Sep 25 Javascript
解决angularjs service中依赖注入$scope报错的问题
Oct 02 Javascript
为jQuery-easyui的tab组件添加右键菜单功能的简单实例
Oct 10 #Javascript
Javascript生成带参数的二维码示例
Oct 10 #Javascript
详细讲解JavaScript中的this绑定
Oct 10 #Javascript
jQuery EasyUI 右键菜单--关闭标签/选项卡的简单实例
Oct 10 #Javascript
jQuery EasyUI右键菜单实现关闭标签/选项卡
Oct 10 #Javascript
JavaScript 判断一个对象{}是否为空对象的简单方法
Oct 09 #Javascript
细数JavaScript 一个等号,两个等号,三个等号的区别
Oct 09 #Javascript
You might like
PHP中文汉字验证码
2007/04/08 PHP
有关 PHP 和 MySQL 时区的一点总结
2008/03/26 PHP
基于PHP的cURL快速入门教程 (小偷采集程序)
2011/06/02 PHP
php Ubb代码编辑器函数代码
2012/07/05 PHP
php生成随机颜色方法汇总
2014/12/03 PHP
基于JQuery+PHP编写砸金蛋中奖程序
2015/09/08 PHP
php实现支付宝当面付(扫码支付)功能
2018/05/30 PHP
laravel框架模型中非静态方法也能静态调用的原理分析
2019/11/23 PHP
php设计模式之正面模式实例分析【星际争霸游戏案例】
2020/03/24 PHP
在IE模态窗口中自由查看HTML源码的方法
2007/03/08 Javascript
jquery实现多条件筛选特效代码分享
2015/08/28 Javascript
jQuery实现带水平滑杆的焦点图动画插件
2016/03/08 Javascript
jQuery实现简单的tab标签页效果
2016/09/12 Javascript
vuejs通过filterBy、orderBy实现搜索筛选、降序排序数据
2020/10/26 Javascript
vue webpack实用技巧总结
2018/04/24 Javascript
Vue filter格式化时间戳时间成标准日期格式的方法
2018/09/16 Javascript
express异步函数异常捕获示例详解
2020/11/30 Javascript
python字符串连接方式汇总
2014/08/21 Python
python OpenCV学习笔记直方图反向投影的实现
2018/02/07 Python
python 在右键菜单中加入复制目标文件的有效存放路径(单斜杠或者双反斜杠)
2020/04/08 Python
基于Tensorflow的MNIST手写数字识别分类
2020/06/17 Python
Python实现一个简单的递归下降分析器
2020/08/01 Python
弄清Pytorch显存的分配机制
2020/12/10 Python
opencv python 对指针仪表读数识别的两种方式
2021/01/14 Python
StubHub巴西:购买和出售您的门票
2016/07/22 全球购物
人力资源管理毕业生自荐信
2013/11/21 职场文书
公积金转移接收函
2014/01/11 职场文书
元旦联欢会策划方案
2014/06/11 职场文书
刑事辩护授权委托书
2014/09/13 职场文书
营销与策划实训报告
2014/11/05 职场文书
简历自我评价优缺点
2015/03/11 职场文书
2015年班组工作总结
2015/04/20 职场文书
2015年化验室工作总结
2015/04/23 职场文书
工作后的感想
2015/08/07 职场文书
LayUI+Shiro实现动态菜单并记住菜单收展的示例
2021/05/06 Javascript
AJAX实现指定部分页面刷新效果
2021/10/16 Javascript