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日

相关文章

  • JavaScript和jQuery之间的区别

    JavaScript和jQuery是两种不同的技术,虽然它们都可以用于Web开发,但它们之间有一些区别。以下是JavaScript和jQuery之间的区别的完整攻略: JavaScript和jQuery的区别 1. 语法 JavaScript是一种编程语言,它具有自己的语法和规则。它是一种面向对象的语言,可以用于编写复杂的应用程序。JavaScript的语法…

    jquery 2023年5月9日
    00
  • jQWidgets jqxGauge LinearGauge enable()方法

    jQWidgets jqxGauge LinearGauge enable()方法 jQWidgets是一个基于jQuery的UI组件库,提供了丰富的UI组件和工具,包括表格、图表、日历、菜单等。jqxGauge和jqxLinearGauge是jQWidgets中的两个组件,用于显示仪表盘和线性仪表盘。这两个组件都提供了enable()方法,用于启用组件。 …

    jquery 2023年5月9日
    00
  • Jquery的autocomplete插件用法及参数讲解

    当您需要在网站上实现一个带有自动提示的搜索框时,jQuery的autocomplete插件是一个非常有用的工具。下面我们将详细讲解jQuery的autocomplete插件的用法及参数讲解: 1. 引用autocomplete插件 首先,您需要下载jQuery的autocomplete插件并引用它: <!– 引用 jQuery CDN –> …

    jquery 2023年5月28日
    00
  • jQuery实现html表格动态添加新行的方法

    当我们需要在网页中动态添加HTML表格新行时,jQuery是一个非常常用的工具。下面我将详细讲解如何使用jQuery来实现HTML表格动态添加新行的方法。 一、使用jQuery的append()方法 使用jQuery的append()方法可以向HTML表格添加新行。具体步骤如下: 准备一个HTML表格。例如: <table> <thead&…

    jquery 2023年5月27日
    00
  • JQuery UI的拖拽功能实现方法小结

    我来简要介绍一下实现JQuery UI的拖拽功能的方法。 1. 引入JQuery UI库 首先要在html中引入JQuery和JQuery UI库文件,可以通过CDN,可以下载到本地后引入。 <!– 引入 JQuery –> <script src="https://cdn.bootcdn.net/ajax/libs/jque…

    jquery 2023年5月28日
    00
  • 如何用jQuery在页面的所有段落上显示一个dblclick事件的信息

    要在页面的所有段落上显示一个dblclick事件的信息,我们可以使用以下步骤: 使用$(“p”)选择器选择所有段落元素。 使用.on()函数将dblclick事件绑定到每个段落元素上,例如$(“p”).ondblclick”, function() {})。 在事件处理程序函数中,使用$(this)获取当前段落元素,并使用.text()函数获取其文本内容。 …

    jquery 2023年5月9日
    00
  • js整数字符串转换为金额类型数据(示例代码)

    我来为你详细讲解一下”js整数字符串转换为金额类型数据(示例代码)”的攻略。 标题 文章的标题需要简洁明了,让读者一目了然文章的主题。下面是一个合适的标题示例: JavaScript中的整数字符串转金额类型数据 背景介绍 在某些情况下,我们需要将整数字符串转换为金额类型数据,这个过程比较复杂,但有很多方法可以实现。在本篇文章中,我们将通过示例代码,分享两种实…

    jquery 2023年5月28日
    00
  • jQuery Mobile Listview splitTheme选项

    下面是关于jQuery Mobile Listview splitTheme选项的详细讲解及示例说明。 什么是jQuery Mobile Listview jQuery Mobile Listview是jQuery Mobile框架中的一个常用UI组件,用于展示一组数据列表,非常适合在移动端应用中使用。它具有样式和布局的一致性,支持各种主题,并提供了一些选项…

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