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 相关文章推荐
js实现的真正的iframe高度自适应(兼容IE,FF,Opera)
Mar 07 Javascript
javaScript 计算两个日期的天数相差(示例代码)
Dec 27 Javascript
Javascript学习笔记之 对象篇(一) : 对象的使用和属性
Jun 24 Javascript
js基础知识(公有方法、私有方法、特权方法)
Nov 06 Javascript
JQuery datepicker 用法详解
Dec 25 Javascript
Node.js配合node-http-proxy解决本地开发ajax跨域问题
Aug 31 Javascript
微信小程序 request接口的封装实例代码
Apr 26 Javascript
微信小程序 navbar实例详解
May 11 Javascript
jQuery位置选择器用法实例分析
Jun 28 jQuery
浅入深出Vue之组件使用
Jul 11 Javascript
详解JWT token心得与使用实例
Aug 02 Javascript
vue前端和Django后端如何查询一定时间段内的数据
Feb 28 Vue.js
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的开发框架的现状和展望
2007/03/16 PHP
PHP utf-8编码问题,utf8编码,数据库乱码,页面显示输出乱码
2013/04/08 PHP
PHP开发框架Laravel数据库操作方法总结
2014/09/03 PHP
php生成图片验证码
2015/06/09 PHP
通过修改Laravel Auth使用salt和password进行认证用户详解
2017/08/17 PHP
php实现的支付宝网页支付功能示例【基于TP5框架】
2019/09/16 PHP
php实现根据身份证获取精准年龄
2020/02/26 PHP
tp5.1框架数据库子查询操作实例分析
2020/05/26 PHP
javascript 有用的脚本函数
2009/05/07 Javascript
利用jQuery接受和处理xml数据的代码(.net)
2011/03/28 Javascript
A标签触发onclick事件而不跳转的多种解决方法
2013/06/27 Javascript
javascript放大镜效果的简单实现
2013/12/09 Javascript
JavaScript 开发工具webstrom使用指南
2014/12/09 Javascript
JavaScript设计模式之工厂模式和构造器模式
2015/02/11 Javascript
JS实现的Select三级下拉菜单代码
2015/08/20 Javascript
AngularJS入门教程之Scope(作用域)
2016/07/27 Javascript
AngularJS教程 ng-style 指令简单示例
2016/08/03 Javascript
JavaScript中关于iframe滚动条的去除和保留
2016/11/17 Javascript
AngularJS使用ng-repeat和ng-if实现数据的删选显示效果示例【适用于表单数据的显示】
2016/12/13 Javascript
JS实现的二叉树算法完整实例
2017/04/06 Javascript
node.js平台下利用cookie实现记住密码登陆(Express+Ejs+Mysql)
2017/04/26 Javascript
js排序与重组的实例讲解
2017/08/28 Javascript
vue mounted 调用两次的完美解决办法
2018/10/29 Javascript
深入浅出vue图片路径的实现
2019/09/04 Javascript
原生js实现自定义滚动条组件
2021/01/20 Javascript
[04:10]2018年度CS GO玩家最喜爱的主播-完美盛典
2018/12/16 DOTA
Django框架下在视图中使用模版的方法
2015/07/16 Python
Python3实现Web网页图片下载
2016/01/28 Python
浅谈Python采集网页时正则表达式匹配换行符的问题
2018/12/20 Python
Python3内置模块之base64编解码方法详解
2019/07/13 Python
tensorflow -gpu安装方法(不用自己装cuda,cdnn)
2020/01/20 Python
CSS3 Media Queries详细介绍和使用实例
2014/05/08 HTML / CSS
Html5 new XMLHttpRequest()监听附件上传进度
2021/01/14 HTML / CSS
商业用房租赁协议书
2014/10/13 职场文书
中学感恩教育活动总结
2015/05/05 职场文书
python开发的自动化运维工具ansible详解
2021/08/07 Python