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 相关文章推荐
利用onresize使得div可以随着屏幕大小而自适应的代码
Jan 15 Javascript
jquery必须知道的一些常用特效方法及使用示例(整理)
Jun 24 Javascript
JavaScript使用HTML5的window.postMessage实现跨域通信例子
Apr 11 Javascript
浅谈jQuery事件绑定原理
Jan 02 Javascript
javascript顺序加载图片的方法
Jul 18 Javascript
包含中国城市的javascript对象实例
Aug 03 Javascript
基于Flowplayer打造一款免费的WEB视频播放器附源码
Sep 06 Javascript
从零学习node.js之详解异步控制工具async(八)
Feb 27 Javascript
vue 过滤器filter实例详解
Mar 14 Javascript
详解如何webpack使用DllPlugin
Sep 30 Javascript
浅谈vue生命周期共有几个阶段?分别是什么?
Aug 07 Javascript
js+html+css实现手动轮播和自动轮播
Dec 30 Javascript
使用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
php开发留言板的CRUD(增,删,改,查)操作
2012/04/19 PHP
PHP中SESSION的注销与清除
2015/04/16 PHP
浅谈PHP中关于foreach使用引用变量的坑
2016/11/14 PHP
解决 FireFox 下[使用event很麻烦] 的问题.
2006/08/22 Javascript
select标记美化--JS式插件、后期加载
2013/04/01 Javascript
jquery表格内容筛选实现思路及代码
2013/04/16 Javascript
jQuery获得IE版本不准确webbrowser的解决方法
2014/02/23 Javascript
Jquery操作js数组及对象示例代码
2014/05/11 Javascript
JS实现将Asp.Net的DateTime Json类型转换为标准时间的方法
2016/08/02 Javascript
JS点击某个图标或按钮弹出文件选择框的实现代码
2016/09/27 Javascript
js canvas仿支付宝芝麻信用分仪表盘
2016/11/16 Javascript
Bootstrap Modal遮罩弹出层代码分享
2016/11/21 Javascript
JavaScript中捕获与冒泡详解及实例
2017/02/03 Javascript
Java中int与integer的区别(基本数据类型与引用数据类型)
2017/02/19 Javascript
jquery实现表单获取短信验证码代码
2017/03/13 Javascript
动态创建类实例代码
2009/10/07 Python
剖析Python的Tornado框架中session支持的实现代码
2015/08/21 Python
Django objects的查询结果转化为json的三种方式的方法
2018/11/07 Python
python selenium执行所有测试用例并生成报告的方法
2019/02/13 Python
在python Numpy中求向量和矩阵的范数实例
2019/08/26 Python
python2.7实现复制大量文件及文件夹资料
2019/08/31 Python
美国家居装饰购物网站:Amanda Lindroth
2020/03/25 全球购物
一个C/C++编程面试题
2013/11/10 面试题
中专毕业生自我鉴定
2014/02/02 职场文书
公司合作意向书
2014/04/01 职场文书
亲属关系公证书
2014/04/08 职场文书
体育馆的标语
2014/06/24 职场文书
端午节活动总结报告
2015/02/11 职场文书
新闻稿格式范文
2015/07/18 职场文书
教师节校长致辞
2015/07/31 职场文书
团结友爱主题班会
2015/08/13 职场文书
2016年第32个教师节致辞
2015/11/26 职场文书
班主任寄语2016
2015/12/04 职场文书
2016小学优秀教师先进事迹材料
2016/02/26 职场文书
2019年鼓励无偿献血倡议书
2019/09/17 职场文书
Redis特殊数据类型HyperLogLog基数统计算法讲解
2022/06/01 Redis