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 相关文章推荐
让 JavaScript 轻松支持函数重载 (Part 2 - 实现)
Aug 04 Javascript
使用隐藏的new来创建对象
Mar 29 Javascript
计算世界完全对称日的js代码,粗糙版
Nov 04 Javascript
Java Mybatis框架入门基础教程
Sep 21 Javascript
js仿支付宝填写支付密码效果实现多方框输入密码
Mar 09 Javascript
在Javascript操作JSON对象,增加 删除 修改的简单实现
Jun 02 Javascript
浅谈jquery中使用canvas的问题
Oct 10 Javascript
Node.js用readline模块实现输入输出
Dec 16 Javascript
Bootstarp 基础教程之表单部分实例代码
Feb 03 Javascript
angular中使用Socket.io实例代码
Jun 03 Javascript
vue.js系列中的vue-fontawesome使用
Feb 10 Javascript
UEditor 自定义图片视频尺寸校验功能的实现代码
Oct 20 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架构及原理知识点详解
2019/12/22 PHP
Firefox和IE浏览器兼容JS脚本写法小结
2008/07/07 Javascript
javascript web页面刷新的方法收集
2009/07/02 Javascript
JS中Iframe之间传值的方法
2013/03/11 Javascript
利用Keydown事件阻止用户输入实现代码
2014/03/11 Javascript
获取当前点击按钮的id用this.id实现
2014/03/17 Javascript
从零学JS之你需要了解的几本书
2014/05/19 Javascript
javascript实现依次输入input自动定焦
2014/12/23 Javascript
Js得到radiobuttonlist选中值的两种方法(推荐)
2016/08/25 Javascript
Bootstrap基本组件学习笔记之缩略图(13)
2016/12/08 Javascript
JS实现标签页切换效果
2017/05/04 Javascript
全面解析Node.js 8 重要功能和修复
2017/06/02 Javascript
20行JS代码实现网页刮刮乐效果
2017/06/23 Javascript
JS实现闭包中的沙箱模式示例
2017/09/07 Javascript
vue实现nav导航栏的方法
2017/12/13 Javascript
在Vue组件中获取全局的点击事件方法
2018/09/06 Javascript
vue-router命名路由和编程式路由传参讲解
2019/01/19 Javascript
vue-cli脚手架引入弹出层layer插件的几种方法
2019/06/24 Javascript
微信小程序 搜索框组件代码实例
2019/09/06 Javascript
[00:59]DOTA2荣耀之路1:Doom is back!weapon X!
2018/05/22 DOTA
新手如何快速入门Python(菜鸟必看篇)
2017/06/10 Python
Tornado协程在python2.7如何返回值(实现方法)
2017/06/22 Python
PyQt5每天必学之进度条效果
2018/04/19 Python
Python 给屏幕打印信息加上颜色的实现方法
2019/04/24 Python
Python3批量移动指定文件到指定文件夹方法示例
2019/09/02 Python
使用Python的turtle模块画国旗
2019/09/24 Python
关于pycharm中pip版本10.0无法使用的解决办法
2019/10/10 Python
python:解析requests返回的response(json格式)说明
2020/04/30 Python
Python异常处理机制结构实例解析
2020/07/23 Python
怎么解决pycharm license Acti的方法
2020/10/28 Python
python中的列表和元组区别分析
2020/12/30 Python
俄罗斯第一家篮球店:StreetBall
2020/07/30 全球购物
西班牙Polo衫品牌:Polo Club
2020/08/09 全球购物
中秋节寄语2015
2015/03/24 职场文书
父亲去世追悼词
2015/06/23 职场文书
2022年显卡天梯图(6月更新)
2022/06/17 数码科技