1
如何讓此插件代碼接受默認選項?jQuery插件;無法使用默認設置
// Utility
if (typeof Object.create !== 'function') {
object.create = function(obj) {
function F(){};
F.prototype = obj;
return new F();
};
}
(function($, window, document, undefined) {
var Super = {
init: function(options, elem) {
var self = this;
self.elem = elem;
self.$elem = $(elem);
//self.alertbox(options.alertmsg);
self.loadingBar(options.duration);
if (typeof options === 'string') {
self.search = options;
} else {
// object was passed
self.search = options.search;
}
self.options = $.extend({}, $.fn.superHero.options, options);
},
alertbox: function(message) {
var self = this;
alert(message);
},
loadingBar: function(duration) {
var self = this;
$('#loadingBar').animate({
width: 699
}, duration);
},
};
$.fn.superHero = function(options){
return this.each(function() {
var hero = Object.create(Super);
hero.init(options, this);
$.data(this, 'superHero', hero);
});
};
$.fn.superHero.options = {
alertmsg: 'Hello World!',
duration: 8000,
};
})(jQuery, window, document);
這些選項只在調用插件時在索引頁中定義它們時才起作用。
我該怎麼做才能讓選項有一個默認值被用戶覆蓋而不是被用戶需要?
原來我需要打電話; self.loadingBar(self.options.duration); 而不是 self.loadingBar(options.duration); 不知道有什麼區別;我所知道的是它的作品。 –