我正在创建我想要用于我的项目的第一个jQuery插件。 但是,我拥有的知识可能不够。不过,我想继续创造它......创建jQuery插件 - 设置失败
所以我有这个部分,我的小插件:
jQuery插件 - 默认设置:
;(function($) {
var defaults = {
title : 'miniBox - Title Spot!',
description : 'miniBox Description Spot. Write a short article or leave it blank!',
buttons: {
switcher : true,
nameButton_1 : 'Continue',
nameButton_2 : 'Discard',
}
};
现在下面我们有此部分:
$.fn.miniBox = function(customs) {
var config = $.extend({}, defaults, customs);
var $first = this.first();
$first.init = function() {
$('body').append(// -->
'<div class="miniBox-wrap">'
+ '<div class="miniBox-frame">'
+ '<div class="miniBox-title"></div>'
+ '<div class="miniBox-content">'
+ '<div class="miniBox-description"></div>'
+ '<div class="miniBox-buttons"></div>'
+ '<div class="miniBox-counter"></div>'
+ '</div>'
+ '</div>'
+ '<div class="miniBox-overlay"></div>'
+ '</div>' // <--
);
var mB_buttonOne = config.buttons.nameButton_1,
mB_buttonTwo = config.buttons.nameButton_2,
mB_title = config.title,
mB_description = config.description;
// --> Confirmation Buttons - Settings OPEN //
if(config.buttons.switcher === true) {
$('.miniBox-buttons').append(// -->
'<input type="button" id="agree" value=' + mB_buttonOne + '>'
+ '<input type="button" id="disagree" value=' + mB_buttonTwo + '>'
// <--
);
} else {
$('.miniBox-buttons').remove();
}
// <-- Confirmation Buttons - Settings CLOSE //
};
$first.init();
};
})(jQuery);
这是混淆了一点点对我来说,是第一次我猜...
问题:
标题导致设置,以便在这里失败的另一个问题。
如果我设置了默认标题和描述,然后创建自定义标题或/和描述,那么我的设置似乎正在工作......它的工作原理将覆盖默认设置。
但是,如果您可以阅读简短的按钮声明...如果我的按钮切换器在默认或习俗中设置为false或true,它仍然可以工作并覆盖默认设置......但是,如果默认值和习惯都说: true或false ...按钮值变成“未定义”。
我没有线索如何说总是只读自定义设置,如果他们被定义,并忘记默认值......或类似的东西。我希望你们了解我,希望我能找到答案。
问候,Nenad。
编辑:
看起来像我需要一个按钮配置完全定义为海关为了不得到“未定义” ......我怎样才能解决这个问题?默认的
例子:
var defaults = {
buttons: {
switcher : false,
nameButton_1 : 'Continue',
nameButton_2 : 'Discard',
}
};
海关的例子:
$(function() {
$().miniBox({
title: 'Works flawlessly!',
buttons: {
switcher: true
}
});
});
我怎么能仍然使用按钮名称默认按钮设置,如果它们没有被定义为自定义设置?
你是什么意思,你不明白他们?你写了,对吧? – 2013-02-17 15:18:13
不...我没有写变量和那个.init ... 刚刚看到了另一个插件以及$ .extend({}); – user1658136 2013-02-17 15:20:07