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实现的完美渐变弹出层效果代码
Apr 02 Javascript
js汉字排序问题 支持中英文混排,兼容各浏览器,包括CHROME
Dec 20 Javascript
jquery实现兼容IE8的异步上传文件
Jun 15 Javascript
js判断复选框是否选中及选中个数的实现代码
May 30 Javascript
JavaScript6 let 新语法优势介绍
Jul 15 Javascript
JavaScript表单焦点自动切换代码
Jul 24 Javascript
浅谈JavaScript 覆盖原型以及更改原型
Aug 31 Javascript
JS自定义混合Mixin函数示例
Nov 26 Javascript
js制作可以延时消失的菜单
Jan 13 Javascript
vue+vuex+axio从后台获取数据存入vuex实现组件之间共享数据
Apr 22 Javascript
js导出Excel表格超出26位英文字符的解决方法ES6
Nov 15 Javascript
原生js实现随机点餐效果
Dec 10 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
c#中的实现php中的preg_replace
2009/12/21 PHP
PHP+ajax 无刷新删除数据
2010/02/20 PHP
php中批量替换文件名的实现代码
2011/07/20 PHP
简单的cookie计数器实现源码
2013/06/07 PHP
PDO防注入原理分析以及使用PDO的注意事项总结
2014/10/23 PHP
PHP针对中英文混合字符串长度判断及截取方法示例
2017/03/31 PHP
PHP实现抽奖功能实例代码
2020/06/30 PHP
新浪微博字数统计 textarea字数统计实现代码
2011/08/28 Javascript
JS中showModalDialog 的使用解析
2013/04/17 Javascript
JS对象转换为Jquery对象示例
2014/01/26 Javascript
jquery $(document).ready()和window.onload的区别浅析
2015/02/04 Javascript
学习JavaScript设计模式(链式调用)
2015/11/26 Javascript
七个不允许错过的jQuery小技巧
2015/12/21 Javascript
信息页文内画中画广告js实现代码(文中加载广告方式)
2016/01/03 Javascript
基于Javascript实现二级联动菜单效果
2016/03/04 Javascript
第一次接触神奇的Bootstrap
2016/10/14 Javascript
jQuery实现简单弹窗遮罩效果
2017/02/27 Javascript
Vue实现美团app的影院推荐选座功能【推荐】
2018/08/29 Javascript
VUE 组件转换为微信小程序组件的方法
2019/11/06 Javascript
Node.js 在本地生成日志文件的方法
2020/02/07 Javascript
JavaScript实现点击自制菜单效果
2021/02/02 Javascript
python中使用sys模板和logging模块获取行号和函数名的方法
2014/04/15 Python
python3中bytes和string之间的互相转换
2017/02/09 Python
Python正则抓取新闻标题和链接的方法示例
2017/04/24 Python
python生成式的send()方法(详解)
2017/05/08 Python
对python:print打印时加u的含义详解
2018/12/15 Python
pyqt5实现登录界面的模板
2020/05/30 Python
聊聊python里如何用Borg pattern实现的单例模式
2019/06/06 Python
离婚协议书怎么写(范本参考)
2014/09/30 职场文书
2014财产信托协议书范本
2014/11/18 职场文书
教师学习十八届五中全会精神心得体会
2016/01/05 职场文书
2016中秋节月饼促销广告语
2016/01/28 职场文书
4种非常实用的python内置数据结构
2021/04/28 Python
MySql 8.0及对应驱动包匹配的注意点说明
2021/06/23 MySQL
Spring Boot 排除某个类加载注入IOC的操作
2021/08/02 Java/Android
Nginx源码编译安装过程记录
2021/11/17 Servers