Установить активную вкладку в соответствии с датой в WordPress Visual композитора
Я пытаюсь установить активную вкладку в соответствии с датой. Поэтому, если сегодня вторник, мне нужен вторник, чтобы быть активной вкладкой. Я работаю над WordPress, с визуальным плагином композитора. То есть JQuery, над которым я работаю, прекрасно работает с вкладками, созданными с нуля, но у меня возникают проблемы с поиском правильного класса для установки атрибута "активный" для вкладки. Веб-сайт, который я пробую, это http://ordernow.com.ar/home/ и я оставляю свой код js для вас. Часть, над которой я работаю, это то, что на сегодняшний день - idx 2, потому что я работал во вторник. Но вы можете скопировать этот код в указатель рабочего дня. Большое спасибо.
<script>
(function($){
var today = new Date();
var todayIdx = today.getDay();
if (todayIdx === 0) {
$('li:nth-child(6)').removeClass('active');
$('li:nth-child(7)').addClass('active');
$('.block article').hide();
$('.block #do1').show();
}
else if (todayIdx === 1) {
$('li:nth-child(7)').removeClass('active');
$('li:nth-child(1)').addClass('active');
$('.block article').hide();
$('.block #lu1').show();
}
else if (todayIdx === 2) {
$('.w-tabs-item.claselunes').removeClass('active');
$('.w-tabs-item.clasemartes').addClass('active');
}
else if (todayIdx === 3) {
$('li:nth-child(2)').removeClass('active');
$('li:nth-child(3)').addClass('active');
$('.block article').hide();
$('.block #mi1').show();
}
else if (todayIdx === 4) {
$('li:nth-child(3)').removeClass('active');
$('li:nth-child(4)').addClass('active');
$('.block article').hide();
$('.block #ju1').show();
}
else if (todayIdx === 5) {
$('li:nth-child(4)').removeClass('active');
$('li:nth-child(5)').addClass('active');
$('.block article').hide();
$('.block #vi1').show();
}
else {
$('li:nth-child(5)').removeClass('active');
$('li:nth-child(6)').addClass('active');
$('.block article').hide();
$('.block #sa1').show();
}
console.log('jquery cargado con éxito');
console.log('today:', todayIdx);
})(jQuery);
</script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
1 ответ
Я создал следующую функцию, которая переключает визуальные вкладки композитора по идентификатору.
var setVCTab = function(name) {
var $id = "#"+name;
if ($($id).length > 0) {
setTimeout(function() {
// Clear tabs
$(".vc_tta-tab").each(function(i,a) {
$(a).removeClass("vc_active");
});
// Clear panels
$(".vc_tta-panels").children().each(function() {
$(this).removeClass("vc_active");
});
// Activate Tabs
$(".vc_tta-tabs-list a[href="+$id+"]").each(
function(i,a) { var tab = $(a).closest(".vc_tta-tab"); if (tab) tab.addClass("vc_active");}
);
// Activate Panel
$($id).addClass("vc_active");
location.href = $id;
},1);
}
};
Поэтому для вас должно быть возможным сделать что-то вроде следующего.
// Map day indices to tab IDs
var days =["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];
// Activate tab for day
setVCTab(days[(new Date()).getDay()]);