jquery插件的种类
1、封装对象方法
这种插件是将对象方法封装起来,用于对通过选择器获取的jquery对象进行操作,是最常见的一种插件。此类插件可以发挥出jquery选择器的强大优势,有相当一部分的jquery的方法,都是在jquery脚本库内部通过这种形式“插”在内核上的,例如parent()方法,appendto()方法等。
2、封装全局函数
可以将独立的函数加到jquery命名空间下。如常用的jquery.ajax()方法、去首尾空格的jquery.trim()方法,都是jquery内部作为全局函数的插件附加到内核上去的。
3、选择器插件
虽然jquery的选择器十分强大,但在少数情况下,还是会需要用到选择器插件来扩充一些自己喜欢的选择器。
jquery插件的机制
jquery插件的机制很简单,就是利用jquery提供的jquery.fn.extend()和jquery.extend()方法,扩展jquery的功能。
jquery.fn.extend()多用于扩展上面提到的3种类型中的第一种,jquery.extend()用于扩展后两种插件。这两个方法都接受一个参数,类型为object。object对象的“名/值对”分别代表“函数或方法名/函数主体”。
编写jquery插件的一些tips
1、jquery插件的文件名推荐命名为jquery.[插件名].js,以免和其他js库插件混淆。
2、所有的对象方法都应当附加到jquery.fn对象上,而所有的全局函数都应当附加到jquery对象本身。
3、在插件头部加上一个分号,以免他人的不规范代码给插件带来影响。
4、所有的方法或函数插件,都应当以分号结尾,以免压缩时出现问题
5、除非插件需要返回的是一些需要获取的变量,插件应该返回一个jquery对象,以保证插件的可链式操作。
6、利于jquery.extend()方法设置插件方法的默认参数,增加插件的可用性。
jquery插件结构
jquery插件结构如下:
. 代码如下:
;(function($){
/*这里放插件代码,可以将$作为jquery的别名*/
})(jquery);
. 代码如下:
;(function($){
$.fn.extend({
//这里写插件代码
});
})(jquery);
. 代码如下:
;(function($){
$.fn.extend({
"color":function(value){
if(value==undefined){
return this.css("color");
}
else{
return this.css("color",value);
}
}
});
})(jquery);
. 代码如下:
;(function($){
$.fn.extend({
"color":function(value){
//插件代码
},
"border":function(value){
//插件代码
},
"background":function(value){
//插件代码
}
});
})(jquery);
. 代码如下:
;(function($){
$.extend({
ltrim:function(text){
//插件代码
},
rtrim:function(text){
//插件代码
}
});
})(jquery);
. 代码如下:
;(function($){
$.extend({
ltrim:function(text){
return (text||"").replace(/^\s+/g,"");
},
rtrim:function(text){
return (text||"").replace(/\s+$/g,"");
}
});
})(jquery);
. 代码如下:
function (a,i,m){
//...
}
. 代码如下:
;(function($){
$.extend($.expr[":"],{
between:function(a,i,m){
//插件代码
}
});
})(jquery);
. 代码如下:
;(function($){
$.extend($.expr[":"],{
between:function(a,i,m){
var temp=m[3].split(",");
return +temp[0]<i&&i<+temp[1];
}
});
})(jquery);
如对本文有疑问, 点击进行留言回复!!
asp.net中ajax和一般处理程序(handler.ashx)的交互
egg.js创建项目,目录介绍,简单使用,sequelize mysql使用
网友评论