JavaScript实现tab栏切换效果


Posted in Javascript onMarch 16, 2020

本文实例为大家分享了JavaScript实现tab栏切换效果的具体代码,供大家参考,具体内容如下

<!DOCTYPE html>
<html lang="en">

<head>
 <meta charset="UTF-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <title>Document</title>
  <!-- css样式 -->
 <style>
  * {
   margin: 0;
   padding: 0;
  }
  .box {
   width: 600px;
   margin: 100px 500px;
   border: 1px solid #999;
  }
  li {
   list-style: none;
  }
  .tab_top {
   width: 600px;
   height: 50px;
   background-color: #ccc;
  }
  .tab_top li {
   float: left;
   width: 50px;
   height: 50px;
   line-height: 50px;
   text-align: center;
   padding: 0 20px;
  }
  .current {
   background-color: red;
   color: #fff;
  }
  .tab_con {
   width: 600px;
   height: 300px;
   background-color: #fff;
  }
  先在css里面设置下面小div全部隐藏
  .item {
   display: none
  }
 </style>
 <!-- html结构 -->
 <body>
 <div class="box">
  <div class="tab_top">
   <ul>
    <li class="current">标题一</li>
    <li>标题二</li>
    <li>标题三</li>
    <li>标题四</li>
    <li>标题五</li>
   </ul>
  </div>
  <div class="tab_con">
   <div class="item" style="display: block;"> --->此处默认第一个显示
    我是内容一<br>
    我是内容一<br>
    我是内容一<br>
    我是内容一<br>
    我是内容一<br>
   </div>
   <div class="item">
    我是内容二<br>
    我是内容二<br>
    我是内容二<br>
    我是内容二<br>
    我是内容二<br>
   </div>
   <div class="item">
    我是内容三<br>
    我是内容三<br>
    我是内容三<br>
    我是内容三<br>
    我是内容三<br>
   </div>
   <div class="item">
    我是内容四<br>
    我是内容四<br>
    我是内容四<br>
    我是内容四<br>
    我是内容四<br>
   </div>
   <div class="item">
    我是内容五<br>
    我是内容五<br>
    我是内容五<br>
    我是内容五<br>
    我是内容五<br>
    我是内容五<br>
   </div>
  </div>
 </div>
</body>

js:

<script>
 //1 上的选项卡 点击某一个 当前这一个底色是红色 其余不变 (排他思想) 修改类名的方法
 //获取元素
 //01 获取上半部分盒子
 var tab_top = document.querySelector('.tab_top');
 //02 获取上班部分 所有小li 得到一个数组
 var lis = tab_top.querySelectorAll('li');
 //03 获取下半部分 所有小div盒子 得到一个数组
 var item = document.querySelectorAll('.item')
 //for 循环所有小li 绑定点击事件
 for (var i = 0; i < lis.length; i++) {
  //开始给上面li设置索引号 属性index 值 i 
  lis[i].setAttribute('index', i);
  // 注册点击事件
  lis[i].onclick = function () {
   // 来个排他思想
   for (var j = 0; j < lis.length; j++) {
    //先让所有的li 点击没有样式
    lis[j].className = '';
   }
   // 谁点击 谁加样式
   this.className = 'current'
   //2 下面显示内容模块也要写在onclick里面 因为一一对应
   // 给上面top 所有li 添加index 索引号 属性从0开始 自定义属性

   // 上面已经设置好 现在拿来用
   var index = this.getAttribute('index');
   // 点击上面li 对应下面div显示出来
   //再来排他思想 先干掉其他人 让隐藏 点谁 谁显示
   for (var k = 0; k < item.length; k++) {
    //所有的小div 隐藏
    item[k].style.display = 'none'
   }
   //点击哪个小li 小li的index对应的div 显示
   item[index].style.display = 'block';

  }

 }

</script>

效果图:

JavaScript实现tab栏切换效果

如果大家还想深入学习,可以点击两个精彩的专题:javascript选项卡操作方法汇总 jquery选项卡操作方法汇总

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript SocialHistory 检查访问者是否访问过某站点
Aug 02 Javascript
Javascript 汉字字节判断
Aug 01 Javascript
中文路径导致unitpngfix.js不正常的解决方法
Jun 26 Javascript
jqGrid日期格式的判断示例代码(开始日期与结束日期)
Nov 08 Javascript
举例讲解Node.js中的Writable对象
Jul 29 Javascript
如何理解Vue的render函数的具体用法
Aug 30 Javascript
基于vue打包后字体和图片资源失效问题的解决方法
Mar 06 Javascript
vue+springboot实现项目的CORS跨域请求
Sep 05 Javascript
说说Vuex的getters属性的具体用法
Apr 15 Javascript
微信小程序关键字变色实现代码实例
Dec 13 Javascript
在pycharm中开发vue的方法步骤
Mar 04 Javascript
纯JS开发baguetteBox.js响应式画廊插件
Jun 28 Javascript
vue-cli3使用mock数据的方法分析
Mar 16 #Javascript
vue-cli3.0实现一个多页面应用的历奇经历记录总结
Mar 16 #Javascript
vue从零实现一个消息通知组件的方法详解
Mar 16 #Javascript
JavaScript实现动态留言板
Mar 16 #Javascript
vue中的双向数据绑定原理与常见操作技巧详解
Mar 16 #Javascript
js+canvas实现纸牌游戏
Mar 16 #Javascript
微信小程序利用button控制条件标签的变量问题
Mar 15 #Javascript
You might like
十天学会php之第六天
2006/10/09 PHP
PHP+Ajax实现验证码的实时验证
2016/07/20 PHP
基于ThinkPHP5.0实现图片上传插件
2017/09/25 PHP
return false,对阻止事件默认动作的一些测试代码
2010/11/17 Javascript
Juqery Html(),append()等方法的Bug解决方法
2010/12/13 Javascript
Javascript 遮罩层和加载效果代码
2013/08/01 Javascript
javascript客户端遍历控件与获取父容器对象示例代码
2014/01/06 Javascript
js实现正方形颜色从下往上升的效果
2014/08/04 Javascript
JavaScript学习笔记之数组去重
2016/03/23 Javascript
用jQuery实现优酷首页轮播图
2017/01/09 Javascript
jQuery Pagination分页插件使用方法详解
2017/02/28 Javascript
用户管理的设计_jquery的ajax实现二级联动效果
2017/07/13 jQuery
Javascript中Promise的四种常用方法总结
2017/07/14 Javascript
用vue构建多页面应用的示例代码
2017/09/20 Javascript
微信小程序地图绘制线段并且测量(实例代码)
2020/01/02 Javascript
jQuery 判断元素是否存在然后按需加载内容的实现代码
2020/01/16 jQuery
Python2与python3中 for 循环语句基础与实例分析
2017/11/20 Python
简单的python协同过滤程序实例代码
2018/01/31 Python
用Python实现筛选文件脚本的方法
2018/10/27 Python
Django框架HttpRequest对象用法实例分析
2019/11/01 Python
解决tensorflow读取本地MNITS_data失败的原因
2020/06/22 Python
.img/.hdr格式转.nii格式的操作
2020/07/01 Python
Python持续监听文件变化代码实例
2020/07/22 Python
python opencv pytesseract 验证码识别的实现
2020/08/28 Python
amazeui页面校验功能的实现代码
2020/08/24 HTML / CSS
Mankind美国/加拿大:英国领先的男士美容护发用品公司
2018/12/05 全球购物
澳大利亚在线批发商:Simply Wholesale
2021/02/24 全球购物
50岁生日感言
2014/01/23 职场文书
节约用水演讲稿
2014/05/21 职场文书
揭牌仪式策划方案
2014/05/28 职场文书
政治学求职信
2014/06/03 职场文书
pytorch 如何使用float64训练
2021/05/24 Python
详细介绍python类及类的用法
2021/05/31 Python
java多态注意项小结
2021/10/16 Java/Android
漫画「日和酱的要求是绝对的」第3卷封面公开
2022/03/21 日漫
SpringBoot2零基础到精通之异常处理与web原生组件注入
2022/03/22 Java/Android