这几个月有javascript开关语句的片段吗
我试图显示当前月份的选项卡式窗格。使用Bootstrap的tab方法。想知道是否有人看到了这段代码中的任何缺陷?到目前为止,它的工作方式,我想,使用和测试自己 HTML文件这几个月有javascript开关语句的片段吗,javascript,jquery,twitter-bootstrap,switch-statement,Javascript,Jquery,Twitter Bootstrap,Switch Statement,我试图显示当前月份的选项卡式窗格。使用Bootstrap的tab方法。想知道是否有人看到了这段代码中的任何缺陷?到目前为止,它的工作方式,我想,使用和测试自己 HTML文件 <ul class="nav nav-tabs" id="monthsTab"> <li><a href="#January" id="janLink" data-toggle="tab">January</a></li> <li><a
<ul class="nav nav-tabs" id="monthsTab">
<li><a href="#January" id="janLink" data-toggle="tab">January</a></li>
<li><a href="#February" id="febLink" data-toggle="tab" >February</a></li>
<li><a href="#March" id="marLink" data-toggle="tab">March</a></li>
<li><a href="#April" id="aprLink" data-toggle="tab">April</a></li>
<li><a href="#May" id="mayLink" data-toggle="tab">May</a></li>
<li><a href="#June" id="junLink" data-toggle="tab">June</a></li>
<li><a href="#July" id="julLink" data-toggle="tab">July</a></li>
<li><a href="#August" id="augLink" data-toggle="tab">August</a></li>
<li><a href="#September" id="sepLink" data-toggle="tab">September</a></li>
<li><a href="#October" id="octLink" data-toggle="tab">October</a></li>
<li><a href="#November" id="novLink" data-toggle="tab">November</a></li>
<li><a href="#December" id="decLink" data-toggle="tab">December</a></li>
</ul>
我将使用对象数组,而不是loooong开关:
var months = [
{name: "January" , link: "janLink"},
{name: "February" , link: "febLink"},
...
];
var currentMonth = function () {
var myMonth = new Date();
var theMonth = myMonth.getMonth();
$('#monthsTab, #' + months[theMonth].link).parent().addClass('active');
$('#' + months[theMonth].name).addClass('active');
};
要显示正确的内容,您应该在choosen选项卡上触发单击事件。 您为这样一个任务编写了相当长的代码-只要选项卡有序,您就可以按顺序确定要激活哪个选项卡(请参阅)
是发布未损坏代码的适当位置。您可以使用数组而不是这个巨大的开关。可能与@Blazemonger ehhh重复的地方不完全相同。但它可能会转到代码审查。我不知道代码审查,我应该补充说,我想知道什么对性能最好?想法是显示页面加载的任何月份的适当内容,这样用户不必选择当前月份,但仍然可以在月份之间来回。我的意思是添加“active”类只影响选项卡的外观。它不会激活适当的
.tab窗格
元素。这就是我建议触发单击事件的原因。Twitter引导程序为此提供了适当的API:.tab('show')
var months = [
{name: "January" , link: "janLink"},
{name: "February" , link: "febLink"},
...
];
var currentMonth = function () {
var myMonth = new Date();
var theMonth = myMonth.getMonth();
$('#monthsTab, #' + months[theMonth].link).parent().addClass('active');
$('#' + months[theMonth].name).addClass('active');
};
$('#monthsTab li').eq(myMonth.getMonth()).trigger('click');