当前位置:网站首页>Web APIs 综合案例-Tab栏切换 丨黑马程序员
Web APIs 综合案例-Tab栏切换 丨黑马程序员
2022-06-30 20:10:00 【黑马程序员官方】
学过了以上内容,今天我们来做一个综合的案例:Tab栏切换

分析:
html代码:
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8" />
<title></title>
<style type="text/css">
* {
margin: 0;
padding: 0;
}
ul {
list-style: none;
}
.wrapper {
width: 1000px;
height: 475px;
margin: 0 auto;
margin-top: 100px;
}
.tab {
border: 1px solid #ddd;
border-bottom: 0;
height: 36px;
width: 320px;
}
.tab li {
position: relative;
float: left;
width: 80px;
height: 34px;
line-height: 34px;
text-align: center;
cursor: pointer;
border-top: 4px solid #fff;
}
.tab span {
position: absolute;
right: 0;
top: 10px;
background: #ddd;
width: 1px;
height: 14px;
overflow: hidden;
}
.products {
width: 1002px;
border: 1px solid #ddd;
height: 476px;
}
.products .main {
float: left;
display: none;
}
.products .main.active {
display: block;
}
.tab li.active {
border-color: red;
border-bottom: 0;
}
</style>
</head>
<body>
<div class="wrapper">
<ul class="tab">
<li class="tab-item active">国际大牌<span>◆</span></li>
<li class="tab-item">国妆名牌<span>◆</span></li>
<li class="tab-item">清洁用品<span>◆</span></li>
<li class="tab-item">男士精品</li>
</ul>
<div class="products">
<div class="main active">
<a href="###"><img src="imgs/guojidapai.jpg" alt="" /></a>
</div>
<div class="main">
<a href="###"><img src="imgs/guozhuangmingpin.jpg" alt="" /></a>
</div>
<div class="main">
<a href="###"><img src="imgs/qingjieyongpin.jpg" alt="" /></a>
</div>
<div class="main">
<a href="###"><img src="imgs/nanshijingpin.jpg" alt="" /></a>
</div>
</div>
</div>
<script>
// 0. 获取元素
// 得到所有的小li
let lis = document.querySelectorAll('.tab .tab-item')
let divs = document.querySelectorAll('.products .main')
// 1. 头部tab栏切换模块
// 1.1 先给4个小li添加点击事件
for (let i = 0; i < lis.length; i++) {
lis[i].addEventListener('click', function () {
// console.log(11)
// 找到以前的active 类,移除掉
document.querySelector('.tab .active').classList.remove('active')
// 当前的元素添加
this.classList.add('active')
// 2. 底部显示隐藏模块 一定要写到点击事件的里面
document.querySelector('.products .active').classList.remove('active')
// div对应序号的那个加上active
divs[i].classList.add('active')
})
}
</script>
</body>
</html>素材图片:



你做的怎么样呢?评论去可以告诉我哦~~
黑马前端专栏干货多多,关注再学,好方便~
2022年前端学习路线图:课程、源码、笔记,技术栈 另外此线路图实时更新!需要课后资料的友友们,可以直接告诉我。

边栏推荐
- Lumiprobe cell biology - dia, instructions for lipophilic tracer
- Lumiprobe 改性三磷酸盐丨生物素-11-UTP研究
- 动态样式绑定--style 和 class
- QT QStringList用法
- Lingyun going to sea | 10 leap &huawei cloud: jointly helping Africa with inclusive financial services
- Go language identifier and package name specification
- NLP skill tree learning route - (I) route overview
- Lambda expression principle analysis and learning (June 23, 2022)
- To eliminate bugs, developers must know several bug exploration and testing artifacts.
- Implementation principle of PostgreSQL heap table storage engine
猜你喜欢

Implementation principle of PostgreSQL heap table storage engine

Build your own website (20)
![Jerry's touch key recognition process [chapter]](/img/3e/bb73c735d0a7c7a26989c65a432dad.png)
Jerry's touch key recognition process [chapter]

Lumiprobe染料 NHS 酯丨BDP FL NHS 酯研究

以全栈全功能解决方案,应对多样工具复杂环境DevOps落地难题

NLP skill tree learning route - (I) route overview

Jenkins can't pull the latest jar package

AVL平衡二叉树(一) - 概念与C语言实现

哈夫曼樹(一)基本概念與C語言實現

杰理之触摸按键识别流程【篇】
随机推荐
第299场
GeoServer installation
北京大学ACM Problems 1004:Financial Management
基于开源流批一体数据同步引擎ChunJun数据还原—DDL解析模块的实战分享
Wechat applet development practice cloud music
Build your own website (20)
Installation and use of securecrtportable
25: Chapter 3: developing pass service: 8: [registration / login] interface: receiving and verifying "mobile number and verification code" parameters; (it is important to know the application scenario
Description of the latest RTSP address rules for Hikvision camera, NVR, streaming media server, playback and streaming [easy to understand]
Jerry's touch key recognition process [chapter]
NLP paper lead reading | what about the degradation of text generation model? Simctg tells you the answer
BioVendor sRAGE Elisa试剂盒测试原理和注意事项
Heartbeat 与DRBD 配置过程
Summary of PHP file upload (garbled code, move failure, permission, display picture)
DEX file parsing - Method_ IDS resolution
Jerry's long press reset [chapter]
Introduction to neural network (Part 1)
哈夫曼树(一)基本概念与C语言实现
Lumiprobe无铜点击化学解决方案
Lingyun going to sea | 10 leap &huawei cloud: jointly helping Africa with inclusive financial services