Я создал разные классы в своем CSS для каждой вкладки и добавил стиль - background-color для каждой из них.Я написал код JavaScipt для перемещения по каждой вкладке и отображения соответствующего содержимого для этой вкладки.
В моем CSS я также создал другой класс (.now-active) и добавил стиль - background-color для активногоtab (в классе .now-active), который будет вызываться и использоваться моим кодом JavaScript.Все до этого момента работает нормально.
Проблема: я хочу, чтобы стиль цвета фона в приведенном выше классе .now-active (который вызывается только моей функцией JavaScript onClick) заменил исходный стиль (фон).цвет) текущей активной вкладки.
Это мой класс CSS для каждой вкладки:
/* Set CSS property for every button */
.tab button.all{
background-color: #fff !important;
color: #000 !important;
}
.tab button.assessment{
background-color: #616161 !important;
color: #fff !important;
}
.tab button.games{
background-color: #00bcd4 !important;
color: #000 !important;
}
.tab button.assignment{
background-color: #607d8b !important;
color: #fff !important;
}
.tab button.practice{
background-color: #009688 !important;
color: #fff !important;
}
Это CSS для активной вкладки, которая будет использоваться кодом JavaScript:
/* Create an active/current tablink class */
.tab button.now-active {
background-color: green;
}
Это мой код JavaScript для работы с Tab:
function openTab(evt, Tab) {
var i, tabcontent, tablinks;
tabcontent = document.getElementsByClassName("tabcontent");
for (i = 0; i < tabcontent.length; i++) {
tabcontent[i].style.display = "none";
}
tablinks = document.getElementsByClassName("tablinks");
for (i = 0; i < tablinks.length; i++) {
tablinks[i].className = tablinks[i].className.replace(" now-active", "");
}
var now_active = document.getElementsByClassName("now-active");
document.getElementById(Tab).style.display = "block"
evt.currentTarget.className += " now-active";
}
// Get the element with id="defaultOpen" and click on it
document.getElementById("defaultOpen").click();
И, наконец, это мой HTML:
<div class="penfs-bar hover-text tab penfs-hide-small penfs-hide-medium">
<button class="tablinks all" onclick="openTab(event, 'All')" id="defaultOpen" style="width:20%">
<p class="penfs-text-blue">View All</p>
</button>
<button class="tablinks assessment" onclick="openTab(event, 'Assessment')" style="width:20%">
<p class="penfs-text-white">Assessment</p>
</button>
<button class="tablinks games" onclick="openTab(event, 'Games')" style="width:20%">
<p class="penfs-text-white">Play Games</p>
</button>
<button class="tablinks assignment" onclick="openTab(event, 'Assignment')" style="width:20%">
<p class="penfs-text-white">Assignment</p>
</button>
<button class="tablinks practice" onclick="openTab(event, 'Practice')" style="width:20%">
<p class="penfs-text-white">Practice</p>
</button>
</div>
Методы, которые я пробовал: split (),replace (), removeClass () .. Может быть, я не правильно их использую.
Пожалуйста, помогите, как решить эту проблему?