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再次进行了判断,代码如下:
随机推荐
- 《ElasticSearch6.x实战教程》之分词
第四章-分词 下雨天留客天留我不留 本打算先介绍"简单搜索",对ES的搜索有一个直观的感受.但在写的过程中发现分词无论如何都绕不过去.term查询,match查询都与分词息息相关, ...
- MFC开发--截图工具
近期学习了MFC的相关知识,MFC(Microsoft Foundation Classes)是微软公司提供的一个类库,可以这样简单理解,就是对于Win32的封装(MFC对windows API函数的 ...
- mongo去重统计
表名:parkUserCost id: patkId: userId: phone: costVal: 适合特定条件下,对某些字段进行去重筛选.(比如限定抢购) 第一种,使用\(first操作符.\) ...
- python之unittest框架实现接口测试实例
python之unittest框架实现接口测试实例 接口测试的方法有很多种,具体到工具有postman,jmeter,fiddler等,但是工具的局限性是测试数据的组织较差,接口的返回工具的判断有限, ...
- [剑指offer] 53. 表达数值的字符串
题目描述 请实现一个函数用来判断字符串是否表示数值(包括整数和小数).例如,字符串"+100","5e2","-123","3.1 ...
- [leetcode] 87. Scramble String (Hard)
题意: 判断两个字符串是否互为Scramble字符串,而互为Scramble字符串的定义: 字符串看作是父节点,从字符串某一处切开,生成的两个子串分别是父串的左右子树,再对切开生成的两个子串继续切开, ...
- [leetcode] #279 Perfect Squares (medium)
原题链接 题意: 给一个非整数,算出其最少可以由几个完全平方数组成(1,4,9,16……) 思路: 可以得到一个状态转移方程 dp[i] = min(dp[i], dp[i - j * j] + ) ...
- Linux 下载文件命令(wget)
wget是Linux最常用的下载命令, 一般的使用方法是: wget + 空格 + 要下载文件的url路径 例如: # wget http://www.linuxsense.org/xxxx/xxx. ...
- JDK(Windows)
百度云:链接:http://pan.baidu.com/s/1dEEsIUd 密码:15cn 官网下载网址:http://www.oracle.com/technetwork/java/jav ...
- linux初学者-数据库管理MariaDB篇
linux初学者-数据库管理MariaDB篇 MariaDB是一种数据库管理系统,是MySQL的一个分支,但是比MySQL更加优秀,可以说是MySQL的替代品.MariaDB使用的是SQL语句.下文将 ...