jquery自定义类的封装

王朝学院·作者佚名  2016-08-27  
宽屏版  字体: |||超大  

如何用jquery自定义一个类?(demo参考)

/*简单使用*/

(function($){

//el操纵对象,option属性值

$.love = function(el,option){

var lo = $(el);

var lo.vars = $.extend({},$.love.default ,option); //合并成新对象,则是新的属性列表

//定义其他属性

......

var method = {};

//私有方法,私有方法之间可互相调用

method={

functionA: function() {...},

functionB: function() {...},

functionC: function() {...},

...

}

//公有方法(特权方法),供类外调用

this.publicFunction = function(a,b,c){

....

/*调用私有函数*/

method.functionA();

...

}

...

}

//可设置默认属性

$.love.default = {

option1:...,

option2:...,

....

}

})(jQuery);

/*类外调用*/

var a = new $.love("#id",{title:"name",age:12,...});

a.publicFunction(a,b,c);

/*相对高级点*/

(function($){

//el操纵对象,option属性值

$.love = function(el,option){

var lo = $(el);

var lo.vars = $.extend({},$.love.default ,option); //合并成新对象,则是新的属性列表

//定义其他属性

......

var method = {};

$.data(el, "love", lo); //在元素上存放数据,包括lo的所有属性,方法

//私有方法,私有方法之间可互相调用

method={

functionA: function() {...},

functionB: function() {...},

functionC: function() {...},

...

}

//公有方法(特权方法),供类外调用

lo.pfunctionA = function(){

/*调用私有函数*/

method.functionA();

},

lo.pfunctionB = function(){...},

...

}

//可设置默认属性

$.love.default = {

option1:...,

option2:...,

....

}

$.fn.love(option){

var $this = $(this);

if( $this.data('love')===undefined){

new $.love(this,option);

}else{

var love = $this.data('love'); //直接使用类中的函数等

love.pfunctionA();

}

}

})(jQuery);

http://t.cn/RUbL4rP

$ ==> "$ "就是 jQuery 对象的引用,等于"jQuery "

(function(){}) ==>模仿块级作用域

$.xxx ==>针对 jQuery 对象添加方法(我的理解)

$.fn.xxx ==》针对元素添加方法(我的理解)

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有