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 ...
随机推荐
- wxss与rpx
WXSS(WeiXin Style Sheets)是一套样式语言,用于描述 WXML 的组件样式. WXSS 用来决定 WXML 的组件应该怎么显示. 为了适应广大的前端开发者,WXSS 具有 CSS ...
- .NET扩展方法 封装公用方法
定义方法的时候 第一个参数前面加上this 表示这个方法可以被IQueryable类型的对象.出来 调用的时候 只用传第二个参数 第一个参数不用传 第一个参数就是.出当前方法的参数 定义扩展 ...
- $(document).ready和window.onload,细微小区别,ready是jQuery的方法,onload是window的方法
$(document).ready和window.onload的区别 $(document).ready和window.onload都是在都是在页面加载完执行的函数,大多数情况下差别不大,但也是有区别 ...
- image以最小边为标准填满正方形父级元素
需求: 上传图片并实现预览, 图片以最小边为标准填满正方形的父级div,且不变形,且点击可以预览大图. 有两种实现方式: 1.div+img标签, 利用object-fit:cover,据说兼容性不好 ...
- java环境变量---找不到或无法加载主类
默认安装在C:\ProgramFiles\Java\jdk1.7.0目录下 环境变量配置为 PATH=.;%JAVA_HOME%\bin CLASSPATH=.;%JAVA_HOME%\lib\dt. ...
- [Android] for ArcFace Demo
虹软人脸识别引擎Android的Demo演示,可以直接下载使用 下载地址 https://github.com/asdfqwrasdf/ArcFaceDemo 工程如何使用? 1.下载代码: git ...
- Codeforces 985 E - Pencils and Boxes
E - Pencils and Boxes 思路: dp 先排个序,放进一个袋子里的显然是一段区间 定义状态:pos[i]表示小于等于i的可以作为(放进一个袋子里的)一段区间起点的离i最近的位置 显然 ...
- python中的进程和线程
什么是进程(process)? 程序并不能单独运行,只有将程序装载到内存中,系统为它分配资源才能运行,而这种执行的程序就称之为进程.程序和进程的区别就在于:程序是指令的集合,它是进程运行的静态描述文本 ...
- jenkins+maven+git+tomcat+salt自动构建
jenkins 安装步骤 环境: centos7,jdk1.8.0,jenkins2.165,maven3.5.2 一. 安装配置java环境 JDK1.8下载地址:http://www.orac ...
- Django多表查询练习题
#一 model表:from django.db import models # Create your models here. class Teacher(models.Model): tid=m ...