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(jquery)利用函数修改全局变量的代码
Nov 02 Javascript
Jquery实现三层遍历删除功能代码
Apr 23 Javascript
点击按钮或链接不跳转只刷新页面的脚本整理
Oct 22 Javascript
js控制input输入字符解析
Dec 27 Javascript
js关于命名空间的函数实例
Feb 05 Javascript
基于javascript简单实现对身份证校验
Jan 25 Javascript
JavaScript实现图片自动加载的瀑布流效果
Apr 11 Javascript
Node.js设置CORS跨域请求中多域名白名单的方法
Mar 28 Javascript
移动端触摸滑动插件swiper使用方法详解
Aug 11 Javascript
纯js实现无缝滚动功能代码实例
Feb 21 Javascript
AngularJs的$http发送POST请求,php无法接收Post的数据问题及解决方案
Aug 13 Javascript
vue中defineProperty和Proxy的区别详解
Nov 30 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
ASP知识讲座四
2006/10/09 PHP
我的论坛源代码(七)
2006/10/09 PHP
phpwind中的数据库操作类
2007/01/02 PHP
ThinkPHP模板中数组循环实例
2014/10/30 PHP
php浏览历史记录的方法
2015/03/10 PHP
PHP中__autoload和Smarty冲突的简单解决方法
2016/04/08 PHP
PHP性能优化大全(php.ini)
2016/05/20 PHP
PHP代码重构方法漫谈
2018/04/17 PHP
jquery分页对象使用示例
2014/04/01 Javascript
js实现点击链接后延迟3秒再跳转的方法
2015/06/05 Javascript
JS+CSS实现简易的滑动门效果代码
2015/09/24 Javascript
jQuery插件实现带圆点的焦点图片轮播切换
2016/01/18 Javascript
分享javascript、jquery实用代码段
2016/10/20 Javascript
清除输入框内的空格
2016/12/21 Javascript
JavaScript纯色二维码变成彩色二维码
2020/07/23 Javascript
基于jQuery Easyui实现登陆框界面
2017/07/10 jQuery
vue2.0路由切换后页面滚动位置不变BUG的解决方法
2018/03/14 Javascript
vue2.0获取鼠标位置的方法
2018/09/13 Javascript
详解Vue组件之间通信的七种方式
2019/04/14 Javascript
在vue中使用axios实现post方式获取二进制流下载文件(实例代码)
2019/12/16 Javascript
关于element-ui表单中限制输入纯数字的解决方式
2020/09/08 Javascript
three.js显示中文字体与tween应用详析
2021/01/04 Javascript
Python写的PHPMyAdmin暴力破解工具代码
2014/08/06 Python
python读取oracle函数返回值
2016/07/18 Python
Python基于回溯法子集树模板解决全排列问题示例
2017/09/07 Python
python list删除元素时要注意的坑点分享
2018/04/18 Python
django的ORM操作 增加和查询
2019/07/26 Python
python录音并调用百度语音识别接口的示例
2020/12/01 Python
Matlab使用Plot函数实现数据动态显示方法总结
2021/02/25 Python
详解基于 Canvas 手撸一个六边形能力图
2019/09/02 HTML / CSS
海蓝之谜(LA MER)澳大利亚官方商城:全球高端奢华护肤品牌
2017/10/27 全球购物
对于没有初始化的变量的初始值可以作怎样的假定
2014/10/12 面试题
介绍一下Ruby中的对象,属性和方法
2012/07/11 面试题
2014年幼儿园重阳节活动方案
2014/09/16 职场文书
总结Python常用的魔法方法
2021/05/25 Python
教你使用TensorFlow2识别验证码
2021/06/11 Python