分享几种比较简单实用的JavaScript tabel切换


Posted in Javascript onDecember 31, 2015

闲着没事,随便写了个简单的JavaScript tabel切换,大家有兴趣的看看,有需要的就拿去吧.废话不说了,大家看代码吧

分享几种比较简单实用的JavaScript tabel切换

方法一:for循环+if判断当前点击与自定义数组是否匹配

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>tab切换</title>
 <style type="text/css">
  button {
   width:120px;
   height: 32px;
   line-height: 32px;
   background-color: #ccc;
   font-size: 24px;
  }
  div {
   display: none;
   width:200px;
   height: 200px;
   font-size: 72px;
   color:#ddd;
   background-color: green;
   border:1px solid black;
  }
 </style>
</head>
<body>
 <button style="background-color: yellow;">1</button>
 <button>2</button>
 <button>3</button>
 <button>4</button>
 <div style="display:block;">1</div>
 <div>2</div>
 <div>3</div>
 <div>4</div>
 <script type="text/javascript">
 //定义数组并获取数组内各个的节点
 var buttonArr = document.getElementsByTagName("button");
 var divArr = document.getElementsByTagName("div");
 for(var i = 0; i < buttonArr.length;i++) {
  buttonArr[i].onclick = function() {
   //this 
   // alert(this.innerHTML)
   //for循环遍历button数组长度
   for(var j = 0; j < buttonArr.length; j++) {
    //重置所有的button样式
    buttonArr[j].style.backgroundColor = "#ccc";
    //给当前的(点击的那个)那个button添加样式
    this.style.backgroundColor = "yellow";
    //隐藏所有的div
    divArr[j].style.display = "none";
    //判断当前点击是按钮数组中的哪一个?
    if(this == buttonArr[j]) {
     // alert(j);
      //显示点击按钮对应的div
     divArr[j].style.display = "block";
    }
   }
  }
 }
 </script>
</body>
</html>

方法二:自定义index为当前点击

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>tab切换</title>
 <style type="text/css">
  button {
   width:120px;
   height: 32px;
   line-height: 32px;
   background-color: #ccc;
   font-size: 24px;
  }
  div {
   display: none;
   width:200px;
   height: 200px;
   font-size: 72px;
   color:#ddd;
   background-color: green;
   border:1px solid black;
  }
 </style>
</head>
<body>
 <button style="background-color: yellow;">1</button>
 <button>2</button>
 <button>3</button>
 <button>4</button>
 <div style="display:block;">1</div>
 <div>2</div>
 <div>3</div>
 <div>4</div>
 <script type="text/javascript">
 var buttonArr = document.getElementsByTagName("button");
 var divArr = document.getElementsByTagName("div");
 for(var i = 0; i < buttonArr.length;i++) {
  buttonArr[i].index = i;
  // buttonArr[i].setAttribute("index",i);
  buttonArr[i].onclick = function() {
   for(var j = 0; j < buttonArr.length; j++) {
    buttonArr[j].style.backgroundColor = "#ccc";
    buttonArr[this.index].style.backgroundColor = "yellow";
    divArr[j].style.display = "none";
    divArr[this.index].style.display = "block";
   }
  }
 }
 </script>
</body>
</html>

  方法三:className

<!doctype html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>tab</title>
 <style type="text/css">
  * {padding:0; margin:0;}
  button {
   background-color: #ccc;
   width:80px;
   height: 30px;
  }
  .btn-active {
   background-color: yellow;
   font-weight:bold;
   font-size: 14px;
  }
  div{
   width:200px;
   height: 200px;
   font-size: 64px;
   background-color: #0c0;
   display: none;
   color:#fff;
  }
  .div-active {
   display: block;
  }
 </style>
</head>
<body>
 <button class="btn-active">按钮1</button>
 <button>按钮2</button>
 <button>按钮3</button>
 <button>按钮4</button>
 <div class="div-active">1</div>
 <div>2</div>
 <div>3</div>
 <div>4</div>
 <script type="text/javascript">
 //1.先获取元素
 var buttonList = document.getElementsByTagName("button");
 var divList = document.getElementsByTagName("div");
 //2.添加事件
 for(var i = 0; i < buttonList.length; i++) {
  buttonList[i].index = i;
  buttonList[i].onclick = function() {
   for(var j = 0; j < buttonList.length;j++) {
    buttonList[j].className = "";
    divList[j].className = "";
   }
   this.className = "btn-active";
   divList[this.index].className = "div-active";
  }
 }
 </script>
</body>
</html>

方法四:className+匿名函数的自执行!

<!doctype html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>tab</title>
 <style type="text/css">
  * {padding:0; margin:0;}
  button {
   background-color: #ccc;
   width:80px;
   height: 30px;
  }
  .btn-active {
   background-color: yellow;
   font-weight:bold;
   font-size: 14px;
  }
  div{
   width:200px;
   height: 200px;
   font-size: 64px;
   background-color: #0c0;
   display: none;
   color:#fff;
  }
  .div-active {
   display: block;
  }
 </style>
</head>
<body>
 <button class="btn-active">按钮1</button>
 <button>按钮2</button>
 <button>按钮3</button>
 <button>按钮4</button>
 <div class="div-active">1</div>
 <div>2</div>
 <div>3</div>
 <div>4</div>
 <script type="text/javascript">
 //1.先获取元素
 var buttonList = document.getElementsByTagName("button");
 var divList = document.getElementsByTagName("div");
 //2.添加事件
 for(var i = 0; i < buttonList.length; i++) {
  (function(i){ //匿名函数自执行
    buttonList[i].onclick = function() {
    for(var j = 0; j < buttonList.length;j++) {
     buttonList[j].className = "";
     divList[j].className = "";
    }
    this.className = "btn-active";
    divList[i].className = "div-active";
   }
  })(i)
 }
 </script>
</body>
</html>

以上内容是小编给大家分享几种比较简单实用的JavaScript tabel切换,希望大家喜欢。

Javascript 相关文章推荐
Javascript操纵Cookie实现购物车程序
Feb 15 Javascript
node.js中的fs.utimesSync方法使用说明
Dec 15 Javascript
jQuery使用empty()方法删除元素及其所有子元素的方法
Mar 26 Javascript
使用canvas实现仿新浪微博头像截取上传功能
Sep 02 Javascript
JS获取checkbox的个数简单实例
Aug 19 Javascript
ES6概念 Symbol toString()方法
Dec 25 Javascript
利用jquery实现实时更新歌词的方法
Jan 06 Javascript
浅析JavaScript中var that=this
Feb 17 Javascript
bootstrap多层模态框滚动条消失的问题
Jul 21 Javascript
JS基于封装函数实现的表格分页完整示例
Jun 26 Javascript
微信小程序通过websocket实时语音识别的实现代码
Aug 19 Javascript
vue表单验证之禁止input输入框输入空格
Dec 03 Vue.js
jQuery+ajax实现文章点赞功能的方法
Dec 31 #Javascript
jQuery实现的超简单点赞效果实例分析
Dec 31 #Javascript
jQuery实现的给图片点赞+1动画效果(附在线演示及demo源码下载)
Dec 31 #Javascript
jQuery实现的点赞随机数字显示动画效果(附在线演示与demo源码下载)
Dec 31 #Javascript
AngularJS中实现显示或隐藏动画效果的方式总结
Dec 31 #Javascript
javascript数据类型验证方法
Dec 31 #Javascript
jQuery操作基本控件方法实例分析
Dec 31 #Javascript
You might like
通过文字传递创建的图形按钮
2006/10/09 PHP
国外十大最流行的PHP框架排名
2013/07/04 PHP
PHP中的gzcompress、gzdeflate、gzencode函数详解
2014/07/29 PHP
Yii使用ajax验证显示错误messagebox的解决方法
2014/12/03 PHP
PHP截取指定图片大小的方法
2014/12/10 PHP
PHP版微信公众平台红包API
2015/04/02 PHP
高性能web开发 如何加载JS,JS应该放在什么位置?
2010/05/14 Javascript
JS将秒换成时分秒实现代码
2013/09/03 Javascript
js获取html页面节点方法(递归方式)
2013/12/13 Javascript
angularjs学习笔记之完整的项目结构
2015/09/26 Javascript
jquery编写Tab选项卡滚动导航切换特效
2020/07/17 Javascript
基于zepto.js简单实现上传图片
2016/06/21 Javascript
js重写方法的简单实现
2016/07/10 Javascript
JS实现探测网站链接的方法【测试可用】
2016/11/08 Javascript
微信小程序 侧滑删除(左滑删除)
2017/05/23 Javascript
jQuery实现输入框的放大和缩小功能示例
2018/07/21 jQuery
jQuery AJAX 方法success()后台传来的4种数据详解
2018/08/08 jQuery
Angular父子组件通过服务传参的示例方法
2018/10/31 Javascript
vue 项目 iOS WKWebView 加载
2019/04/17 Javascript
vue列表数据发生变化指令没有更新问题及解决方法
2020/01/16 Javascript
vue实现表单未编辑或未保存离开弹窗提示功能
2020/04/08 Javascript
解决antd datepicker 获取时间默认少8个小时的问题
2020/10/29 Javascript
python中利用Future对象异步返回结果示例代码
2017/09/07 Python
在Python中使用gRPC的方法示例
2018/08/08 Python
使用Python进行目录的对比方法
2018/11/01 Python
详解python方法之绑定方法与非绑定方法
2020/08/17 Python
用CSS3打造HTML5的Logo(实现代码)
2016/06/16 HTML / CSS
html5定制表单_动力节点Java学院整理
2017/07/11 HTML / CSS
Michael Kors澳大利亚官网:世界知名的奢侈饰品和成衣设计师
2020/02/13 全球购物
学年末自我鉴定
2014/01/21 职场文书
聘用意向书范本
2014/04/01 职场文书
政府个人对照检查材料
2014/08/28 职场文书
长江七号观后感
2015/06/11 职场文书
运动会新闻报道稿
2015/07/22 职场文书
朋友圈早安励志语录!
2019/07/08 职场文书
python控制台打印log输出重复的解决方法
2021/05/14 Python