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实现的UBB编码函数
Mar 09 Javascript
javascript 广告后加载,加载完页面再加载广告
Nov 25 Javascript
Chrome中JSON.parse的特殊实现
Jan 12 Javascript
jQuery获取节点和子节点文本的方法
Jul 22 Javascript
Javascript获取CSS伪元素属性的实现代码
Sep 28 Javascript
javascript数组详解
Oct 22 Javascript
超级给力的JavaScript的React框架入门教程
Jul 02 Javascript
在IE8上JS实现combobox支持拼音检索功能
May 23 Javascript
Bootstrap 折叠(Collapse)插件用法实例详解
Jun 01 Javascript
SelecT下拉框选中和取值的解决方法
Nov 22 Javascript
Bootstrap轮播图的使用和理解4
Dec 14 Javascript
Vue.js双向绑定实现原理详解
Dec 22 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
不用数据库的多用户文件自由上传投票系统(3)
2006/10/09 PHP
thinkphp模板输出技巧汇总
2014/11/24 PHP
php实现parent调用父类的构造方法与被覆写的方法
2015/02/11 PHP
PHP抽象类基本用法示例
2018/12/28 PHP
javascript 匿名函数的理解(透彻版)
2010/01/28 Javascript
基于jquery的返回顶部效果(兼容IE6)
2011/01/17 Javascript
JavaScript常用对象的方法和属性小结
2012/01/24 Javascript
js查找某元素中的所有图片地址的方法
2014/01/16 Javascript
深入理解JavaScript编程中的同步与异步机制
2015/06/24 Javascript
创建自己的jquery表格插件
2015/11/25 Javascript
JS折半插入排序算法实例
2015/12/02 Javascript
Jquery组件easyUi实现手风琴(折叠面板)示例
2016/08/23 Javascript
AngularJS实现星星等级评分功能
2016/09/24 Javascript
js嵌套的数组扁平化:将多维数组变成一维数组以及push()与concat()区别的讲解
2019/01/19 Javascript
JavaScript中构造函数与原型链之间的关系详解
2019/02/25 Javascript
layer.open 获取不到表单信息的解决方法
2019/09/26 Javascript
vue 解决computed修改data数据的问题
2019/11/06 Javascript
详解PyTorch批训练及优化器比较
2018/04/28 Python
对Python 语音识别框架详解
2018/12/24 Python
Python使用pandas和xlsxwriter读写xlsx文件的方法示例
2019/04/09 Python
详解Python sys.argv使用方法
2019/05/10 Python
更新pip3与pyttsx3文字语音转换的实现方法
2019/08/08 Python
pygame实现俄罗斯方块游戏(对战篇1)
2019/10/29 Python
Python numpy线性代数用法实例解析
2019/11/15 Python
Python监控服务器实用工具psutil使用解析
2019/12/19 Python
From CSV to SQLite3 by python 导入csv到sqlite实例
2020/02/14 Python
基于python和flask实现http接口过程解析
2020/06/15 Python
用 python 进行微信好友信息分析
2020/11/28 Python
C++面试题目
2013/06/25 面试题
会计实习生自我鉴定
2013/12/12 职场文书
导游个人求职信
2014/04/25 职场文书
12.4法制宣传日标语
2014/10/08 职场文书
中学生的1000字检讨书
2014/10/11 职场文书
人代会简报
2015/07/21 职场文书
《唯一的听众》教学反思
2016/02/18 职场文书
Python-OpenCV教程之图像的位运算详解
2021/06/21 Python