源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

详解jQuery插件开发方式

  • 时间:2021-03-15 07:35 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:详解jQuery插件开发方式
[b]jQuery插件开发  [/b] 一般来说,jQuery插件的开发分为两种:一种是挂在jQuery命名空间下的全局函数,也可称为静态方法;另一种是jQuery对象级别的方法,即挂在jQuery原型下的方法,这样通过选择器获取的jQuery对象实例也能共享该方法。 [b]一、jQuery扩展[/b]   [b]1、$.extend(object)[/b]   类似于.Net的扩展方法,用于扩展jQuery。然后就可以用$.的方式调用。
 $(function(){
 $.extend({ fun1: function () { alert("为jQuery扩展一个fun1函数!"); } });
 $.fun1();
 })
  [b]2、$.fn.extend(object)[/b]   扩展jQuery的对象。
 $.fn.extend({ fun2: function () { alert("执行方法2"); } });
 $("#id1").fun2();
  可以用google来看看: [img]http://files.jb51.net/file_images/article/201611/20161122144206993.jpg?20161022144234[/img]   上面的写法等同于:
 $.fn.fun2 = function () { alert("执行方法2"); }
 $(this).fun2();
[b]二、私有域[/b]   其定义方式如下:
(function ($) { })(jQuery);
//相当于
var fn = function (xxoo) { };
fn(jQuery);
  以下代码弹出123。
 $(function(){
 var fn = function (xxoo) { };
 fn(alert(123));
 })
[b]三、定义插件的基本步骤[/b]   [b]1、定义作用域[/b]   开发一个jQuery插件,首先要把插件的代码与外界隔离开来,外部的代码不允许直接访问插件内部的代码,插件内部的代码也不影响外部。     //步骤1 定义插件私有作用域
 (function ($) {

 })(jQuery);
 这样就能保证插件内部的代码与外界隔离了。   [b]2、扩展jQuery[/b]   定义了作用域之后,为了能够让外部调用,就需要将插件扩展到jQuery。
//步骤1 定义私有作用域
 (function ($) {
 //步骤2 插件的扩展方法名称
 $.fn.MyFrame = function (options) {
 
 }
 })(jQuery);
   [b]3、默认值[/b]   定义了jQuery插件之后,如果希望某些参数具有默认值,那么可以以这种方式来指定。
//步骤1 定义私有作用域
 (function ($) {
 //步骤3 插件的默认值属性
 var defaults = {
 Id: '#id1',
 };
 //步骤2 插件的扩展方法名称
 $.fn.MyFrame = function (options) {
 //步骤3 合并用户自定义属性,默认属性(如果options为空,则使用defaults)
 var options = $.extend(defaults, options);
 }
 })(jQuery);
     [b]4、支持jQuery选择器[/b]
 //步骤1 定义私有作用域
 (function ($) {
 //步骤3 插件的默认值属性
 var defaults = {
 Id: '#id1',
 };
 //步骤2 插件的扩展方法名称
 $.fn.MyFrame = function (options) {
 //步骤3 合并用户自定义属性,默认属性(如果options为空,则使用defaults)
 var options = $.extend(defaults, options);
 }
 //步骤4 支持jQuery选择器
 this.each(function () {

 });
 })(jQuery);
[b]    5、支持jQuery的链式调用[/b]
//步骤1 定义私有作用域
 (function ($) {
 //步骤3 插件的默认值属性
 var defaults = {
 Id: '#id1',
 };
 //步骤2 插件的扩展方法名称
 $.fn.MyFrame = function (options) {
 //步骤3 合并用户自定义属性,默认属性(如果options为空,则使用defaults)
 var options = $.extend(defaults, options);
 }
 //步骤4 支持jQuery选择器
 //步骤5 支持链式调用(将步骤4返回)
 return this.each(function () {

 });
 })(jQuery);
     [b]6、插件内部方法[/b]
 //步骤1 定义私有作用域
 (function ($) {
 //步骤3 插件的默认值属性
 var defaults = {
 Id: '#id1',
 };

 //步骤6 在插件里定义函数
 var MyFun = function (obj) {
 alert(obj);
 }

 //步骤2 插件的扩展方法名称
 $.fn.MyFrame = function (options) {
 //步骤3 合并用户自定义属性,默认属性(如果options为空,则使用defaults)
 var options = $.extend(defaults, options);
 }
 //步骤4 支持jQuery选择器
 //步骤5 支持链式调用(将步骤4返回)
 return this.each(function () {
 //步骤6 在插件里定义函数
 MyFun(this);
 });
 })(jQuery);
    由于作用域关系,步骤6的私有函数目前允许的插件内部使用。  以上就是本文的全部内容,希望对大家有所帮助,谢谢对编程素材网的支持!
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部