JavaScript tab选项卡切换

devtools/2024/11/14 20:54:32/

下面是一个简单的JavaScript代码示例,展示如何使用tab选项卡来切换内容。

HTML代码:

<div class="tab"><button class="tablinks" onclick="openTab(event, 'tab1')">选项卡1</button><button class="tablinks" onclick="openTab(event, 'tab2')">选项卡2</button><button class="tablinks" onclick="openTab(event, 'tab3')">选项卡3</button>
</div><div id="tab1" class="tabcontent"><h3>选项卡1</h3><p>这是选项卡1的内容。</p>
</div><div id="tab2" class="tabcontent"><h3>选项卡2</h3><p>这是选项卡2的内容。</p>
</div><div id="tab3" class="tabcontent"><h3>选项卡3</h3><p>这是选项卡3的内容。</p>
</div>

CSS代码:

/* 隐藏tab内容 */
.tabcontent {display: none;
}/* 样式化选项卡按钮 */
.tab button {background-color: #f2f2f2;border: none;color: black;padding: 10px 20px;cursor: pointer;
}/* 设置激活的选项卡按钮样式 */
.tab button.active {background-color: #ccc;
}/* 设置选项卡内容的边距 */
.tabcontent {padding: 20px;
}

JavaScript代码:

javascript">// 默认打开第一个选项卡
document.getElementById('tab1').style.display = 'block';function openTab(evt, tabName) {// 获取所有选项卡内容元素var tabcontent = document.getElementsByClassName('tabcontent');// 隐藏所有选项卡内容for (var i = 0; i < tabcontent.length; i++) {tabcontent[i].style.display = 'none';}// 获取所有选项卡按钮元素var tablinks = document.getElementsByClassName('tablinks');// 移除所有选项卡按钮的激活状态for (var i = 0; i < tablinks.length; i++) {tablinks[i].className = tablinks[i].className.replace(' active', '');}// 显示当前选项卡内容document.getElementById(tabName).style.display = 'block';// 添加激活状态到当前选项卡按钮evt.currentTarget.className += ' active';
}

此示例中,我们使用了一个openTab函数来处理选项卡按钮的点击事件。函数首先隐藏了所有选项卡内容,然后显示当前选项卡的内容。同时,它还在当前选项卡按钮上添加了一个active类来标记激活状态。


http://www.ppmy.cn/devtools/43892.html

相关文章

Flutter 中的 Flow 小部件:全面指南

Flutter 中的 Flow 小部件&#xff1a;全面指南 Flutter 的 Flow 是一个功能强大的布局小部件&#xff0c;它允许开发者在父组件的任意位置放置子组件。Flow 可以通过使用 FlowDelegate 完全自定义子组件的布局&#xff0c;这为创建复杂的自定义布局提供了极大的灵活性。本文将…

VUE3 学习笔记(9):VUE 插槽的概念、基本应用、传值

在调用子组件时&#xff0c;我们希望把父组件的HTML传给子组件&#xff0c;那么在引用子组件内部进行定义&#xff0c;然后子组件通过slot标签进行接收 基本示例 父 app.vue <!--内容控制--> <template><test><div><p>{{name}}</p><p…

PIC单片机控制小型三相无刷直流电机

1、使用PIC12F629小型三相无刷直流电机制作电动口罩&#xff0c;涉及到电机的驱动芯片的选型&#xff0c;这里选用国产的MS39549驱动芯片&#xff1b; 2、搭建的电路图如下&#xff1a; 3、单片机给MS39549驱动芯片发送PWM占空比信号&#xff0c;即可实现对电机的转速控制&…

力扣HOT100 - 287. 寻找重复数

解题思路&#xff1a; 快慢指针 第一步&#xff0c;慢指针每次移动一步&#xff0c;快指针每次移动两步&#xff0c;直到它们相遇。这一步保证了它们在环中相遇。 接下来&#xff0c;将其中一个指针&#xff08;快指针或慢指针&#xff09;重置到起点&#xff08;即数组的第一…

vue组件的基本使用方法

组件 【1】组件是什么&#xff1f; 组件就是&#xff1a;扩展 HTML 元素&#xff0c;封装可重用的代码&#xff0c;目的是复用例如&#xff1a;有一个轮播图&#xff0c;可以在很多页面中使用&#xff0c;一个轮播有js&#xff0c;css&#xff0c;html组件把js&#xff0c;cs…

【全开源】CMS内容管理系统源码(ThinkPHP+FastAdmin)

基于ThinkPHPFastAdmin的CMS内容管理系统&#xff0c;自定义内容模型、自定义单页、自定义表单、专题、统计报表、会员发布等 提供全部前后台无加密源代码和数据库私有化部署&#xff0c;UniAPP版本提供全部无加密UniAPP源码。 ​构建高效内容管理的基石 一、引言&#xff1a…

mysql仿照find_in_set写了一个replace_in_set函数,英文逗号拼接字符串指定替换

开发中使用mysql5.7版本数据库&#xff0c;对于英文逗号拼接的字符串&#xff0c;想要替换其中指定的字符串&#xff0c;找不到数据库函数支持&#xff0c;自己写了一个&#xff0c;实测好用&#xff01; /*类似find_in_set,按英文逗号拆分字段,找出指定的旧字符串,替换成新字…

Java 读取 xml 文件的五种方式

在编写与 XML 数据交互的现代软件应用时&#xff0c;有效地读取和解析 XML 文件是至关重要的。XML&#xff08;可扩展标记语言&#xff09;因其灵活性和自我描述性&#xff0c;已成为数据存储和传输的一种普遍格式。对于 Java 开发者来说&#xff0c;Java 提供了多种工具和库来…