javascript - 如何使选项卡中的事件按钮具有 "active"类?

标签 javascript css html tabs

我需要你的帮助。

我必须根据事件的选项卡在按钮中添加“事件”类(我是 javascript 的新手)我使用的是纯 javascript。

HTML:

<button class="buttonTab" id="tab1" onClick="JavaScript:selectTab(1);">Tab 1</button>
<button class="buttonTab" id="tab2" onClick="JavaScript:selectTab(2);">Tab 2</button>

<br />

<div class="contentTab" id="tab1Content" style="display: block;">
     This is the content.
</div>
<div class="contentTab" id="tab2Content" style="display: none;">
     This is the content2.
</div>

CSS:

.buttonTab {
   color: #FFFFFF;
   background-color: #333333;
}
.buttonTab.active {
   color: #333333;
   background-color: #FFFFFF;
}

JavaScript:

function selectTab(tabIndex) {
//Hide All Tabs
document.getElementById('tab1Content').style.display="none";
document.getElementById('tab2Content').style.display="none";

//Show the Selected Tab
document.getElementById('tab' + tabIndex + 'Content').style.display="block";  
}

我希望你能帮助我,谢谢。

最佳答案

您可以向元素的 classList 添加/删除类。

function selectTab(tabIndex) {
//Hide All Tabs
document.getElementById('tab1Content').style.display="none";
document.getElementById('tab2Content').style.display="none";

//Show the Selected Tab
document.getElementById('tab' + tabIndex + 'Content').style.display="block";  
if(tabIndex==1){
document.getElementById('tab' + 2 ).classList.remove("active");
}
else if(tabIndex==2){
document.getElementById('tab' + 1 ).classList.remove("active");
}
document.getElementById('tab' + tabIndex ).classList.add("active");
}
.buttonTab {
   color: #FFFFFF;
   background-color: #333333;
}
.buttonTab.active {
   color: #333333;
   background-color: #FFFFFF;
}
<button class="buttonTab" id="tab1" onClick="JavaScript:selectTab(1);">Tab 1</button>
<button class="buttonTab" id="tab2" onClick="JavaScript:selectTab(2);">Tab 2</button>

<br />

<div class="contentTab" id="tab1Content" style="display: block;">
     This is the content.
</div>
<div class="contentTab" id="tab2Content" style="display: none;">
     This is the content2.
</div>

关于javascript - 如何使选项卡中的事件按钮具有 "active"类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52684650/

相关文章:

html - CSS 问题 : Sentences do not start from the same starting point

javascript - 当我想要一个字符串时用于响应的 Html

javascript - 在 javascript 中加载 <div>

javascript - 如何将位置从固定位置更改为绝对位置并且不让 div 跳转

使用辅助标签取消选中原始输入时,使用 "input:checked"的 CSS 导航不会触发内部链接 href

javascript - 发生滚动后,如何使 div(菜单)固定位置?

html - Div定位和 float 选项

javascript - 通过键入区分大小写问题来缩小结果范围

javascript - 在javascript中划分用户输入的数据

jquery - 具有响应式表格宽度的 HTML 表格固定标题