js封装tab标签页实例分享

yizhihongxing

让我们开始讲解“js封装tab标签页实例分享”的完整攻略。

什么是Tab标签页?

Tab标签页是常见的一种页面展示方式,通常用于多个页面之间进行切换,实现单页应用程序(SPA)或多标签应用程序,可以让用户直观地浏览内容。

如何使用js封装Tab标签页?

以下是一些关键步骤来创建一个可复用的Tab标签页组件:

第一步:HTML 结构

我们需要先在HTML中定义一个容器,用来承载Tab标签页的内容。如下所示:

<div class="tab">
  <ul class="tab-nav">
    <li class="tab-nav-item active">Tab 1</li>
    <li class="tab-nav-item">Tab 2</li>
    <li class="tab-nav-item">Tab 3</li>
  </ul>
  <div class="tab-content active">Content 1</div>
  <div class="tab-content">Content 2</div>
  <div class="tab-content">Content 3</div>
</div>

这里使用了一个有序列表(ul)来作为Tab选项卡,div用来作为标签所对应的内容。

第二步:CSS 样式

为了美化用户界面,我们需要使用CSS来设计样式:

.tab {
  width: 100%;
  max-width: 600px;
  margin: 0 auto;
}
.tab-nav {
  list-style: none;
  display: flex;
  justify-content: center;
  padding: 0;
  margin: 0;
}
.tab-nav-item {
  margin-right: 20px;
  cursor: pointer;
  padding: 10px 20px;
  border-radius: 5px 5px 0 0;
  background-color: #f0f0f0;
}
.tab-nav-item.active {
  background-color: #fff;
  font-weight: bold;
}
.tab-content {
  display: none;
  padding: 20px;
  border: 1px solid #ccc;
  border-top: none;
}
.tab-content.active {
  display: block;
}

这里我们使用Flexbox来构建选项卡和内容的容器,实现了一个标准的选项卡结构。

第三步:JavaScript 封装

我们需要编写 JavaScript 代码来控制Tab的行为,这里介绍两个不同的实例:

实例一:使用原生 JavaScript 开发 Tab

这里是使用原生JavaScript代码开发的Tab,功能如下:

  1. 点击选项卡时,切换到相应的选项卡并显示相应的内容
  2. 第一个选项卡默认为激活状态
(function () {
  // 获取Tab和其它元素
  var tab = document.querySelector('.tab');
  var tabNavItems = tab.querySelectorAll('.tab-nav-item');
  var tabContents = tab.querySelectorAll('.tab-content');

  // 给第一个选项卡添加激活状态,显示对应的内容
  tabNavItems[0].classList.add('active');
  tabContents[0].classList.add('active');

  // 绑定事件处理函数
  tab.addEventListener('click', function (e) {
    var target = e.target;
    if (target.classList.contains('tab-nav-item')) {
      // 切换选项卡和内容的激活状态
      toggleTab(target, tabNavItems, tabContents);
    }
  });

  // 切换选项卡和内容的激活状态
  function toggleTab(target, tabNavItems, tabContents) {
    // 获取选项卡和内容的索引值
    var index = Array.from(tabNavItems).indexOf(target);

    // 将所有选项卡和内容的激活状态移除
    tabNavItems.forEach(function (item) {
      item.classList.remove('active');
    })
    tabContents.forEach(function (item) {
      item.classList.remove('active');
    })

    // 将当前点击的选项卡和内容添加激活状态
    target.classList.add('active');
    tabContents[index].classList.add('active');
  }
})();

实例二:使用 jQuery 开发 Tab

这里是使用 jQuery 开发的 Tab,它具有以下功能:

  1. 点击选项卡时,切换到相应的选项卡并显示相应的内容
  2. 第一个选项卡默认为激活状态
(function () {
  // 给第一个选项卡添加激活状态,显示对应的内容
  $('.tab-nav-item:first-child').addClass('active');
  $('.tab-content:first-child').addClass('active');

  // 绑定事件处理函数
  $('.tab-nav').on('click', '.tab-nav-item', function () {
     // 切换选项卡和内容的激活状态
     $(this).addClass('active').siblings().removeClass('active');
     var index = $(this).index();
     $('.tab-content').eq(index).addClass('active').siblings().removeClass('active');
  });
})();

以上是两个不同的Tab实现方案,您可以根据自己的需要来选择一个适合自己的实现方式。

总结

Tab标签页可以为用户提供友好的界面体验,并且有利于组织页面结构和内容。在此攻略中,我们简要介绍了如何使用HTML,CSS和JavaScript来创建一个通用的Tab标签页组件。希望这些信息对您有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js封装tab标签页实例分享 - Python技术站

(0)
上一篇 2023年6月25日
下一篇 2023年6月25日

相关文章

  • centos-1810系统dhcp服务器iscdhcp软件配置说明

    centos-1810系统dhcp服务器iscdhcp软件配置说明 本文介绍如何在CentOS 1810系统上配置ISC DHCP服务器软件,并将其用作局域网内的DHCP服务器。通过此文,您将了解到如何安装并配置ISC DHCP服务器,并可以通过简单的步骤启动和停止DHCP服务器。 安装ISC DHCP服务器软件 首先,我们需要安装ISC DHCP服务器软件…

    其他 2023年3月28日
    00
  • 魔兽私服服务器安装全面说明

    魔兽私服服务器安装全面说明 准备工作 在进行魔兽私服服务器的安装前,需要先进行一些准备工作: 一台具备虚拟化能力的服务器,可以是物理机器或者虚拟机。 CentOS 7 操作系统镜像文件。 确保服务器已经安装了基本的软件,如wget、screen、unzip等,并且已经进行了初始化配置。 安装流程 以下是魔兽私服服务器安装的详细步骤: 首先,在终端中以root…

    other 2023年6月27日
    00
  • 聊聊Spring循环依赖三级缓存是否可以减少为二级缓存的情况

    聊聊Spring循环依赖三级缓存是否可以减少为二级缓存的情况 在Spring中,循环依赖是指两个或多个Bean之间相互依赖的情况。为了解决循环依赖的问题,Spring使用了三级缓存的机制。但是,有时候我们可以通过一些方式将三级缓存减少为二级缓存,从而提高性能和减少内存消耗。 三级缓存的工作原理 在Spring中,循环依赖的解决过程分为三个阶段: 创建Bean…

    other 2023年10月15日
    00
  • java多态中的就近原则介绍

    Java多态中的就近原则介绍 Java中的多态性有三种表现形式:方法重载、方法重写和对象引用的多态性。其中,对象引用的多态性就是实现延迟绑定的方式,它可以让我们在程序运行时根据实际对象类型来确定调用哪个方法。 在多态场景下,就近原则是作用于对象引用调用方法时的参数列表类型的选择(即决定使用哪个方法),它和方法重载得到相同条件下的参数匹配的方式相同。当Java…

    other 2023年6月26日
    00
  • maven镜像配置

    Maven镜像配置 Maven是一个流行的Java项目管理工具,它可以自动下载依赖项并构建项目。在使用Maven时,由于网络问题,可能会导致下载速度缓慢或失败。为了解决这个问题,可以配置Maven镜像,使其从国内镜像站点下载依赖项。本攻略将介绍如何配置Maven镜像。 配置Maven镜像 Maven镜像配置文件是settings.xml,该文件位于Maven…

    other 2023年5月9日
    00
  • SoapUI模拟REST MockService

    SoapUI模拟REST MockService的完整攻略 本文将为您提供SoapUI模拟REST MockService的完整攻略,包括介绍、MockService的创建、MockService的使用方法和两个示例说明。 介绍 SoapUI是一款功能强大的Web服务测试工具,可以用于测试SOAP和RESTful Web服务。MockService是Soap…

    other 2023年5月6日
    00
  • ubuntu环境下的php相关路径与修改方法

    下面是详细讲解“ubuntu环境下的php相关路径与修改方法”的完整攻略。 1. 环境变量 在Ubuntu环境下,一些常用的环境变量如下所示: $HOME: 当前用户的家目录路径。 $PATH: 当前用户的路径列表,用于保存可执行文件的路径。当我们在终端中输入一个指令时,系统会在PATH路径列表中查找可执行文件。 $PWD: 当前工作目录路径。 $USER:…

    other 2023年6月27日
    00
  • 微软操作系统

    微软操作系统攻略 微软操作系统主要是指Windows操作系统,是世界上使用最广泛的操作系统之一。本攻略将会介绍Windows操作系统的安装、使用和维护等各方面的知识。 1. Windows操作系统的安装 Windows操作系统的安装需要以下步骤: 下载或购买Windows操作系统的安装镜像文件(ISO)。 制作启动盘,可以使用电脑自带的光驱或U盘,也可以使用…

    其他 2023年4月16日
    00
合作推广
合作推广
分享本页
返回顶部