当前位置: 首页 > news >正文

js选项卡

下面是一个使用双重 for 循环来创建选项卡功能的示例。我们将依然使用 HTML、CSS 和 JavaScript,但在 JavaScript 中使用双重循环来处理选项卡。

这个选项卡功能的整体思路可以分为几个步骤:

HTML 结构

创建一个包含选项卡按钮的容器(div.tabs),每个按钮使用 button 元素,并通过 data-tab 属性标识对应的内容区域。

<!DOCTYPE html>
<html lang="zh">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>双重循环选项卡示例</title><link rel="stylesheet" href="styles.css">
</head>
<body><div class="tabs"><button class="tab-button active" data-tab="tab1">选项卡 1</button><button class="tab-button" data-tab="tab2">选项卡 2</button><button class="tab-button" data-tab="tab3">选项卡 3</button></div><div class="tab-content"><div class="tab active" id="tab1">内容 1</div><div class="tab" id="tab2">内容 2</div><div class="tab" id="tab3">内容 3</div></div><script src="script.js"></script>
</body>
</html>

​​​​​​​CSS 样式

  1. 定义样式,使选项卡按钮在选中和未选中状态下的样式不同,例如设置背景颜色和文本颜色。设置内容区域的样式,确保只有当前选中的内容显示,而其他内容隐藏。
    body {font-family: Arial, sans-serif;
    }.tabs {display: flex;
    }.tab-button {padding: 10px 20px;cursor: pointer;border: none;background: #f0f0f0;margin-right: 5px;transition: background 0.3s;
    }.tab-button.active {background: #007bff;color: white;
    }.tab-content {border: 1px solid #ddd;padding: 20px;margin-top: 10px;
    }.tab {display: none;
    }.tab.active {display: block;
    }
    

    JavaScript 功能:使用 document.addEventListener 监听 DOMContentLoaded 事件,确保 DOM 完全加载后再执行脚本。

    • 选择所有按钮和内容区域,使用 querySelectorAll 获取它们的 NodeList。
    • 为每个按钮添加点击事件监听器,处理用户的点击操作。
    • 在事件处理函数中,首先通过一个循环移除所有按钮和内容的 active 类,以隐藏所有内容和重置按钮状态。
    • 然后,添加 active 类到被点击的按钮和相应的内容区域,以显示当前选中的内容。
       
document.addEventListener('DOMContentLoaded', function() {const tabButtons = document.querySelectorAll('.tab-button');const tabs = document.querySelectorAll('.tab');// 使用双重循环来管理选项卡for (let i = 0; i < tabButtons.length; i++) {tabButtons[i].addEventListener('click', function() {// 第一个循环:移除所有按钮的 active 类for (let j = 0; j < tabButtons.length; j++) {tabButtons[j].classList.remove('active');tabs[j].classList.remove('active'); // 移除所有选项卡的 active 类}// 第二个循环:添加 active 类到当前按钮和对应的选项卡tabButtons[i].classList.add('active');tabs[i].classList.add('active');});}
});

这种结构使得代码逻辑清晰,维护简单,同时通过双重循环实现了对多个选项卡的动态管理。用户体验上,当用户点击不同的选项卡时,界面能够快速响应并切换到相应的内容。


http://www.mrgr.cn/news/63138.html

相关文章:

  • 自扶正救生艇,保障水上救援的安全卫士_鼎跃安全
  • C++11之列表初始化
  • 利用智能工具快速制作思维导图
  • React常用前端框架合集
  • win10 无法连接共享打印机 错误代码0x0000011b
  • 论文 | Ignore Previous Prompt: Attack Techniques For Language Models
  • qt 如何在本地进行打包
  • 什么是矩阵的秩,矩阵的秩如何计算?
  • 多线程学习篇七:ReentrantLock
  • 一文详解精细化工行业持续增长的策略与路径解析
  • ES8388 —— 带耳机放大器的低功耗立体声音频编解码器(2)
  • 中药怎么计价?中药如何复制药方就可以快速计算出金额?
  • 【蓝队技能】【溯源反制】社会工程学
  • 校车购票微信小程序ssm+论文源码调试讲解
  • final方法可以被重载吗?
  • 在多模块应用中使用navigation不知不觉都是这么用
  • NeurIPS 2024 Oral:用 DuQuant 实现 SOTA 4bit 量化
  • 浏览器的异步行为导致多个文件下载时没有全部执行
  • 微服务基础拆分实践(第一篇)
  • 【Linux 从基础到进阶】分布式文件系统的高可用配置
  • DAYWEB69 攻防-Java 安全JWT 攻防Swagger 自动化算法签名密匙Druid 泄漏
  • 关于解决keil中出现乱码的情况处理,搜索框乱码
  • 什么是Javascript,有什么特点
  • 计算机毕业设计——ssm基于微信平台的校园汉服租赁系统的设计与实现演示录像2021微信端
  • XXXX 本地模型替换为 两家 API
  • 环境变量——用户变量和系统变量