全局级别定义全局函数and 对象级别的插件开发,即给jQuery对象添加方法

时间:2021-10-16 23:28:46
一.全局级别定义全局函数
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');