我在论坛中搜索了相关主题,但我遇到的解决方案无效。
我使用Bootstrap显示带有两个选项卡的选项卡组。 我需要标签1从星期一到星期五自动激活,标签#2在星期六到星期日激活。
这是我的HTML:
<ul class="cat_filter nav nav-tabs right" role="tablist">
<li role="presentation" class="active"><a href="#tab1" aria-controls="tab1" role="tab" data-toggle="tab">Tab #1</a></li>
<li role="presentation"><a href="#tab2" aria-controls="tab2" role="tab" data-toggle="tab">Tab #2</a></li>
</ul>
<div class="tab-content">
<div id="tab1" role="tabpanel" class="tab-pane fade in active woocommerce">Some content</div>
<div id="tab2" role="tabpanel" class="tab-pane fade woocommerce">Some content</div>
</div>
我已经尝试过以下主题,但他们不适合我: Weekday jQuery UI Tabs open on current day load correct day of the week inside accordion gallery
答案 0 :(得分:1)
请尝试以下方法:
<?php if(date('l') == 'saturday' || date('l') == 'sunday'){ //l is smallcase L not number 1
$day = 'tab2';
}else{
$day = 'tab1';
}
?>
<ul class="cat_filter nav nav-tabs right" role="tablist">
<li role="presentation" class="<?php if($day == 'tab1'){echo 'active';}?>"><a href="#tab1" aria-controls="tab1" role="tab" data-toggle="tab">Tab #1</a></li>
<li role="presentation" class="<?php if($day == 'tab2'){echo 'active';}?>"><a href="#tab2" aria-controls="tab2" role="tab" data-toggle="tab">Tab #2</a></li>
</ul>
<div class="tab-content">
<div id="tab1" role="tabpanel" class="tab-pane fade in active woocommerce">Some content</div>
<div id="tab2" role="tabpanel" class="tab-pane fade woocommerce">Some content</div>
</div>
答案 1 :(得分:1)
这是javascript
和jquery
中的替代解决方案。我们首先确定日期索引,如果它是0
(星期日)或6
(星期六),则选项卡1处于活动状态,否则激活Tab 2。 See jsfiddle here
$(function(){
var today = new Date()
var todayIdx = today.getDay();
console.log('today:', todayIdx);
if (todayIdx == 0 || todayIdx == 6) {
$('a[aria-controls="tab1"]').closest('li').addClass('active');
$('a[aria-controls="tab2"]').closest('li').removeClass('active');
}
else {
$('a[aria-controls="tab2"]').closest('li').addClass('active');
$('a[aria-controls="tab1"]').closest('li').removeClass('active');
}
});