jQuery 插件开发指南


Posted in Javascript onNovember 14, 2014

那么首先我们来简单的看一下最正统的 jQuery 插件定义方式:

(function ($) {     

$.fn.插件名 = function (settings) {         

//默认参数         

var defaultSettings = {

 

        }         /* 合并默认参数和用户自定义参数 */        

 

settings = $.extend(defaultSettings, settings);

 

return this.each(function () {             //代码         });   //插件在元素内多次出现

 

} })(jQuery);

 
先来看模板中的第一行代码(当然我们要把这一行代码的后半部分给揪出来一起看,不然第一行就完全无意义了):
(function ($) {

 

})(jQuery);

 这行代码其实是用于创建一个匿名函数。如果你对匿名函数和闭包不了解,将会对这种代码非常疑惑,那么强烈建议您阅读【详谈JavaScript 匿名函数及闭包】这篇文章。

jQuery 的继承方法 $.extend —— $.extend 在jQuery 插件开发中有个很重要的作用,就是用于合并参数。

$.fn.tip = function (settings) {     

var defaultSettings = {            

//颜色     

color: 'yellow',        

//延迟        

timeout: 200     }

 /* 合并默认参数和用户自定义参数 */   

settings = $.extend(defaultSettings, settings);    

alert(settings.input); <br>}

 jQuery 插件定义第二种方式:

(function ($) {

    //插件定义--更换名字

    $.fn.tabpanel = function (method) {

        var methods = $.fn.tabpanel.methods;

        if (methods[method]) {

            return methods[method].apply(this, Array.prototype.slice.call(arguments, 1));

        } else if (typeof method === 'object' || !method) {

            return methods.init.apply(this, arguments);

        } else {

 

        }

    }

    //支持的方法

    $.fn.tabpanel.methods =

    {

        //初始化

        init: function (p_options) {

            tabpanelBind(p_options, this);

        },

        add: function (p_options) {

            addTab(p_options, this);

            tabpanelBind(p_options, this);

            // debugger

        }    }

    function add(p_options) {

        var _defaults = {

            id: ""

        }

    <br>
//内部实现略.........<br>        return _index;

    }

<br>})(jQuery);<br><br>调用  $("#team").tabpanel('add',"");

好了,上面介绍的这2种开发方式都是最常用的,小伙伴们先好好学习下吧,后续我们再介绍的更深入些

Javascript 相关文章推荐
javascript cookies操作集合
Apr 12 Javascript
本地对象Array的原型扩展实现代码
Dec 04 Javascript
js整数字符串转换为金额类型数据(示例代码)
Dec 26 Javascript
Javascript中arguments用法实例分析
Jun 13 Javascript
js轮盘抽奖实例分析
Apr 17 Javascript
概述VUE2.0不可忽视的很多变化
Sep 25 Javascript
Vue.js组件tree实现省市多级联动
Dec 02 Javascript
详谈js模块化规范
Jul 07 Javascript
详解vue mixins和extends的巧妙用法
Dec 20 Javascript
微信小程序收货地址API兼容低版本解决方法
May 18 Javascript
js对象属性名驼峰式转下划线的实例代码
Sep 17 Javascript
vue响应式原理与双向数据的深入解析
Jun 04 Vue.js
使用JavaScript和C#中获得referer
Nov 14 #Javascript
JavaScript window.location对象
Nov 14 #Javascript
详谈JavaScript 匿名函数及闭包
Nov 14 #Javascript
详谈JavaScript内存泄漏
Nov 14 #Javascript
js与C#进行时间戳转换
Nov 14 #Javascript
jquery ui bootstrap 实现自定义风格
Nov 14 #Javascript
使用node.js 制作网站前台后台
Nov 13 #Javascript
You might like
杏林同学录(五)
2006/10/09 PHP
PHP实现使用优酷土豆视频地址获取swf播放器分享地址
2014/06/05 PHP
ThinkPHP实现多数据库连接的解决方法
2014/07/01 PHP
十大使用PHP框架的理由
2015/09/26 PHP
PHP实现根据时间戳获取周几的方法
2016/02/26 PHP
javascript 面向对象思想 附源码
2009/07/07 Javascript
JavaScript 继承的实现
2009/07/09 Javascript
Javascript学习笔记9 prototype封装继承
2010/01/11 Javascript
体验js中splice()的强大(插入、删除或替换数组的元素)
2013/01/16 Javascript
ComboBox 和 DateField 在IE下消失的解决方法
2013/08/30 Javascript
使用js实现关闭js弹出层的窗口
2014/02/10 Javascript
3个可以改善用户体验的AngularJS指令介绍
2015/06/18 Javascript
javascript实现表单验证
2016/01/29 Javascript
深入理解JavaScript程序中内存泄漏
2016/03/17 Javascript
微信小程序使用slider设置数据值及switch开关组件功能【附源码下载】
2017/12/09 Javascript
Angular 封装并发布组件的方法示例
2018/04/19 Javascript
JavaScript实现一个简易的计算器实例代码
2018/05/10 Javascript
Element Backtop回到顶部的具体使用
2020/07/27 Javascript
使用Python操作MySQL的一些基本方法
2015/08/16 Python
python开发简易版在线音乐播放器
2017/03/03 Python
python 列表,数组和矩阵sum的用法及区别介绍
2018/06/28 Python
10 行 Python 代码教你自动发送短信(不想回复工作邮件妙招)
2018/10/11 Python
python高斯分布概率密度函数的使用详解
2019/07/10 Python
python实点云分割k-means(sklearn)详解
2020/05/28 Python
Python网络爬虫四大选择器用法原理总结
2020/06/01 Python
对python pandas中 inplace 参数的理解
2020/06/27 Python
HTML5中使用postMessage实现Ajax跨域请求的方法
2016/04/19 HTML / CSS
Hotels.com韩国:海外国内旅行所需的酒店和住宿预订网站
2020/05/08 全球购物
劳资员岗位职责
2013/11/11 职场文书
消防工作实施方案
2014/06/09 职场文书
手机被没收的检讨书
2014/10/04 职场文书
2015年个人审计工作总结
2015/04/07 职场文书
2015年售后服务工作总结
2015/04/25 职场文书
员工手册董事长致辞
2015/07/29 职场文书
导游词之江南周庄
2019/12/06 职场文书
Python人工智能之混合高斯模型运动目标检测详解分析
2021/11/07 Python