全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

tab栏切换原理

本文是我学习tab栏切换时的笔记,步骤很详细。比较适用于JavaScript初学者

1.基础 - 排他思想

如图,点击任意一个按钮,当前按钮应该显示橘色,其他显示默认颜色灰色。

代码运行步骤:

利用for循环遍历5个按钮;

选中的按钮进行 onclick 事件时,首先删除所有按钮的类名,使其全部显示灰色(34行);

然后给当前点击的按钮添加指定类名,使其显示橘色(37行)。

示例代码:

<!DOCTYPE html>
<html>
 <head>
 <meta charset="utf-8">
 <title>tab栏切换效果</title>
 <style media="screen">
  *{
  margin: 0;
  padding: 0;
  border: 0 none;
  outline: none;
  }
  #btns{
  width: 300px;
  margin: 100px auto;
  }
  #btns button {
  width: 60px;
  height: 30px;
  float: left;
  border-right: 1px solid #ccc;
  }
  .color{
  background-color: #eb923f;
  }
 </style>
 <script type="text/javascript">
  window.onload = function () {
  var btns = document.getElementById("btns").getElementsByTagName("button");
  for (var i = 0; i < btns.length; i++) {
   btns[i].onclick = function () {
   for (var j = 0; j < btns.length; j++) {
    //把所有的button清空类名
    btns[j].className = "";
   }
   //点击的那个盒子添加指定类名
   this.className = "color";
   }
  }
  }
 </script>
 </head>
 <body>
 <div id="btns">
  <button class="color">按钮1</button>
  <button>按钮2</button>
  <button>按钮3</button>
  <button>按钮4</button>
  <button>按钮5</button>
 </div>
 </body>
</html>

2.tab栏切换

如图:在排他思想的基础上,五个按钮底下添加五个新盒子,并用一个大盒子将按钮和底下的盒子包裹。

底下的盒子全部隐藏,默认只显示第一个。

新增步骤:

为btns[i]添加自定义属性index,用来关联下面的大盒子(42行);

点击按钮后先让底下的盒子全部隐藏(54行);

然后给当前所点击按钮相关联的盒子添加指定属性(57行)。

示例代码:

<!DOCTYPE html>
<html>
 <head>
 <meta charset="utf-8">
 <title>tab栏切换效果</title>
 <style media="screen">
  *{
  margin: 0;
  padding: 0;
  border: 0 none;
  outline: none;
  }
  .baohan{
  width: 300px;
  margin: 100px auto;
  border: 1px solid #ccc;
  }
  #btns button {
  width: 60px;
  height: 30px;
  float: left;
  border-right: 1px solid #ccc;
  }
  #divs div {
  width: 300px;
  height: 100px;
  font-size: 60px;
  padding-top: 60px;
  background-color: #eb923f;
  text-align: center;
  display: none;
  }
  .color{
  background-color: #eb923f;
  }
 </style>
 <script type="text/javascript">
  window.onload = function () {
  var btns = document.getElementById("btns").getElementsByTagName("button");
  var divs = document.getElementById("divs").getElementsByTagName("div");
  for (var i = 0; i < btns.length; i++) {
   btns[i].index = i; //自定义属性,用于关联下面的大盒子
   btns[i].onclick = function () {

   for (var j = 0; j < btns.length; j++) {
    //把所有的button清空类名
    btns[j].className = "";
   }
   //点击的那个盒子添加指定类名
   this.className = "color";
   for (var i = 0; i < divs.length; i++) {
    //先让底下的div全部隐藏
    divs[i].style.display = "none";
   }
   //然后给当前所点击按钮相关联的盒子添加指定属性
   divs[this.index].style.display = "block";
   }
  }
  }
 </script>
 </head>
 <body>
 <div class="baohan">
  <div id="btns">
  <button class="color">按钮1</button>
  <button>按钮2</button>
  <button>按钮3</button>
  <button>按钮4</button>
  <button>按钮5</button>
  </div>
  <div id="divs">
  <div style="display:block;">1</div>
  <div>2</div>
  <div>3</div>
  <div>4</div>
  <div>5</div>
  </div>
 </div>
 </body>
</html>

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!


# tab切换原理  # tab栏切换  # tab切换的原理  # Vue.js组件tab实现选项卡切换  # Vue.js组件tabs实现选项卡切换效果  # 用AngularJS的指令实现tabs切换效果  # 原生js实现tab选项卡切换  # 一个精简的JS DIV层tab切换代码  # js(JavaScript)实现TAB标签切换效果的简单实例  # javascript实现tabs选项卡切换效果(自写原生js)  # 一个js的tab切换效果代码[代码分离]  # javascript实现tab切换的四种方法  # 基于jquery的tab切换 js原理  # 自定义  # 使其  # 相关联  # 如图  # 先让  # 清空  # 橘色  # 第一个  # 基础上  # 遍历  # 适用于  # 只显示  # media  # title  # utf  # head  # meta  # gt  # html  # charset 


相关文章: 建站之星×万网:智能建站系统+自助建站平台一键生成  IOS倒计时设置UIButton标题title的抖动问题  东莞专业网站制作公司有哪些,东莞招聘网站哪个好?  装修招标网站设计制作流程,装修招标流程?  小建面朝正北,A点实际方位是否存在偏差?  如何快速生成橙子建站落地页链接?  如何在IIS管理器中快速创建并配置网站?  GML (Geography Markup Language)是什么,它如何用XML来表示地理空间信息?  建站之星如何修改网站生成路径?  C++如何编写函数模板?(泛型编程入门)  如何快速搭建个人网站并优化SEO?  宠物网站制作html代码,有没有专门介绍宠物如何养的网站啊?  完全自定义免费建站平台:主题模板在线生成一站式服务  如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?  如何快速查询域名建站关键信息?  定制建站方案优化指南:企业官网开发与建站费用解析  天津个人网站制作公司,天津网约车驾驶员从业资格证官网?  威客平台建站流程解析:高效搭建教程与设计优化方案  公司网站设计制作厂家,怎么创建自己的一个网站?  个人网站制作流程图片大全,个人网站如何注销?  安云自助建站系统如何快速提升SEO排名?  Swift中swift中的switch 语句  图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?  移民网站制作流程,怎么看加拿大移民官网?  如何在VPS电脑上快速搭建网站?  专业网站制作企业网站,如何制作一个企业网站,建设网站的基本步骤有哪些?  如何在宝塔面板创建新站点?  太原网站制作公司有哪些,网约车营运证查询官网?  香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南  小米网站链接制作教程,请问miui新增网页链接调用服务有什么用啊?  武汉外贸网站制作公司,现在武汉外贸前景怎么样啊?  网站按钮制作软件,如何实现网页中按钮的自动点击?  广东企业建站网站优化与SEO营销核心策略指南  C++中的Pimpl idiom是什么,有什么好处?(隐藏实现)  建站主机助手选型指南:2025年热门推荐与高效部署技巧  临沂网站制作公司有哪些,临沂第四中学官网?  潍坊网站制作公司有哪些,潍坊哪家招聘网站好?  品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?  盐城做公司网站,江苏电子版退休证办理流程?  如何构建满足综合性能需求的优质建站方案?  如何选择服务器才能高效搭建专属网站?  大连 网站制作,大连天途有线官网?  建站之星3.0如何解决常见操作问题?  b2c电商网站制作流程,b2c水平综合的电商平台?  建站之星云端配置指南:模板选择与SEO优化一键生成  宁波自助建站系统如何快速打造专业企业网站?  如何在Mac上搭建Golang开发环境_使用Homebrew安装和管理Go版本  上海网站制作网页,上海本地的生活网站有哪些?最好包括生活的各个方面的?  如何在Golang中指定模块版本_使用go.mod控制版本号  建站之星如何快速生成多端适配网站? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。