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 相关文章推荐
Prototype Selector对象学习
Jul 23 Javascript
javascript学习笔记(三)显示当时时间的代码
Apr 08 Javascript
基于mootools插件实现遮罩层新手引导
May 24 Javascript
Jquery中给animation加更多的运作效果实例
Sep 05 Javascript
js 弹出框只弹一次(二次修改之后的)
Nov 26 Javascript
JS实现转动随机数抽奖特效代码
Apr 16 Javascript
基于Jquery实现焦点图淡出淡入效果
Nov 30 Javascript
angularjs实现table增加tr的方法
Feb 27 Javascript
在weex中愉快的使用scss的方法步骤
Jan 02 Javascript
JS函数进阶之prototy用法实例分析
Jan 15 Javascript
Vue项目移动端滚动穿透问题的实现
May 19 Javascript
原生js中运算符及流程控制示例详解
Jan 05 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 PDO函数库详解
2010/04/27 PHP
PHP使用静态方法的几个注意事项
2014/09/16 PHP
php实现网页端验证码功能
2017/07/11 PHP
添加JavaScript重载函数的辅助方法2
2010/07/04 Javascript
各种常用的JS函数整理
2013/10/25 Javascript
js判断数据类型如判断是否为数组是否为字符串等等
2014/01/15 Javascript
node.js中的console.assert方法使用说明
2014/12/10 Javascript
Javascript编写俄罗斯方块思路及实例
2015/07/07 Javascript
jquery ui dialog替代confirm实例分析
2016/01/25 Javascript
深入探秘jquery瀑布流的实现
2016/01/30 Javascript
20分钟成功编写bootstrap响应式页面 就这么简单
2016/05/12 Javascript
jQuery实现对无序列表的排序功能(附demo源码下载)
2016/06/25 Javascript
html+js实现简单的计算器代码(加减乘除)
2016/07/12 Javascript
JQuery实现定时刷新功能代码
2017/05/09 jQuery
JS数组去重常用方法实例小结【4种方法】
2018/05/28 Javascript
jQuery实现点击滚动到指定元素上的方法分析
2020/03/19 jQuery
vue 需求 data中的数据之间的调用操作
2020/08/05 Javascript
小程序实现上传视频功能
2020/08/18 Javascript
浅谈django中的认证与登录
2016/10/31 Python
Python根据已知邻接矩阵绘制无向图操作示例
2018/06/23 Python
Sanic框架Cookies操作示例
2018/07/17 Python
Python实现压缩文件夹与解压缩zip文件的方法
2018/09/01 Python
python读取各种文件数据方法解析
2018/12/29 Python
解决在Python编辑器pycharm中程序run正常debug错误的问题
2019/01/17 Python
Python 常用模块 re 使用方法详解
2019/06/06 Python
波兰家居和花园家具专家:4Home
2019/05/26 全球购物
编程输出如下图形
2013/11/24 面试题
既然说Ruby中一切都是对象,那么Ruby中类也是对象吗
2013/01/26 面试题
领导失职检讨书
2014/02/24 职场文书
服务质量承诺书
2014/03/27 职场文书
环境工程专业自荐信范文
2014/06/24 职场文书
清洁工个人总结
2015/03/04 职场文书
专家推荐信怎么写
2015/03/25 职场文书
办公室规章制度范本
2015/08/04 职场文书
中学生打架检讨书之500字
2019/08/06 职场文书
Python移位密码、仿射变换解密实例代码
2021/06/27 Python