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 相关文章推荐
js 异步处理进度条
Apr 01 Javascript
javascript之典型高阶函数应用介绍二
Jan 10 Javascript
利用JQuery动画制作滑动菜单项效果实现步骤及代码
Feb 07 Javascript
原生Js页面滚动延迟加载图片实现原理及过程
Jun 24 Javascript
jquery改变disabled的boolean状态的三种方法
Dec 13 Javascript
从重置input file标签中看jQuery的 .val() 和 .attr(“value”) 区别
Jun 12 Javascript
JS触发服务器控件的单击事件(详解)
Aug 06 Javascript
BootStrap Table 分页后重新搜索问题的解决办法
Aug 08 Javascript
JQuery遍历元素的父辈和祖先的方法
Sep 18 Javascript
获取url中用&amp;隔开的参数实例(分享)
May 28 Javascript
JS字符串去除连续或全部重复字符的实例
Mar 08 Javascript
js canvas实现写字动画效果
Nov 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
比特率,大家看看这个就不用收音机音质去比MP3音质了
2021/03/01 无线电
967 个函式
2006/10/09 PHP
php中的时间处理
2006/10/09 PHP
用文本作数据处理
2006/10/09 PHP
tp5(thinkPHP5)操作mongoDB数据库的方法
2018/01/20 PHP
Laravel框架路由和控制器的绑定操作方法
2018/06/12 PHP
让焦点自动跳转
2006/07/01 Javascript
Javascript操纵Cookie实现购物车程序
2006/11/23 Javascript
学习YUI.Ext基础第一天
2007/03/10 Javascript
让Firefox支持event对象实现代码
2009/11/07 Javascript
jQuery的context属性用法实例
2014/12/27 Javascript
用JavaScript实现对话框的教程
2015/06/04 Javascript
JS+CSS实现分类动态选择及移动功能效果代码
2015/10/19 Javascript
vue router带参数页面刷新或回退参数消失的解决方法
2019/02/27 Javascript
如何让Nodejs支持H5 History模式(connect-history-api-fallback源码分析)
2019/05/30 NodeJs
layui之table checkbox初始化时选中对应选项的方法
2019/09/02 Javascript
[43:51]2018DOTA2亚洲邀请赛3月30日 小组赛B组 EG VS Secret
2018/03/31 DOTA
用python实现的可以拷贝或剪切一个文件列表中的所有文件
2009/04/30 Python
Python实现统计英文单词个数及字符串分割代码
2015/05/28 Python
python opencv3实现人脸识别(windows)
2018/05/25 Python
Django处理文件上传File Uploads的实例
2018/05/28 Python
python绘制热力图heatmap
2020/03/23 Python
Pycharm之快速定位到某行快捷键的方法
2019/01/20 Python
使用pycharm在本地开发并实时同步到服务器
2019/08/02 Python
详解python中groupby函数通俗易懂
2020/05/14 Python
Win 10下Anaconda虚拟环境的教程
2020/05/18 Python
html5时钟实现代码
2010/10/22 HTML / CSS
Andrew Marc官网:设计师外套的领先制造商
2019/10/30 全球购物
How TDD works
2012/09/30 面试题
服装行业创业计划书范文
2014/02/05 职场文书
会计师职业生涯规划范文
2014/02/18 职场文书
教学质量评估实施方案
2014/03/17 职场文书
大四学生找工作的自荐信
2014/03/27 职场文书
物理分数没达标检讨书
2014/09/13 职场文书
学术会议领导致辞
2015/07/29 职场文书
Python实现列表拼接和去重的三种方式
2021/07/02 Python