基本插件开发
最简单的插件开发就是对
$.fn
添加新的成员函数。
$.fn.插件名 = function() { //插件代码};
eg:
$.fn.greenify = function () { this.css( "color", "green" );};
$("a").greenify(); // Makes all links green.
注意:插件中的
this
是jQuery对象的实例。
链式调用(Chaining)
jquery的一大特点是链式调用。更改上面的插件方法:
$.fn.greenify = function () { this.css( "color", "green" ); return this;
为防止$
符号同其他的冲突,可以放到立即执行函数中写:
(function ( $ ) {
另外,** 尽量只使用一次
$.fn
**
使用.each
如果需要针对每一个DOM元素进行遍历、处理。则可以使用.each 方法:
$.fn.myNewPlugin = function () { return this.each (function() { //Do something to each element here
传递参数
(function ( $ ) {
//一般定义默认的参数settings,然后使用$.extend({}, defaultOptions, options)来传参。
参数可修改
为了扩展插件,有时候需要直接修改默认参数,来方便插件的调用。
// Plugin definition.$.fn.hilight = function( options ) {
方法可修改
另一种扩展插件的方式是将插件的方法暴漏出去。
实践,写一个插件吧
(function () { var formatTimer = function (time, format) { if(!time)time = new Date();
上面是对DOM进行时间的格式化显示.
参考资料
https://learn.jquery.com/plugins/basic-plugin-creation/
http://javascript.ruanyifeng.com/jquery/plugin.html