蓝桥杯Web练习题:【功能实现】卡片化标签页

【功能实现】卡片化标签页

背景介绍
选项卡功能在前端开发中特别常见,作为设置选项的模块,每个选项卡代表一个活动的区域,点击不同的区域,即可展现不同的内容,这样既能节约页面的空间又能提升页面性能。

本题需要在已提供的基础项目中使用 JS 完成选项卡功能的编码,最终实现切换选项卡可以显示对应内容的效果。

步骤准备
在开始答题前,你需要在线上环境终端中键入以下命令,下载并解压所提供的文件。

wget https://labfile.oss.aliyuncs.com/courses/7835/exam07-imi.zip && unzip exam07-imi.zip && rm exam07-imi.zip
copy
下载完成之后的目录结构如下:

├── css
│   └── index.css # 页面样式文件
├── imgs # 静态图片
├── index.html # 页面布局
└── js
    └── index.js # 页面功能实现的逻辑代码

源码下载后,选中 index.html 右键启动 Web Server 服务(Open with Live Server),让项目运行起来。

接着,打开环境右侧的【Web 服务】,就可以在浏览器中看到如下效果,当前显示仅有静态布局,并未实现选项卡切换功能。

初始效果图
Alt
考试要求
请在 index.js 文件中根据现有 DOM 结构(页面布局部分不能做任何修改操作)实现选项卡动态切换功能。

页面效果如下所示:

最终效果图
Alt

要求规定
请严格按照考试步骤操作,切勿修改考试默认提供项目中的文件名称、文件夹路径等。
满足题目需求后,保持 Web 服务处于可以正常访问状态,点击「提交检测」系统会自动判分。
总通过次数: 629 | 总提交次数: 679 | 通过率: 92.6%

难度: 简单 标签: Web 前端

版权声明

题解

  • 获取id为content下的所有div元素dom (获取内容)
  • 获取clss属性为.tabs下的所有div元素dom(获取所有按钮)
  • 循环添加点击事件
  • 点击事件被触发 通过 .classList 为所有元素移除 active css类
  • 点击事件被触发 通过 .classList 为点击元素添加 active css类
function init() {
  // TODO 待补充代码  

  var btns = document.querySelector(".tabs").querySelectorAll("div")
  var container = document.querySelector("#content").querySelectorAll("div")

  for(let i = 0; i<btns.length; i++) {
  
    btns[i].onclick = function () {
    
      for (let j = 0; j<btns.length; j++) {
        btns[j].classList.remove('active')
        container[j].classList.remove('active')
      }
 
      btns[i].classList.add('active')
      container[i].classList.add('active')
    }
  }
}
init();


```

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值