jQuery - plugin 代码模型
1、扩展 jQuery 的全局函数,主要以 $.xxx() 的形式调用
(function($) {
$.myFunction = function(array) {
// code
}
})(jQuery);
在外部可以这样调用 $.myFunction(...),但是,最好把自定义的全局函数放在自己的命名空间中,如下,
(function($) {
$.myNameSpace = {
sum: function(array) {
// code
},
average: function(array) {
// code
}
};
})(jQuery);
那么,在外部调用时也要添加上空间名称,$.myNameSpace.sum(...)
2、扩展 jQuery 对象的方法
jQuery.fn 对象实际是 jQuery.Prototype 的别名,也就是说 jQuery.fn 是 jQuery 对象的原型,
那么通过扩展 jQuery.fn 对象,也就是为 jQuery 对象添加新的方法。
(function($) {
// 创建可在外部修改的默认值
$.fn.shadow.defaults = {
copies: 5,
opacity: 0.1,
copyOffset: function(index) {
// code
}
};
// 给 jQuery 对象添加新方法 shadow(opts)
$.fn.shadow = function(opts) {
var options = $.extend({}, $.fn.shadow.defaults, opts);
// code
......
// 注意:此处(方法内部)的 this 指的是调用 shadow() 方法的 jQuery 对象。
}
)(jQuery);
那么,以上方法可以这样调用,$("p, div").shadow(...);