Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
这几个月有javascript开关语句的片段吗_Javascript_Jquery_Twitter Bootstrap_Switch Statement - Fatal编程技术网

这几个月有javascript开关语句的片段吗

这几个月有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

我试图显示当前月份的选项卡式窗格。使用Bootstrap的tab方法。想知道是否有人看到了这段代码中的任何缺陷?到目前为止,它的工作方式,我想,使用和测试自己

HTML文件

<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');