jQuery插件的实现框架
原创
©著作权归作者所有:来自51CTO博客作者暮志未晚的原创作品,请联系作者获取转载授权,否则将追究法律责任
废话不多说,先上代码
(function($){
var Myself = (function(){
//方法的构造函数
function Myself(element, options){
this.settings = $.extend(true, $.fn.Myself.defaults, options||{});
this.element = element;
this.init();
}
//方法的原型方法
Myself.prototype = {
init:function(){
}
//在这里书写方法
}
return Myself;//一定要return,要不然无法调用构造函数
})();
$.fn.Myself = function(options){
return this.each(function(){
var me = $(this),
instance = me.data("Myself");
//判断是否实例化,如果没有,则创建实例
if(!instance){
me.data("Myself", (instance = new Myself(me, options)));
}
//根据传入的数据类型,可以调用实例里面的方法
if($.type(options) === "string") return instance[options]();
});
};
$.fn.Myself.defaults = {
//此处书写默认值
};
//这是添加了一个自动调用的方法,在需要调用的标签里面添加中括号里面的内容即可
$(function(){
$('[data-Myself]').Myself();
});
})(jQuery);
如果需要修改默认值,则可以在底部调用
$("div").Myself({
//这里写属性设置,可以覆盖默认值
});