我正在创建我想用于我的项目的第一个 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);
这让我有点困惑,我想这是第一次......
问题:
标题导致设置失败,所以这是另一个问题。
如果我设置默认标题和描述,然后创建自定义标题或/和描述,我的设置似乎正在工作......它有效,它将覆盖默认值。
但是,您可以阅读按钮的简短 if 语句......如果我的按钮切换器在默认值或自定义中设置为 false 或 true,它仍然有效并覆盖默认设置......但是,如果默认值和自定义都说:true 或 false。 ..按钮值变为“未定义”。
我不知道如何说总是只读取自定义设置,如果它们被定义并且忘记了默认值......或者类似的东西。我希望你们能理解我,希望我能找到答案。
问候,内纳德。
编辑:
似乎我需要在海关中完全定义一个按钮配置,以免得到“未定义”......我该如何解决这个问题?
默认值示例:
var defaults = {
buttons: {
switcher : false,
nameButton_1 : 'Continue',
nameButton_2 : 'Discard',
}
};
海关示例:
$(function() {
$().miniBox({
title: 'Works flawlessly!',
buttons: {
switcher: true
}
});
});
如果未在自定义设置中定义按钮名称,我如何仍使用默认按钮设置?