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 相关文章推荐
jquery插件 cluetip 关键词注释
Jan 12 Javascript
基于jquery实现状态限定编辑的代码
Feb 11 Javascript
jquery数据验证插件(自制,简单,练手)实例代码
Oct 24 Javascript
jQuery aminate方法定位到页面具体位置
Dec 26 Javascript
js调用浏览器打印模块实现点击按钮触发自定义函数
Mar 21 Javascript
jQuery实现页面内锚点平滑跳转特效的方法总结
May 11 Javascript
jQuery实现强制cookie过期方法汇总
May 22 Javascript
jquery插件uploadify实现带进度条的文件批量上传
Dec 13 Javascript
Vue 去除路径中的#号
Apr 19 Javascript
elementUI select组件value值注意事项详解
May 29 Javascript
使用apifm-wxapi快速开发小程序过程详解
Aug 05 Javascript
js计时事件实现圆形时钟
Mar 25 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
Windows IIS PHP 5.2 安装与配置方法
2009/06/08 PHP
php 无限分类的树类代码
2009/12/03 PHP
php使用curl存储cookie的示例
2014/03/31 PHP
WordPress中用于更新伪静态规则的PHP代码实例讲解
2015/12/18 PHP
php插入含有特殊符号数据的处理方法
2016/11/24 PHP
PHP学习记录之常用的魔术常量详解
2019/12/12 PHP
JavaScript数组和循环详解
2015/04/27 Javascript
jQuery实现仿腾讯视频列表分页效果的方法
2015/08/07 Javascript
JavaScript代码生成PDF文件的方法
2016/02/26 Javascript
Jquery为DIV添加click事件的简单实例
2016/06/02 Javascript
Bootstrap基本组件学习笔记之按钮组(8)
2016/12/07 Javascript
js使用html2canvas实现屏幕截取的示例代码
2017/08/28 Javascript
vue生成随机验证码的示例代码
2017/09/29 Javascript
vue better-scroll插件使用详解
2018/01/25 Javascript
Vue 框架之动态绑定 css 样式实例分析
2018/11/14 Javascript
JavaScript作用域链实例详解
2019/01/21 Javascript
JS解惑之Object中的key是有序的么
2019/05/06 Javascript
详解使用uni-app开发微信小程序之登录模块
2019/05/09 Javascript
JavaScript实现简单计算器功能
2019/12/19 Javascript
[01:00:14]DOTA2官方TI8总决赛纪录片 真视界True Sight
2019/01/16 DOTA
聊聊Python中的pypy
2018/01/12 Python
Python 判断文件或目录是否存在的实例代码
2018/07/19 Python
python生成lmdb格式的文件实例
2018/11/08 Python
[机器视觉]使用python自动识别验证码详解
2019/05/16 Python
python实现大文件分割与合并
2019/07/22 Python
法国二手手袋、手表和奢侈珠宝购物网站:Collector Square
2018/07/05 全球购物
给同事的道歉信
2014/01/11 职场文书
教师党员一句话承诺
2014/03/28 职场文书
技术岗位竞聘演讲稿
2014/05/16 职场文书
增员口号大全
2014/06/18 职场文书
锦旗标语大全
2014/06/23 职场文书
长城英文导游词
2015/01/30 职场文书
积极心理学课程心得体会
2016/01/22 职场文书
2019商业计划书格式、范文
2019/04/24 职场文书
详解 TypeScript 枚举类型
2021/11/02 Javascript
python获取字符串中的email
2022/03/31 Python