jquery Tab效果和动态加载的简单实例

下面是 jQuery Tab效果和动态加载的简单实例所需要的完整攻略。

1. 确定需求

首先明确需要实现什么功能,例如实现一个可切换Tab的效果,并支持动态加载内容。

2. 引入依赖

在网页中引入 jQuery 库,可以通过以下方式实现:

<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.min.js"></script>

3. 编写 HTML 结构

确定需要实现切换效果的区域,并在其中添加 tab 切换的按钮,每个按钮对应一个内容区块。

例如:

<div class="tab-container">
  <div class="tab-buttons">
    <button class="tab-button active">Tab 1</button>
    <button class="tab-button">Tab 2</button>
    <button class="tab-button">Tab 3</button>
  </div>
  <div class="tab-contents">
    <div class="tab-content active">内容1</div>
    <div class="tab-content">内容2</div>
    <div class="tab-content">内容3</div>
  </div>
</div>

上述代码中,class 名称可以根据自己的需求进行调整。

4. 编写 CSS 样式

根据 HTML 结构编写对应的样式,如下:

.tab-container {
  border: 1px solid #ccc;
  margin-bottom: 20px;
  padding: 10px;
}

.tab-buttons {
  display: flex;
}

.tab-button {
  border: 1px solid #ccc;
  margin-right: 10px;
  background-color: #fff;
  cursor: pointer;
  padding: 5px 10px;
}

.tab-button.active {
  background-color: #ccc;
}

.tab-contents {

}

.tab-content {
  display: none;
  border-top: 1px solid #ccc;
  padding: 10px;
}

.tab-content.active {
  display: block;
}

5. 编写 JS 代码

实现 tab 切换效果和动态加载内容。

$(function() {
  // 切换 tab
  $('.tab-button').click(function() {
    var index = $(this).index();
    $('.tab-button').removeClass('active');
    $(this).addClass('active');
    $('.tab-content').removeClass('active');
    $('.tab-content').eq(index).addClass('active');
  });

  // 动态加载内容
  $.ajax({
    url: 'data.php',
    dataType: 'json',
    success: function(data) {
      $.each(data, function(index, item) {
        var content = '<div class="tab-content">' + item.content + '</div>';
        $('.tab-contents').append(content);
        var button = '<button class="tab-button">' + item.title + '</button>';
        $('.tab-buttons').append(button);
      });
    }
  });
});

上述代码中,需要根据实际情况修改:

  1. 点击 tab 切换需要修改的 class 名称和对应内容区块的 class 名称;
  2. 动态加载内容部分需要根据实际情况修改 url 和数据格式。

6. 示例说明

以下是 2 条示例说明。

示例一:简单的 tab 切换效果

HTML 结构:

<div class="tab-container">
  <div class="tab-buttons">
    <button class="tab-button active">Tab 1</button>
    <button class="tab-button">Tab 2</button>
    <button class="tab-button">Tab 3</button>
  </div>
  <div class="tab-contents">
    <div class="tab-content active">内容1</div>
    <div class="tab-content">内容2</div>
    <div class="tab-content">内容3</div>
  </div>
</div>

JS 代码:

$(function() {
  $('.tab-button').click(function() {
    var index = $(this).index();
    $('.tab-button').removeClass('active');
    $(this).addClass('active');
    $('.tab-content').removeClass('active');
    $('.tab-content').eq(index).addClass('active');
  });
});

演示效果:https://codepen.io/pen/?template=gOwJPza

示例二:动态加载 tab 内容

HTML 结构:

<div class="tab-container">
  <div class="tab-buttons">
    <button class="tab-button active">Tab 1</button>
    <button class="tab-button">Tab 2</button>
    <button class="tab-button">Tab 3</button>
  </div>
  <div class="tab-contents">
    <div class="tab-content active">内容1</div>
    <div class="tab-content">内容2</div>
    <div class="tab-content">内容3</div>
  </div>
</div>

JS 代码:

$(function() {
  $.ajax({
    url: 'data.php',
    dataType: 'json',
    success: function(data) {
      $.each(data, function(index, item) {
        var content = '<div class="tab-content">' + item.content + '</div>';
        $('.tab-contents').append(content);
        var button = '<button class="tab-button">' + item.title + '</button>';
        $('.tab-buttons').append(button);
      });
    }
  });

  $('.tab-buttons').on('click', '.tab-button', function() {
    var index = $(this).index();
    $('.tab-button').removeClass('active');
    $(this).addClass('active');
    $('.tab-content').removeClass('active');
    $('.tab-content').eq(index).addClass('active');
  });
});

演示效果:https://codepen.io/pen/?template=KKNQdGX

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:jquery Tab效果和动态加载的简单实例 - Python技术站

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

相关文章

  • java对象和xml转换

    Java对象和XML转换 在Java开发过程中,经常需要将Java对象和XML进行转换。XML作为一种标准的数据保存和交互格式,可以使用在各种不同的平台和语言上,具有很高的通用性和互操作性。Java对象则是我们程序中最基本的数据结构,通常需要将Java对象转换为XML格式以保存和传输数据。 XML与Java对象的映射 XML和Java对象之间的映射关系是非常…

    其他 2023年3月28日
    00
  • 使用GetInvalidFileNameCharts生成文件名

    使用GetInvalidFileNameChars方法能够生成Windows操作系统不支持使用的文件名。这个方法返回一个char类型的数组,其中包含了文件名中不能使用的字符。你可以利用这些字符来生成适合你的应用程序的文件名。 以下是使用GetInvalidFileNameChars方法生成文件名的完整攻略: 步骤1 使用System.IO命名空间。在方法顶部…

    other 2023年6月26日
    00
  • 使用latex画图系列

    以下是关于“使用LaTeX画图系列”的完整攻略,包括LaTeX画图的基本知识、使用TikZ和PGFPlots两种工画图的方法和两个示例等。 LaTeX画图的基本知识 LaTeX是一种排版系统,可以用于创建高质量的文档。在LaTeX中,可以使用TikZ和PGFPlots两种工具来画图。 TikZ TikZ是一种绘图工,可以用于创建各种类型的图形,包括流程图、网…

    other 2023年5月7日
    00
  • 关于python:如何知道pip本身的版本

    关于Python:如何知道pip本身的版本 在Python中,pip是一个常用的包管理工具,它可以帮助我们安装、升级、卸载Python包。在使用pip时,有时我们需要知道pip本身的版本号。本攻略将详细介绍如何查看pip本身的版本号,并提供两个示例。 方法1:使用pip命令 我们可以使用pip命令来查看pip本身的版本号。以下是具体步骤: 打开终端或命令行窗…

    other 2023年5月9日
    00
  • vue项目使用axios封装request请求的过程

    以下是基于Vue项目使用Axios封装Request请求的完整攻略。 1. 准备工作 在使用Axios进行Request请求之前,需要先安装Axios插件,命令如下: npm install axios –save 安装完毕后,在Vue的入口文件中(一般是main.js)中引入Axios并配置相关信息: import axios from ‘axios’ …

    other 2023年6月25日
    00
  • jquery自定义属性(类型/属性值)

    介绍 jQuery是一款广泛使用的JavaScript库,它简化了HTML文档遍历、事件处理、动画效果和AJAX等操作。在jQuery中,可以为HTML元素添加自定义属性。自定义属性包含两个部分:属性类型和属性值。属性类型和属性值在编程时需要用到,它们有助于进行一些动态操作。 属性类型 在jQuery中,可以使用自定义属性类型为各种HTML元素添加额外的特性…

    other 2023年6月25日
    00
  • 浅谈shell数组的定义及循环

    浅谈shell数组的定义及循环 在Shell脚本中,数组是一个非常有用的概念,可以帮助我们更好地组织和管理数据。本文将介绍Shell数组的定义及循环操作。 定义一个数组 Shell支持两种类型的数组:普通数组和关联数组。普通数组只保存数值,而关联数组包含键值对。 定义一个普通数组,需要使用以下语法: array_name=(value1 value2 val…

    other 2023年6月25日
    00
  • Linux Shell函数返回值

    Linux Shell函数返回值攻略 在Linux Shell中,函数是一种将一系列命令组合在一起以完成特定任务的方法。函数可以接受参数,并且可以返回一个值作为结果。本攻略将详细讲解如何在Linux Shell中使用函数并获取返回值。 定义函数 要定义一个函数,可以使用以下语法: function_name() { # 函数体 # 可以包含一系列命令 # 可…

    other 2023年7月29日
    00
合作推广
合作推广
分享本页
返回顶部