📜  jQuery UI 标签启用方法(1)

📅  最后修改于: 2023-12-03 15:32:11.558000             🧑  作者: Mango

jQuery UI 标签启用方法

jQuery UI 是一个强大的 JavaScript 库,它提供了一系列的 UI 组件和交互式效果,使 Web 开发变得更简单、更容易。其中一个常用的组件就是标签。

本文将介绍如何使用 jQuery UI 的标签组件,并提供一些示例代码。

引用 jQuery UI

在使用 jQuery UI 的标签组件前,我们需要先将 jQuery 和 jQuery UI 的库文件引入项目中。可以从 jQuery 官方网站 http://jquery.com 和 jQuery UI 官方网站 https://jqueryui.com 下载相应的文件。

<!-- 引入 jQuery UI 和样式文件 -->
<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.min.js"></script>
<link rel="stylesheet" href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
启用标签组件

要启用标签组件,我们需要按以下方式调用 jQuery UI 标签方法:

$(selector).tabs(options);

其中,selector 为要启用标签组件的元素选择器,options 是一个可选的配置对象,用于指定标签组件的行为和样式。

下面是一个简单的示例代码,启用一个拥有 3 个标签页的标签:

<div id="tabs">
  <ul>
    <li><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 id="tab-1">
    <p>这是标签 1 的内容。</p>
  </div>
  <div id="tab-2">
    <p>这是标签 2 的内容。</p>
  </div>
  <div id="tab-3">
    <p>这是标签 3 的内容。</p>
  </div>
</div>

<script>
$(function() {
  $("#tabs").tabs();
});
</script>

上述代码会将 idtabsdiv 元素转换为标签组件,其中每个标签页的内容由对应的 idtab-1tab-2tab-3div 元素中的内容来填充。

动态添加标签页

标签组件还支持在运行时动态添加标签页。我们可以使用 add 方法来添加新的标签页,如下所示:

$(selector).tabs("add", url, label, [index]);

其中,url 为标签页对应的 URL,label 为标签页名称,index 为可选参数,用于指定新标签页的位置。

下面是一个添加新标签页的示例代码:

<div id="tabs">
  <ul>
    <li><a href="#tab-1">标签 1</a></li>
    <li><a href="#tab-2">标签 2</a></li>
  </ul>
  <div id="tab-1">
    <p>这是标签 1 的内容。</p>
  </div>
  <div id="tab-2">
    <p>这是标签 2 的内容。</p>
  </div>
</div>

<button id="add-tab">添加标签页</button>

<script>
$(function() {
  $("#tabs").tabs();
  
  $("#add-tab").click(function(e) {
    e.preventDefault();
    var index = $("#tabs ul li").length + 1;
    var url = "http://example.com";
    var label = "标签 " + index;
    var content = "<p>这是 " + label + " 的内容。</p>";
    $("#tabs").tabs("add", url, label, index - 1).
               find(".ui-tabs-panel:last").
               html(content);
  });
});
</script>

在点击按钮后,将添加一个新的标签页,并将其内容填充为一个段落标签。

自定义标签

如果默认的标签样式不能满足我们的需求,我们也可以自定义标签的样式和行为。这可以通过指定 CSS 类来实现。

以下是一个自定义类名为 my-tabs 的标签样式的示例代码:

<div id="tabs" class="my-tabs">
  <ul>
    <li><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 id="tab-1">
    <p>这是标签 1 的内容。</p>
  </div>
  <div id="tab-2">
    <p>这是标签 2 的内容。</p>
  </div>
  <div id="tab-3">
    <p>这是标签 3 的内容。</p>
  </div>
</div>

<style>
.my-tabs .ui-tabs-nav li {
  background-color: #e6e6e6;
  padding: 10px;
  border-radius: 5px;
}
.my-tabs .ui-tabs-active {
  background-color: #fff;
  border-bottom: none;
}
</style>

<script>
$(function() {
  $("#tabs").tabs();
});
</script>

上述代码中,我们为 div 元素指定了一个类名 my-tabs,然后在 CSS 中定义了这个类的样式。这样就可以使标签栏的外观与默认的样式不同。