JavaScript实现Tab选项卡切换


Posted in Javascript onFebruary 13, 2020

本文实例为大家分享了js实现选项卡切换的具体代码,供大家参考,具体内容如下

会用到原生js的dom操作

JavaScript实现Tab选项卡切换

html

<body>
 <div id="tab">
 <div id="tab_header">
  <ul>
  <li class="seclect">1</li>
  <li>2</li>
  <li>3</li>
  <li>4</li>
  <li>5</li>
  </ul>
 </div>
 <div id="tab_body">
  <div class="dom" style="display: block;">
  <ul>
   <li>1</li>
   <li>1</li>
   <li>1</li>
   <li>1</li>
  </ul>
  </div>
  <div class="dom">
  <ul>
   <li>2</li>
   <li>2</li>
   <li>2</li>
   <li>2</li>
  </ul>
  </div>
  <div class="dom">
  <ul>
   <li>3</li>
   <li>3</li>
   <li>3</li>
   <li>3</li>
  </ul>
  </div>
  <div class="dom">
  <ul>
   <li>4</li>
   <li>4</li>
   <li>4</li>
   <li>4</li>
  </ul>
  </div>
  <div class="dom">
  <ul>
   <li>5</li>
   <li>5</li>
   <li>5</li>
   <li>5</li>
  </ul>
  </div>
 </div>
</div>

css就不放了

js

window.onload = function(){
 var allLis = $('tab_header').getElementsByTagName('li');
 var allDoms = $('tab_body').getElementsByClassName('dom');
 console.log(allLis,allDoms);
 // 遍历拿到的allLis
 for(var i =0; i<allLis.length;i++){
 var li = allLis[i];
 li.index = i; 
 li.onmouseover = function(){
  // 排他思想 将所有的class清空
  for(var j = 0;j<allLis.length;j++){
  allLis[j].className = '';
  allDoms[j].style.display='none';
  }
  this.className = 'seclect';
  allDoms[this.index].style.display='block';
 }
 }
}
function $(id){
 return typeof id === "string" ? document.getElementById(id) : null;
}

这里面的 function $(id) 是我封装的一个dom id选择器,在里面先拿到准备操作的事件源,遍历拿到的数组,onmouseover鼠标移入时,再次遍历一数组,将数组里所有的classname 变为空,以及display样式隐藏,在移入时,移入哪个,给哪个赋值即可。

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

Javascript 相关文章推荐
经典的带阴影的可拖动的浮动层
Jun 26 Javascript
驱动事件的addEvent.js代码
Mar 27 Javascript
Javascript学习笔记二 之 变量
Dec 15 Javascript
JavaScript高级程序设计 读书笔记之九 本地对象Array
Feb 27 Javascript
js调用后台servlet方法实例
Jun 09 Javascript
在linux中使用包管理器安装node.js
Mar 13 Javascript
jquery右下角自动弹出可关闭的广告层
May 08 Javascript
谈一谈jQuery核心架构设计
Mar 28 Javascript
浅谈Jquery中Ajax异步请求中的async参数的作用
Jun 06 Javascript
Vue Ajax跨域请求实例详解
Jun 20 Javascript
利用node.js+mongodb如何搭建一个简单登录注册的功能详解
Jul 30 Javascript
在vue中使用防抖和节流,防止重复点击或重复上拉加载实例
Nov 13 Javascript
Angular 多模块项目构建过程
Feb 13 #Javascript
小程序卡片切换效果组件wxCardSwiper的实现
Feb 13 #Javascript
JavaScript实现省市区三级联动
Feb 13 #Javascript
jquery传参及获取方式(两种方式)
Feb 13 #jQuery
JS实现页面数据懒加载
Feb 13 #Javascript
node.js中fs文件系统模块的使用方法实例详解
Feb 13 #Javascript
原生JS与JQ获取元素的区别详解
Feb 13 #Javascript
You might like
剖析 PHP 中的输出缓冲
2006/12/21 PHP
PHP中获取变量的变量名的一段代码的bug分析
2011/07/07 PHP
PHP中获取文件扩展名的N种方法小结
2012/02/27 PHP
色色整理的PHP面试题集锦
2012/03/08 PHP
在windows服务器开启php的gd库phpinfo中未发现
2013/01/13 PHP
PHP编码规范的深入探讨
2013/06/06 PHP
php+ajax实现无刷新数据分页的办法
2015/11/02 PHP
ThinkPHP实现图片上传操作的方法详解
2017/05/08 PHP
javascript圆盘抽奖程序实现原理和完整代码例子
2014/06/03 Javascript
Javascript中的arguments对象
2016/06/20 Javascript
Angular2 组件交互实例详解
2017/08/24 Javascript
node+koa实现数据mock接口的方法
2017/09/20 Javascript
微信小程序实现选项卡效果
2018/11/06 Javascript
vue实现搜索过滤效果
2019/05/28 Javascript
详解webpack-dev-middleware 源码解读
2020/03/23 Javascript
JavaScript 俄罗斯方块游戏实现方法与代码解释
2020/04/08 Javascript
微信小程序自定义底部弹出框功能
2020/11/18 Javascript
JavaScript缓动动画函数的封装方法
2020/11/25 Javascript
Python中的特殊语法:filter、map、reduce、lambda介绍
2015/04/14 Python
python3使用PyMysql连接mysql数据库实例
2017/02/07 Python
Python3.7中安装openCV库的方法
2018/07/11 Python
django的settings中设置中文支持的实现
2019/04/28 Python
详解python tkinter模块安装过程
2020/01/06 Python
Python的轻量级ORM框架peewee使用教程
2021/02/05 Python
东南亚地区最大的购物网站Lazada新加坡站点:Lazada.sg
2016/07/17 全球购物
澳大利亚最大的网上油画销售画廊:Direct Art Australia
2018/04/15 全球购物
Aquatalia官网:意大利著名鞋履品牌
2019/09/26 全球购物
我有一个char * 型指针正巧指向一些int 型变量, 我想跳过它们。 为什么如下的代码((int *)p)++; 不行?
2013/05/09 面试题
行政文员岗位职责
2013/11/08 职场文书
房屋改造计划书
2014/01/10 职场文书
房屋买卖协议书范本
2014/04/10 职场文书
学校党的群众路线教育实践活动个人整改方案
2014/10/31 职场文书
小学教师学习党的群众路线教育实践活动心得体会
2014/10/31 职场文书
职工食堂管理制度
2015/08/06 职场文书
入党积极分子培养联系人意见
2015/08/12 职场文书
python 开心网和豆瓣日记爬取的小爬虫
2021/05/29 Python