jQuery插件主要分为3种类型
1、封装对象方法的插件
这种插件是将对象方法封装起来,用于对通过选择器获取的jQuery对象进行操作,是最常见的一种插件。此类插件可以发挥出jQuery选择器的强大优势.
2、封装全局函数的插件
可以将独立的函数加到jQuery命名空间下。例如jQuery.noConflict()方法、常用的jQuery.ajax()方法以及去除首位空格的jQuery.trim()方法等,都是jQuery内部作为全局函数的插件附加到内核上去的。
3、选择器插件
少数情况下,会需要用到选择器插件来扩充一些自己喜欢的选择器。
插件的基本要点
1、所有对象方法都应该附加到jQuery.fn对象上,而所有的全局函数都应当附加到jQuery对象本身上
2、在插件内部,this指向的是当前通过选择器获取的jQuery对象,而不像一般方法那样
3、插件应该返回一个返回一个jQuery对象,以保证插件的可链式操作
4、避免在插件内部使用$作为jQuery对象的别名,以避免冲突
5、在插件头部加一个分号,提高兼容性
6、可以通过this.each来遍历所有元素
7、插件名推荐命名为jQuery.[插件名].js
jQurery插件的机制
jQuery提供了两种用于扩展jQuery功能的方法:jQuery.fn.extend(),用于上面提到的第一种插件类型;jQuery.extend()用于扩展后两种插件,还可以扩展已有的Object对象。这两种方法都接受一个参数。类型为Object。Object对象的“名/值对”分别代表“函数或方法名/函数主体”
jQuery插件结构如下
;(function($)){
/*这里放插件代码,可以将$作为jQuery的别名*/
})(jQuery);//这里就将jQuery作为实参窗体传递给匿名函数了
编写jQuery插件
1.封装jQuery对象方法的插件
规范命名,为插件搭好框架,确认对象,对对象进行定义/扩展,元素匹配,测试
2、封装全局函数的插件
这类插件是在jQuery命名空间内部添加一个函数。这类插件比较简单,只是普通函数,没有特别需要注意的地方。
首先构造一个Object对象,将函数名和函数都放进去,然后对Object对象扩展,测试
3、自定义选择器
选择器插件中的函数属于运算密集型函数,对执行效率要求很高,而我有密集恐惧症,就不多说了。
参考资料《锋利的jQuery》