我正在寻找一种为我正在开发的项目创建倒数计时器插件的方法,并使用此处找到的模板完成: http://stefangabos.ro/jquery/jquery-plugin-boilerplate-oop/
我的插件可以正常工作,并将其分配给变量,如:
var timer1 = new $.timer({
option1: true,
callback1: function(){
//do something
}
});
但是当我稍后去检查该变量的值时,它返回undefined而不是一个对象,正如我所料。但是,我可以使用同一个变量来访问我的计时器的公共方法:
timer1.set(10);
它将设置计时器。
但是尝试在变量'timer1'中返回对象会返回undefined。
以下是代码的基础(不幸的是,我的雇主限制我发布它原样 - 我不得不删除实际的方法代码):
;
(function($) {
$.timer = $.timer || {};
$.timer = function(options) {
var defaults = {
option1: false,
option2: false,
callback1: function() {
}
};
var plugin = this;
plugin.settings = {};
//local variables
var sampleVar = 0;
//constructor
var init = function() {
plugin.settings = $.extend({}, defaults, options);
return plugin;
};
//private methods
var fire = function() {
//do something here
plugin.settings.callback1.call(plugin);
};
var updateTimer = function() {
//do something here
};
var reset = function() {
//do something here
};
//public methods
plugin.set = function(time) {
//do something here
};
plugin.start = function() {
//do something here
};
init();
};
})(jQuery);