news 2026/4/16 20:03:26

Tab选项卡

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Tab选项卡

1.选项卡由英雄联盟、DOTA、风暴英雄、300英雄四块组成; 2.未选择时,默认选中第一个标签页;3.选择某一选项后,下方跳出对应游戏的相关介绍内容。

解:1.获取元素

2.遍历<a>标签

3.绑定鼠标移入事件

(1)取消导航栏当前激活的active;(2)给鼠标移入的a 添加active

(3)内容区同上(1)(2)【添加第 i+1 个.item】

<!DOCTYPE html>

<html lang="zh-CN">

<head>

<meta charset="UTF-8">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<title>Document</title>

<style>

* {

margin: 0;

padding: 0;

}

.tab {

width: 500px;

height: 300px;

margin: 20x;

border: 1px solid black;

}

.tab-nav {

width: 100%;

height: 60px;

line-height: 60px;

display: flex;

justify-content: space-between;

}

.tab-nav ul {

list-style: none;

display: flex;

margin-left: flex-end;

}

.tab-nav ul li {

margin: 0 20px;

font-size: 14px;

}

.tab-nav ul li a {

text-decoration: none;

border-bottom: 2px solid transparent;

color: #333;

}

.tab-nav ul li a.active {

border-color: #e1251b;

color: #e1251b;

}

.tab-content {

padding: 0 16px;

}

.tab-content .item {

display: none;

}

.tab-content .item.active {

display: block;

}

</style>

</head>

<body>

<div class="tab">

<div class="tab-nav">

<ul>

<li><a class="active" href="javascript:;">英雄联盟</a></li>

<li><a href="javascript:;">DOTA</a></li>

<li><a href="javascript:;">风暴英雄</a></li>

<li><a href="javascript:;">300英雄</a></li>

</ul>

</div>

<div class="tab-content">

<div class="item active">这是一个英雄联盟游戏</div>

<div class="item">这是一个DOTA游戏</div>

<div class="item">这是一个风暴英雄游戏</div>

<div class="item">这是一个300英雄游戏</div>

</div>

</div>

<script>

// 获取元素

const as = document.querySelectorAll('.tab-nav a')

// 遍历所有<a>标签

for (let i =0; i < as.length; i++) {

// 绑定鼠标移入事件

as[i].addEventListener('mouseenter', function () {

// 取消导航栏当前激活的active(移除'active'类)

document.querySelector('.tab-nav .active').classList.remove('active')

// 给鼠标移入的a添加active

this.classList.add('active')

// 取消内容区当前激活的active(移除'active'类)

document.querySelector('.tab-content .active').classList.remove('active')

// 给内容区中第 i+1 个.item, 添加active (显示当前标签)

document.querySelector(`.tab-content .item:nth-child(${i + 1})`).classList.add('active')

})

}

</script>

</body>

</html>

第一遍复写

1.给内容区添加active,漏了一个括号【.item:nth-child(${i + 1})】(85行)

document.querySelector(`.tab-content .item:nth-child(${i + 1})`).classList.add('active')

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 16:11:05

OmenSuperHub:免费解锁惠普游戏本隐藏性能的终极指南

还在为官方Omen Gaming Hub的卡顿和功能繁杂烦恼吗&#xff1f;OmenSuperHub是一款专为惠普OMEN游戏本设计的开源硬件控制工具&#xff0c;提供纯净高效的性能管理体验&#xff0c;让你完全掌控设备性能&#xff0c;享受专注的游戏时光。 【免费下载链接】OmenSuperHub 项目…

作者头像 李华
网站建设 2026/4/16 13:34:28

V-Calendar终极指南:打造现代化Vue日历组件

还在为Vue项目中的日期处理而烦恼吗&#xff1f;从简单的日历展示到复杂的日期选择功能&#xff0c;V-Calendar日历组件都能轻松应对。这个优雅的Vue.js插件为前端开发带来了前所未有的便利&#xff0c;让日期操作变得如此简单。 【免费下载链接】v-calendar An elegant calend…

作者头像 李华
网站建设 2026/4/16 13:42:47

Gitmoji自动化终极指南:5步实现CI/CD高效集成

Gitmoji自动化终极指南&#xff1a;5步实现CI/CD高效集成 【免费下载链接】jpegview Fork of JPEGView by David Kleiner - fast and highly configurable viewer/editor for JPEG, BMP, PNG, WEBP, TGA, GIF and TIFF images with a minimal GUI. Basic on-the-fly image proc…

作者头像 李华
网站建设 2026/4/16 13:36:34

银行内部培训效率低?Anything-LLM打造智能学习平台

银行内部培训效率低&#xff1f;Anything-LLM打造智能学习平台 在银行这样的知识密集型机构里&#xff0c;一个新员工入职后要花上几周甚至一个月才能独立处理业务&#xff0c;这并不罕见。为什么&#xff1f;不是他们不够聪明&#xff0c;而是信息太散、太杂——操作手册藏在共…

作者头像 李华
网站建设 2026/4/16 13:35:42

Keil添加文件实战:工业PLC程序构建示例

Keil 添加文件实战&#xff1a;从零构建工业级 PLC 程序的模块化工程你有没有遇到过这样的场景&#xff1f;一个原本只有main.c的简单控制程序&#xff0c;随着功能不断叠加——加了 Modbus 通信、接入 CAN 总线、引入高速计数器、还要跑梯形图逻辑——代码行数突破 5000 行&am…

作者头像 李华