jquery插件的几种写法
/**
* Created by peng on 2016/12/8.
*/
jQuery.extend({
min: function(a, b) { return a < b ? a : b; },
max: function(a, b) { return a > b ? a : b; }
});
var settings = { validate: false, limit: 5, name: "foo" };
var options = { validate: true, name: "bar" };
jQuery.extend(settings, options,function(){
//return settings;
});
jQuery.extend({
foo: function() {
alert('类级别使用extend');
},
bar: function(param) {
alert('类级别使用extend');
}
});
jQuery.foo = {
ajax:function() {
alert('类级别使用命名空间');
},
bar:function(param) {
alert('类级别使用命名空间'+param);
}
};
$.fn.extend({
foo:function(){
alert('对象级别使用extend');
},
bar:function(){
alert('对象级别使用extend');
}
})
$.fn.foo = {
fun1:function(){
alert('对象级别使用命名空间');
},
fun2:function(){
alert('对象级别使用命名空间');
}
};
jQuery.fn.name1 = {
fun:function() {
alert('name1的fun');
},
bar:function(param) {
alert('类级别使用命名空间'+param);
}
};
jQuery.fn.extend({
fun:function() {
alert('name2的fun');
},
bar:function(param) {
alert('类级别使用命名空间'+param);
}
})
var n={};
n.f={};
n.f.a={};
n.f.a.b={};
n.f.a.b.foo = function(s){alert("哈哈 多么奇妙"+s);}
// plugin definition 定义插件
$.fn.hilight = function(options) { var defaults = { foreground: 'red', background: 'yellow' };
var opts = $.extend(defaults, options);
return opts;
};
(function ($) {
//step03-a 插件的默认值属性
var defaults = {
prevId: 'prevBtn',
prevText: 'Previous',
nextId: 'nextBtn',
nextText: 'Next'
//……
};
//step02 插件的扩展方法名称
$.fn.easySlider = function (options) {
//step03-b 合并用户自定义属性,默认属性
var options = $.extend(defaults, options);
return defaults;
}
})(jQuery);
以下是测试所用页面:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="js/jquery.js"></script>
<script src="js/chajian1.js"></script>
</head>
<body>
<div id="content">
</div>
<div id="myDiv" style="height:20px;width:30px;border:1px solid ">
</div>
<script type="text/javascript">
//jQuery.min(2,3); // 2
//jQuery.max(4,5); // 5
//console.log(jQuery.min(2,3));
// console.log(jQuery.max(4,5));
//$("#content").html(jQuery.min(2,3)+jQuery.max(4,5));
// console.log(settings);
//$.foo.bar();
// jQuery.myPlugin.bar("1");
//$.foo("ff");
// n.f.a.b.foo("zhazha ");
//$("div").fun();
// $.name1.fun();
// $.name2.fun();
// $("#content").name1.fun();
// $("#content").name2.fun();
//$('#myDiv').hilight({foreground: 'blue' });
//console.log($('#myDiv').hilight({foreground: 'blue' }));
// var obj01 = { name: "英文名:Sam Xiao", age: 29, girlfriend: { name: "Yang", age: 29} }
// var obj02 = { name: "中文名:XiaoJian", girlfriend: { name: "YY"} };
// var a = $.extend(obj01, obj02);
// var b = $.extend(true, obj01, obj02);
// var c = $.extend({}, obj01, obj02);
// var d = $.extend(true,{}, obj01, obj02);
// console.log(a);
// console.log(b);
// console.log(c);
// console.log(d);
console.log($("<div id='notheone'/>").easySlider( {prevId: 'aa',prevText:'bb'}));
</script>
</body>
</html>
jquery插件的几种写法的更多相关文章
- 第7章 jQuery插件的使用和写法
第7章 jQuery插件的使用和写法 插件又称扩展,是一种遵循一定规范的应用程序接口写出来的程序. 插件的编写思想基于面向对象. 获取最新的插件可以查看jquery官网:http://plugins. ...
- jquery插件的两种形式
这里总结一下jquery插件的两种形式,一种是通过字面量的形式组织代码,另一种是通过构造函数的方式.下面就两种形式来分析俩个例子. 例子1: ;(function ($,window,document ...
- 【jQuery】学习jQuery插件的使用与写法(表单验证插件-validation)
最新最全的插件可以从jQuery官方网站的插件板块下载,网站地址为:http://plugins.jquery.com/ Validation优点:内置验证规则:自定义验证规则:简单强大的验证信息提示 ...
- jQuery插件的使用和写法
插件(plugin)也称为扩展(Extension),是一种遵循一定规范的应用程序接口编写出来的程序. jQuery的易扩展性,吸引了来自全球的开发者来共同编写jQuery的插件. jQuery表单验 ...
- jQuery插件的2种类型
1.封装方法插件 封装方法插件在本质上来说,是一个对象级别的插件,这类插件首先通过jQuery选择器获取对象,并为对象添加方法,然后,将方法进行打包,封闭成一个插件,这种类型的插件编写简单,极易调用 ...
- jquery插件的2种扩展开发(jQuery.extend和jQuery.fn.extend的区别)
1.类级别 jQuery.extend(object) 类级别你可以理解为拓展jquery类,最明显的例子是$.ajax(...),相当于静态方法. 开发扩展其方法时使用$.extend方法,即jQu ...
- (翻译)编写属于你的jQuery插件
Writing Your Own jQuery Plugins 原文地址:http://blog.teamtreehouse.com/writing-your-own-jquery-plugins j ...
- 自己动手Jquery插件
最近Web应用程序中越来越多地用到了JQuery等Web前端技术.这些技术框架有效地改善了用户的操作体验,同时也提高了开发人员构造丰富客户 端UI的效率.JQuery本身提供了丰富的操作,但是,有时候 ...
- 用实例一步步教你写Jquery插件
最近Web应用程序中越来越多地用到 了JQuery等Web前端技术.这些技术框架有效地改善了用户的操作体验,同时也提高了开发人员构造丰富客户 端UI的效率.JQuery本身提供了丰富的操作,但是,有时 ...
随机推荐
- FZU软工第三次作业-原型设计
目录 00.前言: 01.PSP表格: 02.需求分析--NABCD模型 N-- Need 需求 A-- Approach 做法 B-- Bnefit 好处 C-- Competitors 竞争 D- ...
- time,datetime模块
time & datetime 模块 在平常的代码中,我们常常需要与时间打交道.在Python中,与时间处理有关的模块就包括:time,datetime,calendar(很少用,不讲),下面 ...
- functional program language
1.什么是函数式编程语言 函数式语言(functional language)一类程序设计语言,是一种非冯·诺伊曼式的程序设计语言.函数式语言主要成分是原始函数.定义函数和函数型.这种语言具有较强的组 ...
- 《DSP using MATLAB》Problem 6.5
代码: %% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ %% Output In ...
- Myelipse中xml约束文件的导入(以spring为例)
为了在电脑处于未联网状态下,beans.xml中书写标签具有提示功能,需要在电脑本地导入约束文件,下面上图 注意:将location后缀添加到key中beans的后面 注意:导入 context,ao ...
- LOJ2135 「ZJOI2015」幻想乡战略游戏
题意 题目描述 傲娇少女幽香正在玩一个非常有趣的战略类游戏,本来这个游戏的地图其实还不算太大,幽香还能管得过来,但是不知道为什么现在的网游厂商把游戏的地图越做越大,以至于幽香一眼根本看不过来,更别说和 ...
- Java基础六(自定义类、ArrayList集合)
今日内容介绍1.自定义类型的定义及使用2.自定义类的内存图3.ArrayList集合的基本功能4.随机点名器案例及库存案例代码优化 ###01引用数据类型_类 * A: 数据类型 * a: java中 ...
- drone 1.0 docker-compose 运行试用
drone 1.0 已经rc了,新的界面以及新的功能 github 客户端创建 docker-compose 文件 version: '3' services: drone-server: image ...
- 数学 它的内容,方法和意义 第二卷 (A. D. 亚历山大洛夫 著)
第五章 常微分方程 1. 绪论 2. 常系数线性微分方程 3. 微分方程的解及应注意的几个方面 4. 微分方程积分问题的几何解释.问题的推广 5. 微分方程解的存在性与唯一性方程的近似解 6. 奇点 ...
- gitlab 可以上传代码,但是 不能 上传 tag 问题
原因是 puttygen 生成的 公私钥不能用, 换 git 私钥后 ( 默认不能导入到 pageant ),再用 puttygen 转一次就可以了.