您的位置:首页 > Web前端 > JQuery

编写jquery 自定义插件

2017-09-18 23:51 246 查看

编写jquery插件是对已有的一些函数进行封装,达到重复利用的目的

JQuery的插件主要有三种:

1. 封装对象方法的插件

编写此类插件需要用JQuery提供的jQuery.fn.extend()方法。实现查询color的自定义函数步骤如下

1.1 将编写的插件文件命名为 jquery.color.js

1.2 编写插件的内容

;(function($){
jQuery.fn.extend({//这里也可以写成$.fn.extend
"color":function(value){//value是颜色值
return this.css("color",value);
},
"border":function(value){
//插入代码
}
});
})(jQuery);


2. 封装全局函数的插件

这类插件是在jQuery命名空间内部添加函数。编写此类插件需要用JQuery提供的jQuery.extend()方法。编写一个实现去掉字符串左边空格的函数

;(function($){
$.extend({
ltrim:function(text){//需要去除空格的字符串
return (text || "").replace(/^\s+/g, "");
},
rtrim:function(text){
return (text || "").replace(/\s+$/g, "");
}
});
})(jQuery);


于是就可以通过$.rtrim(” test “) 或者jQuery.ltrim(” test “); 来返回去除空格的字符串。功能类似于jQuery的trim()函数。

3. 选择器插件

以编写between选择器插件说明,例如使用(“div:between(2,5)”)实现获取索引值为3,4元素的功能。3.1先已jQuery的一个例子(“div:gt(1)”)为例子讲解

:gt()选择器在jQuery中源码为

gt:function(a,i,m){
return i > m[3]-0;
}


其中

a 指向当前遍历到的DOM元素。

i 表示当前遍历到的DOM元素的索引值

m 是一个特殊数组。

m[0] = :gt(1) 要解析的表达式

m[1] = :

m[2] = gt

m[3] = 1

由此参考编写此选择器代码为

;(function($){
$.extend(jQuery.expr[":"], {
between : function(a, i, m){
var tmp = m[3].split(",");//m[3]值为[2,5];
return tmp[0]-0 < i && i < tmp[1]-0;
}
});
})(jQuery);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  jquery 自定义插件