一.全局级别定义全局函数
1.1 普通定义
jQuery.foo1=function () { alert('定义全局函数foo1'); } $.foo1(); 1.2 extend定义多个 jQuery.extend({ foo1:function() { alert('extend 定义全局函数1'); }, bar1:function() { alert('extend 定义全局函数2'); } }); $.foo1(); $.bar1(); 1.3 使用命名空间定义函数 jQuery.plugin = { foo2:function() { alert('使用命名空间定义函数'); } }$.plugin.foo2(); 二.对象级别的插件开发,即给jQuery对象添加方法 2.1 (function ($) { $.fn.extend({ foo3:function() { alert('对象级别插件extend方式1'); }, bar3:function() { alert('对象级别插件extend方式2'); } }); })(jQuery) $('#demo').foo3(); $('#demo').bar3(); 2.2 (function ($) { $.fn.foo=function () { alert('对象级别插件fn方式'); } })(jQuery) $('#demo').foo(); 2.3 接收参数来控制插件的行为 (function ($) { $.fn.bar5=function (options) { var defaults = {aaa:'1',bbb:'2'}; var data=$.extend(defaults,options); alert('参数值:aaa:'+data.aaa+';bbb:'+data.bbb); } })(jQuery) $('#demo').bar5({aaa:10, bbb:20}); 2.4 提供公有方法访问插件的配置项值 (function($){ $.fn.foo5 = function(options) { var opts = $.extend({}, $.fn.foo5.defaults, options); alert('参数值:aaa:'+opts.aaa+';bbb:'+opts.bbb); } $.fn.foo5.defaults = {aaa:'1',bbb:'2'}; })(jQuery); $('#demo').foo5();//aaa:'1',bbb:'2' $('#demo').foo5({aaa:'11',bbb:'22'});///aaa:'11',bbb:'22' 2.5 提供公有方法来访问插件中其他的方法 (function ($) { $.fn.bar=function (options) { $.fn.bar.alert(options); } $.fn.bar.alert=function (params) { alert(params); } })(jQuery) $('#demo').bar('aaa');