tab栏切换制作
tab栏切换制作
先上图

要求1:默认状态,第一个选项卡被选中,展示第一个选项卡的内容
策略:第一个选项卡默认有被选中的样式,第一个选项卡对应的display: block,其他的dispaly设为none
要求2: 选项卡模块:被点击的变为红底白字,其他的变为白底红字
策略:排他思想,每次点击一个选项卡时,先把其他选项卡设为默认样式,然后自己设为被选中的样式。这里我们先在style里面设置一个新的class,把这个样式给被选中的选项卡。
要求3:每点击某个选中卡,出现对应的模块内容,点击第一个li,展示第一个div,点击第几个li,展示第几个div......,如何知道选中了第几个li呢?
策略:利用for循环,给每个li设置一个自定义属性,每点击这个li,得到该liindex的属性的值
代码部分:
<body>
<div class="con">
<div class="tab_list">
<ul>
<!-- 第一个默认被选中 -->
<li class="tabChange">商品介绍</li>
<li>规格与包装</li>
<li>售后保障</li>
<li>商品评价</li>
</ul>
</div>
<div class="tab_containt">
<div style="display: block">商品介绍模块</div>
<div>规格与包装模块</div>
<div>售后保障模块</div>
<div>商品评价模块</div>
</div>
</div>
样式:
<style>
* {
padding:;
margin:;
} .con {
width: 70%;
margin: 50px auto;
} .tab_list {
border-bottom: 1px solid red;
height: 60px;
} .tab_list ul {} .tab_list ul li {
list-style: none;
margin-right: 10px;
width: 23%;
height: 60px;
line-height: 60px;
color: red;
float: left;
text-align: center;
cursor: pointer;
} .tab_containt div {
display: none;
} .tab_list ul .tabChange {
color: aliceblue;
background-color: red;
}
js部分:
<script>
// 切换选项卡时选项卡模块:被点击的变为红底白字,其他的变为白底红字,所以要用到排他思想
var lis = document.querySelector(".tab_list").querySelectorAll("li");
var items = document.querySelector(".tab_containt").querySelectorAll("div");
//console.log(items); //console.log(lis);
//给所有的li注册点击事件
for (var i = 0; i < lis.length; i++) {
// 点击第一个li,展示第一个div,点击第几个li,展示第几个div......this
// 那么我们如何知道点击了第几个li呢?思路:给li设置一个自定义属性,那么如何给5个li都设置带有编号的index呢,当然用for循环啦
lis[i].setAttribute("index", i);
lis[i].onclick = function() {
//console.log("dianij");
//排他
for (var i = 0; i < lis.length; i++) {
lis[i].className = "";
}
//成就自己
this.className = "tabChange";
//得到选项卡的index属性值
var index = this.getAttribute("index");
//console.log(index); //先排他思想,清除其他的内容显示第index个div的内容
for (var i = 0; i < items.length; i++) {
items[i].style.display = "none";
}
//使第index个盒子的内容显示
items[index].style.display = "block"; }
}
</script>
tab栏切换制作的更多相关文章
- jQuery带有定时器的tab栏切换
现在网上很多类似选项卡的切换,我们成为tab栏切换,比如下图: 新浪的tab栏切换 淘宝的tab栏切换 其中,新浪的tab栏鼠标放上去,可以快速的来回切换,但是如果采取ajax异步传输,不停去加载服务 ...
- dataTable tab栏切换时错位解决办法
做后台管理类网站肯定要写列表,首选dataTable,功能强大 最近在做一个tab栏切换时发现了一个很诡异的事情:表头错位了! 主要时因为当table被隐藏后,table的header宽度会计算错乱, ...
- tab栏切换
最简单的tab栏切换 html部分 <ul class="tab"> <li class="item">待支付(1)</li> ...
- ES6面向对象实现tab栏切换效果
面向对象实现tab栏切换效果
- JS实现 Tab栏切换案例
要求:当鼠标点击上面相应的选项卡(tab),下面页面的内容也随之而改变. 结构分析: 全部的内容都放到一个大的盒子里面,盒子里面又可以分为上面和下面两个盒子. 上面的盒子放了 5个li,装着5个小的选 ...
- tab栏切换的特殊效果
在实际的开发过程中,我们可能会遇到这种需求,如下图 左边是三个tab栏,右边是显示内容的div,当鼠标滑到坐标的tab上时,给它一个高亮显示,让它对应的内容在右边的div中显示出来,当鼠标移出的时候把 ...
- JavaScript实现Tab栏切换
本文最初发表于博客园,并在GitHub上持续更新前端的系列文章.欢迎在GitHub上关注我,一起入门和进阶前端. 以下是正文. 京东网页上,可以看到下面这种tab栏的切换: 我们把模型抽象出来,实现一 ...
- [javascript]switchTab:仿腾讯首页Tab栏切换js插件
腾讯首页的每个新闻栏目都是一个tab选项卡切换,属于延迟动作的:鼠标hover上去之后200毫秒才会切换,防止了因为浏览滑动导致的页面上选项卡的频繁切换.仿照这样的效果,自己写了一个js插件,实现了低 ...
- 如何解决tab栏切换只发一次请求的问题
用的antd的tab栏组件,发现切换tab栏只在componentDidMount里面发了一次请求,后来发现是缓存问题,于是用activeKey再次进行了判断,代码如下:
随机推荐
- spring boot 整合lombok+tkmapper+mybatis-generator
1.lombok <dependency> <groupId>org.projectlombok</groupId> <artifactId& ...
- 洛谷P4304 [TJOI2013]攻击装置 题解
题目链接: https://www.luogu.org/problemnew/show/P4304 分析: 最大独立集 最大独立集=总点数-最大匹配数 独立集:点集,图中选一堆点,这堆点两两之间没有连 ...
- GIL与异步回调
07.07自我总结 一.GIL 1.概念 在CPython中,这个全局解释器锁,也称为GIL,是一个互斥锁 2.带来的问题 首先必须明确执行一个py文件,分为三个步骤 从硬盘加载Python解释器到内 ...
- 找bug的过程
关于昨天程序出差我找bug的过程记录 昨天才程序 https://www.cnblogs.com/pythonywy/p/11006273.html ├── xxxx │ ├── src.py │ └ ...
- SSM 框架集成
1.SSM是什么? SSM是指目前最主流的项目架构的三大框架: SpringMVC : spring的 Web层框架,是spring的一个模块 Spring :容器框架 MyBatis :持久层框架 ...
- hdu6396 Swordsman(贪心)
Swordsman 题目传送门 解题思路 先将每种属性排序,因为打倒怪兽会使属性增强,所以肯定是能打就打,用cnt[i]记录怪兽i已经被超过的属性数量,如果被超过的属性数为k了,则打倒此怪兽,将获得的 ...
- Java用户程序
Java的用户程序分为两类:Java Application和Java Applet. 这两类程序在程序结构和执行机制上有一定的差异. Java Application是完整的程序,需要独立的Java ...
- linux初学者-CIFS网络文件系统篇
linux初学者-CIFS网络文件系统篇 CIFS是一种通用网络文件系统,主要用于网络设备之间的文件共享.CIFS可以在linux系统和windows系统之间共享文件,因此这种文件系统主要用于客户端是 ...
- nodejs 如何自动化配置环境参数
应用场景: 最近用 node 重构了网站的项目,部署到测试环境的时候测试一切正常. 直到有一天,运维把代码上线到内测环境的时候...... 突然发现:内测环境和测试环境竟然是同一台服务器,只不过是把代 ...
- Reporting报表开发知识合并[个人原创]
[个人原创] ,转发请声明原文链接 了解 a) SSRS全称 SQL Server Reporting Services,是依赖于数据库运行的,是微软开发的重量级别的BI产品 b) ...