如何用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 ==》针对元素添加方法(我的理解)

jquery自定义类的封装的更多相关文章

  1. jquery 自定义类

    jQuery自定义类封装: (function ($) { $.DragField = function (arg) { var name = "你好"; //这个是私有变量,外部 ...

  2. Java中使用自定义类封装数组,添加类方法实现数据操作

    1.具体见注释 2.后续或有更新 public class MyArray { private long[] array; private int cnt; // 自定义数组类的元素个数 /** 使用 ...

  3. 把jQuery的类、插件封装成seajs的模块的方法

    这篇文章主要介绍了把jQuery的类.插件封装成seajs的模块的方法,需要的朋友可以参考下 注:本文使用的seajs版本是2.1.1 一.把Jquery封装成seajs的模块 define(func ...

  4. 深入学习jQuery自定义插件

    原文地址:jQuery自定义插件学习 1.定义插件的方法 对象级别的插件扩展,即为jQuery类的实例增加方法, 调用:$(选择器).函数名(参数);      $(‘#id’).myPlugin(o ...

  5. Jquery自定义插件之$.extend()、$.fn和$.fn.extend()

    jquery插件的种类: 1.对象级别的插件开发,即给jQuery对象添加方法,封装对象方法的插件,如:parent().appendTo() 2.一种是类级别的插件开发,即给jQuery添加新的全局 ...

  6. 你的专属定制——JQuery自定义插件

        前  言 絮叨絮叨 jQuery是一个快速.简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架).jQuery设计的宗 ...

  7. jQuery自定义插件--banner图滚动

    前言 jQuery是一个功能强大的库,提供了开发JavaScript项目所需的所有核心函数.很多时候我们使用jQuery的原因就是因为其使用插件的功能,然而,有时候我们还是需要使用自定义代码来扩展这些 ...

  8. JQuery自定义插件详解之Banner图滚动插件

      前  言 JRedu JQuery是什么相信已经不需要详细介绍了.作为时下最火的JS库之一,JQuery将其"Write Less,Do More!"的口号发挥的极致.而帮助J ...

  9. jquery自定义插件——以 选项卡插件为例

    一直打算尝试自定义插件,终于付诸实践了,现在把内容发表出来,与大家共勉. 我是根据自己正在用的插件,模仿其源码,实现的自定义插件,完成之后,在网上看相关资料,对自定义插件部分,有了更明确的认识. jq ...

随机推荐

  1. 力扣(LeetCode)125. 验证回文串

    给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写. 说明:本题中,我们将空字符串定义为有效的回文串. 示例 1: 输入: "A man, a plan, a c ...

  2. Linux若干源码编译

    Spark源码编译: dev/目录下执行make-distribution.sh./dev/make-distribution.sh --name 2.6.0-cdh5.7.0 --tgz Pyarn ...

  3. 学习笔记2—MATLAB的copyfile技巧

    clearclc %一.新建文件夹,%二.将原始路径下的数据剪切到新建文件夹中 path = ('E:\DFC_DMN_ASD_DATA_res\Cluster_hcc\4,6,8\Cluster_6 ...

  4. Windows 多用户接续设置

    第1步:如果想真正实现多用户接续,请安装角色:remote desktop service.第2步: gpedit.msc,找到“计算机配置”-“管理模板”-“Windows 组件”-“远程桌面服务” ...

  5. JavaScript 第六章总结: Getting to know the DOM

    前言 这一章节介绍 DOM, 使用 DOM 的目的是使的网页能够变得 dynamic,使得 pages that react, that respond, that update themselves ...

  6. 雷林鹏分享:C# 结构(Struct)

    C# 结构(Struct) 在 C# 中,结构是值类型数据结构.它使得一个单一变量可以存储各种数据类型的相关数据.struct 关键字用于创建结构. 结构是用来代表一个记录.假设您想跟踪图书馆中书的动 ...

  7. centos 下卸载mysql

    查看当前已安装服务 [root@localhost]# rpm -qa|grep -i mysqlMySQL-server-5.6.36-1.rhel5.x86_64qt-mysql-4.8.5-13 ...

  8. Lab 3-1

    Analyze the malware found in the file Lab03-01.exe using basic dynamic analysis tools. Questions and ...

  9. 关于JAVA项目中的常用的异常处理情况总结

    1. JAVA异常处理 在面向过程式的编程语言中,我们可以通过返回值来确定方法是否正常执行.比如在一个c语言编写的程序中,如果方法正确的执行则返回1.错误则返回0.在vb或delphi开发的应用程序中 ...

  10. Vladik and cards CodeForces - 743E (状压)

    大意: 给定序列, 求选出一个最长的子序列, 使得任选两个[1,8]的数字, 在子序列中的出现次数差不超过1, 且子序列中相同数字连续. 正解是状压dp, 先二分转为判断[1,8]出现次数>=x ...