JQuery 选项卡效果(JS与HTML的分离)

JQuery 选项卡效果(JS与HTML的分离)是一种常见的web网页效果,本攻略将详细讲解JQuery选项卡效果的步骤,并提供两个实例说明。

一、HTML结构

选项卡效果的HTML结构需要包含选项卡列表,以及每个选项卡对应的内容。

<div class="tab">
  <ul class="tab-nav">
    <li class="active"><a href="#tab-1">选项卡1</a></li>
    <li><a href="#tab-2">选项卡2</a></li>
    <li><a href="#tab-3">选项卡3</a></li>
  </ul>

  <div class="tab-content">
    <div class="tab-pane active" id="tab-1">选项卡1的内容</div>
    <div class="tab-pane" id="tab-2">选项卡2的内容</div>
    <div class="tab-pane" id="tab-3">选项卡3的内容</div>
  </div>
</div>

二、CSS样式

为了实现选项卡效果,需要设置选项卡列表样式和每个选项卡内容的样式。其中,“active”类表示当前选中的选项卡。

/* 选项卡列表样式 */
.tab-nav {
  list-style: none;
  padding: 0;
  margin: 0;
}

.tab-nav li {
  display: inline-block;
  margin-right: 10px;
}

.tab-nav li a {
  display: block;
  padding: 5px 10px;
  background-color: #eee;
  color: #333;
  text-decoration: none;
}

.tab-nav li.active a {
  background-color: #333;
  color: #fff;
}

/* 每个选项卡内容的样式 */
.tab-content .tab-pane {
  display: none;
  padding: 10px;
}

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

三、JS实现

为了实现选项卡效果,需要通过JS代码来控制选项卡内容的显示和隐藏。

$(function() {
  // 绑定选项卡菜单点击事件
  $('.tab-nav a').click(function() {
    // 取消所有菜单项的选中状态
    $('.tab-nav li').removeClass('active');
    // 设置当前菜单项选中状态
    $(this).parent().addClass('active');
    // 获取要显示的内容的ID值
    var content_id = $(this).attr('href');
    // 取消所有内容的显示状态
    $('.tab-pane').removeClass('active');
    // 设置当前要显示的内容为显示状态
    $(content_id).addClass('active');
    // 取消a标签的默认动作
    return false;
  });
});

以上代码中,首先通过$(function() {})方法来绑定页面加载完成事件,接着通过‘.tab-nav a’选择器来绑定选项卡菜单点击事件,在点击事件处理函数中,先取消所有菜单项的选中状态,然后设置当前菜单项选中状态,再通过$(this).attr('href')方法来获取要显示的内容的ID值,在$('.tab-pane').removeClass('active');语句中取消所有内容的显示状态,最后通过$(content_id).addClass('active');语句来设置当前要显示的内容为显示状态。

四、两个实例

实例一:基于Bootstrap 4

基于Bootstrap 4的选项卡效果可以借助Bootstrap的样式,实现简单而美观的选项卡效果。以下是一个基于Bootstrap 4的选项卡实例:

<div class="container mt-3">
  <ul class="nav nav-tabs">
    <li class="nav-item">
      <a class="nav-link active" data-toggle="tab" href="#tab-1">选项卡1</a>
    </li>
    <li class="nav-item">
      <a class="nav-link" data-toggle="tab" href="#tab-2">选项卡2</a>
    </li>
    <li class="nav-item">
      <a class="nav-link" data-toggle="tab" href="#tab-3">选项卡3</a>
    </li>
  </ul>
  <div class="tab-content">
    <div class="tab-pane active" id="tab-1">选项卡1的内容</div>
    <div class="tab-pane" id="tab-2">选项卡2的内容</div>
    <div class="tab-pane" id="tab-3">选项卡3的内容</div>
  </div>
</div>

上述代码中,首先引入了Bootstrap 4样式库,接着通过ul.nav.nav-tabsli.nav-item a.nav-link选择器来实现选项卡列表样式。

在JS实现中,只需要使用Bootstrap提供的data-toggle属性即可实现选项卡切换效果:

$(function() {
  $('.nav-tabs a').click(function() {
    $(this).tab('show');
  });
});

上述代码中,通过$(this).tab('show')语句来显示当前选项卡的内容。

实例二:基于纯CSS和jQuery

以下是一个基于纯CSS和jQuery实现的选项卡实例:

<div class="tabs">
  <ul class="tabs-nav">
    <li class="active"><a href="#tab-1">选项卡1</a></li>
    <li><a href="#tab-2">选项卡2</a></li>
    <li><a href="#tab-3">选项卡3</a></li>
  </ul>
  <div class="tabs-content">
    <div class="tab-pane active" id="tab-1">选项卡1的内容</div>
    <div class="tab-pane" id="tab-2">选项卡2的内容</div>
    <div class="tab-pane" id="tab-3">选项卡3的内容</div>
  </div>
</div>

上述代码中,与前文中的HTML结构类似,采用了“tabs”和“tabs-content”两个样式名,通过“tabs-nav”和“tab-pane”两个样式名,实现选项卡列表和选项卡内容的样式。

在JS代码中,与前文中类似,通过$('.tabs-nav a').click(function() {})语句来实现选项卡切换效果:

$(function() {
  $('.tabs-nav a').click(function() {
    // 取消所有菜单项的选中状态
    $('.tabs-nav li').removeClass('active');
    // 设置当前菜单项选中状态
    $(this).parent().addClass('active');
    // 获取要显示的内容的ID值
    var content_id = $(this).attr('href');
    // 取消所有内容的显示状态
    $('.tab-pane').removeClass('active');
    // 设置当前要显示的内容为显示状态
    $(content_id).addClass('active');
    // 取消a标签的默认动作
    return false;
  });
});

上述代码中,首先通过$('.tabs-nav a')选择器来绑定选项卡菜单点击事件,在点击事件处理函数中,首先取消所有菜单项的选中状态,接着设置当前菜单项选中状态,然后获取要显示的内容的ID值,在$('.tab-pane').removeClass('active');语句中取消所有内容的显示状态,最后通过$(content_id).addClass('active');语句来设置当前要显示的内容为显示状态。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JQuery 选项卡效果(JS与HTML的分离) - Python技术站

(0)
上一篇 2023年5月28日
下一篇 2023年5月28日

相关文章

  • 不用jQuery实现的动画效果代码

    以下是“不用jQuery实现的动画效果代码”的完整攻略: 1. 确定动画效果的目标元素 在使用JavaScript实现动画效果时,需要先确定目标元素。可以使用 document.querySelector() 或 document.querySelectorAll() 方法获取目标元素。例如,以下代码会选择 class 为 target 的所有元素: con…

    jquery 2023年5月27日
    00
  • jQuery event.pageY属性

    jQuery event.pageY属性返回鼠标指针相对于文档顶部的Y坐标。该属性通常用于在鼠标事件处理程序中获取鼠标指针的位置。 以下是jQuery event.pageY属性的详细攻略: 语法 event.pageY 参数 无 示例1:获取鼠标指针的位置 以下示例演示了如何使用jQuery event.pageY属性获取鼠标指针的位置: <!DOC…

    jquery 2023年5月9日
    00
  • 基于jquery实现表格内容筛选功能实例解析

    下面是完整的攻略: 1. 准备工作 引入jQuery库。 在HTML页面中添加表格及筛选区域。 2. 实现筛选功能 给筛选框绑定keyup事件监听,使用val()方法获取输入框的值。 javascript $(“#searchInput”).on(“keyup”, function() { var inputVal = $(this).val().toLow…

    jquery 2023年5月28日
    00
  • jquery中的工具使用方法$.isFunction, $.isArray(), $.isWindow()

    当我们使用jQuery对DOM进行操作时,有时需要对DOM的属性或元素进行一些判断,比如一个对象是否为一个数组,一个是否是一个方法,一个对象是否是一个窗口对象。这时候可以使用jQuery中的一些工具函数来进行判断。 $.isFunction() 该函数用于判断一个变量是否是一个函数。示例代码如下: function showMsg(){ alert(&quo…

    jquery 2023年5月27日
    00
  • 如何用JQuery计算一个字符串中的字数

    当我们需要在页面上显示一个输入框的字数时,使用JQuery可以很方便地实现。下面是计算输入框中字符数的完整攻略: 步骤1:在HTML中创建输入框 首先在HTML中创建一个输入框,可以是textarea或input标签,例如: <textarea id="myTextarea"></textarea> 步骤2:创建计…

    jquery 2023年5月12日
    00
  • jQuery Validation实例代码 让验证变得如此容易

    jQuery Validation是一个轻量级的jQuery表单验证插件,能够方便地为表单提供客户端验证。下面将详细介绍如何使用jQuery Validation实现表单验证。 1. 引入jQuery和jQuery Validation插件 首先,需要引入jQuery和jQuery Validation插件。代码如下: <!– 引入 jQuery -…

    jquery 2023年5月27日
    00
  • 让GoogleCode的SVN下的HTML文件在FireFox下正常显示.

    要让Google Code的SVN下的HTML文件在FireFox下正常显示,需要按照以下步骤进行操作: 设置SVN属性 首先,需要设置SVN属性,将文件的MIME类型设置为”text/html”。可以在终端中使用以下命令进行设置: svn propset svn:mime-type text/html yourfile.html 其中,”yourfile.…

    jquery 2023年5月18日
    00
  • jQuery+HTML5实现手机摇一摇换衣特效

    下面是详细讲解“jQuery+HTML5实现手机摇一摇换衣特效”的完整攻略: 一、需求分析 实现手机摇一摇效果,即用户在手机上通过摇晃手机来更换衣服。 利用jQuery和HTML5技术实现该效果。 二、方案设计 确定页面布局:可以使用HTML5的canvas标签来绘制衣服,界面设计采用div实现。 通过jQuery实现手机摇晃的监测,来触发更换衣服的效果。 …

    jquery 2023年5月28日
    00
合作推广
合作推广
分享本页
返回顶部