jquery自定义类的封装
如何用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);
$ ==> "$ "就是 jQuery 对象的引用,等于"jQuery "
(function(){}) ==>模仿块级作用域
$.xxx ==>针对 jQuery 对象添加方法(我的理解)
$.fn.xxx ==》针对元素添加方法(我的理解)
jquery自定义类的封装的更多相关文章
- jquery 自定义类
jQuery自定义类封装: (function ($) { $.DragField = function (arg) { var name = "你好"; //这个是私有变量,外部 ...
- Java中使用自定义类封装数组,添加类方法实现数据操作
1.具体见注释 2.后续或有更新 public class MyArray { private long[] array; private int cnt; // 自定义数组类的元素个数 /** 使用 ...
- 把jQuery的类、插件封装成seajs的模块的方法
这篇文章主要介绍了把jQuery的类.插件封装成seajs的模块的方法,需要的朋友可以参考下 注:本文使用的seajs版本是2.1.1 一.把Jquery封装成seajs的模块 define(func ...
- 深入学习jQuery自定义插件
原文地址:jQuery自定义插件学习 1.定义插件的方法 对象级别的插件扩展,即为jQuery类的实例增加方法, 调用:$(选择器).函数名(参数); $(‘#id’).myPlugin(o ...
- Jquery自定义插件之$.extend()、$.fn和$.fn.extend()
jquery插件的种类: 1.对象级别的插件开发,即给jQuery对象添加方法,封装对象方法的插件,如:parent().appendTo() 2.一种是类级别的插件开发,即给jQuery添加新的全局 ...
- 你的专属定制——JQuery自定义插件
前 言 絮叨絮叨 jQuery是一个快速.简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架).jQuery设计的宗 ...
- jQuery自定义插件--banner图滚动
前言 jQuery是一个功能强大的库,提供了开发JavaScript项目所需的所有核心函数.很多时候我们使用jQuery的原因就是因为其使用插件的功能,然而,有时候我们还是需要使用自定义代码来扩展这些 ...
- JQuery自定义插件详解之Banner图滚动插件
前 言 JRedu JQuery是什么相信已经不需要详细介绍了.作为时下最火的JS库之一,JQuery将其"Write Less,Do More!"的口号发挥的极致.而帮助J ...
- jquery自定义插件——以 选项卡插件为例
一直打算尝试自定义插件,终于付诸实践了,现在把内容发表出来,与大家共勉. 我是根据自己正在用的插件,模仿其源码,实现的自定义插件,完成之后,在网上看相关资料,对自定义插件部分,有了更明确的认识. jq ...
随机推荐
- BMP操作_测试
1.参考网址: http://blog.sina.com.cn/s/blog_678b377a0100mlyb.html http://blog.csdn.net/weiyongtao87/artic ...
- 力扣(LeetCode) 136. 只出现一次的数字
给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次.找出那个只出现了一次的元素. 说明: 你的算法应该具有线性时间复杂度. 你可以不使用额外空间来实现吗? 示例 1: 输入: [ ...
- C# 视频多人脸识别的实现
上一篇内容的调整,提交到git了,https://github.com/catzhou2002/ArcFaceDemo基本思路如下:一.识别线程1.获取当前图片2.识别当前图片的人脸位置,并将结果存入 ...
- 四个session
- CentOS/redhat使用光盘镜像源
1,首先进行光盘的挂载,注意光盘挂载时不会自动建立目录的, 所以需要自己建立目录. mkdir /mnt/cdrom mount /dev/cdrom /mnt/cdrom #de ...
- 大数据新手之路四:联合使用Flume和Kafka
Ubuntu16.04+Kafka1.0.0+Flume1.8.0 1.目标 ①使用Flume作为Kafka的Producer: ②使用Kafka作为Flume的Sink: 其实以上两点是同一个事情在 ...
- CentOS7 上安装 Lua5.3
1.CentOS7默认已经安装了5.1.4 ①查看当前lua版本号:lua -v Lua 5.1.4 Copyright (C) 1994-2008 Lua.org, PUC-Rio ②查看lua和 ...
- Could not find method google() for arguments [] on repository container.
出这个问题主要是你Gradle版本太低的原因,一般要使用4.0+的版本 所以你需要更新你的Gradle版本至4.0+呦 tips:注意你的AndroidStudio版本应该是3.0以上,因为Gradl ...
- 大div中嵌套小div,点击大div时隐藏,点击小div不隐藏
给小div添加一个click事件 <div onClick="event.cancelBubble = true"> //小div
- 直播 APP 的直播实现流程
直播平台搭建所涉及的事项非常的广泛, 不仅需要直播源码. 直播系统开发. 后台服务 器.专门的运维人员等, 还需要技术团队切实的把控.下面, 小编就给大家确切的说下直播 平台搭建需要用到哪些步骤. 1 ...