如何使用 jQuery UI 启用手风琴折叠面板?
手风琴折叠面板是一个可折叠的 UI 组件,用于提升网页的视觉吸引力。手风琴折叠面板包含多个部分和子部分,这些子部分代表可折叠的部分。每个元素都有一个标题,点击后会显示另一个部分,其中包含有关该标题的更多详细信息。
同时只允许一次打开一个标题。
一些用于启用手风琴面板的实用方法
Destroy: 用于销毁手风琴面板。
Disable: 用于禁用手风琴面板。
Enable: 用于启用手风琴面板。
以下示例中使用的一些实用事件
Activate: 在手风琴面板激活后触发。此函数接收两个参数:UI 和 Event。
BeforeActivate: 在手风琴面板激活前触发。此函数接收两个参数:UI 和 Event。
Create: 创建手风琴面板后触发。此函数也接收两个参数:UI 和 Event
方法 1:使用 .accordion() 方法
在此方法中,我们将在父容器元素上使用此方法来创建 Accordion。jQuery UI 提供了一个内置的 Accordion 小部件,可用于在 jQuery 中创建 Accordion 组件。
算法
步骤 1:创建一个包含容器和标题的基本 HTML 文件。使用 <div> 并指定容器的 id。使用 header 标签和 <P> 标签创建标题并编写相关文本。
步骤 2:在 HTML 文档的 head 部分添加所需的 jQuery 导入。
步骤 3:通过选择 <script> 中的父 div 元素来调用 .accordion() 方法。标签。
示例
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>JQuery UI Accordion</title>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script src="https://code.jquery.com/ui/1.13.1/jquery-ui.min.js"></script>
<script>
$( function() {
$( "#accordion" ).accordion();
});
</script>
</head>
<body>
<h2>Tutorials Point Accordion</h2>
<div id="accordion">
<h3>Programming Languages</h3>
<div>
<p>C</p>
<p>Python</p>
<p>Frontend</p>
<p>C++</p>
</div>
<h3>Fruits</h3>
<div>
<p>Apple</p>
<p>Banana</p>
<p>Mango</p>
</div>
<h3>Vehicles</h3>
<div>
<p>Car</p>
<p>Bike</p>
<p>Truck</p>
</div>
</div>
</body>
</html>
使用 .accordion() 方法创建了基本的手风琴折叠面板,点击后会自动关闭第一个标题的内容。
方法 2:使用 ready() 函数
另一种方法是使用 .accordion() 方法和 ready() 函数。JavaScript 中的 ready() 函数用于在 DOM 完全渲染后执行特定程序。
.accordion() 方法中传递了一些可选参数,它们是:
Active: 此可选参数将活动/打开的手风琴折叠面板设置为给定的索引号。默认值为 0,即第一个索引号。您也可以将其设置为 false,以将手风琴折叠面板设置为关闭状态。
Animate: 此可选参数设置手风琴折叠面板打开/关闭时的动画效果,它获取数字/布尔值。数字定义持续时间(以毫秒为单位),布尔值 false 将禁用所有类型的动画。
算法
步骤 1:创建 HTML 文件,在元素内创建标题和文本,并在 <head> 标签内导入所需的 jQuery UI 脚本。
步骤 2:在脚本标签内使用 .accordion() 方法以及 ready() 函数启用手风琴折叠面板。
示例
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>JQuery UI Accordion</title>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script src="https://code.jquery.com/ui/1.13.1/jquery-ui.min.js"></script>
<script>
$(document).ready(function() {
$('#accordion').accordion({
active: 1,
animate: 200
});
});
</script>
</head>
<body style="text-align: center;">
<h1>Tutorials Point Accordion</h1>
<h2>Javascript Web Development</h2>
<div id="accordion">
<h4>Frontend</h4>
<div>
<p>ReactJS</p>
<p>NextJS</p>
<p>Angular JS</p>
</div>
<h4>Backend</h4>
<div>
<p>Node.js </p>
<p>Express.js</p>
</div>
<h4>Mobile Development</h4>
<p>React Native</p>
</div>
</body>
</html>
方法 3:使用 data-accordion 属性
另一种使用 jQuery UI 启用手风琴折叠面板的方法是结合使用 data-accordion 属性以及 .ready() 函数和 .accordion() 方法。 在本例中,我们传入了 heightStyle 参数,用于设置手风琴折叠面板和每个面板的高度。该参数接受字符串值,例如"auto"、"fill"和"content"。默认值为"auto"。
算法
步骤 1:创建一个 div 元素并指定一个合适的 id 名称。同时使用 <header> 标签创建手风琴折叠面板的标题部分,并使用 data-accordion 属性,该属性的默认"active"状态为 false。
步骤 2:现在在 <script> 标签内添加 accordion() 方法以及 ready() 函数。
示例
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>JQuery UI Accordion</title>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script src="https://code.jquery.com/ui/1.13.1/jquery-ui.min.js"></script>
<script>
$(document).ready(function() {
$('#accordion').accordion({
header: "> h3",
heightStyle: "content",
});
});
</script>
</head>
<body style="text-align: center;">
<h1>Tutorials Point Accordion</h1>
<h2>Programming Languages</h2>
<div id="accordion" style="text-align: center;">
<h3 data-accordion="{'active': false}">OOPS</h3>
<div>
<p data-accordion="{'heightStyle': 'content'}">Java</p>
<p data-accordion="{'heightStyle': 'content'}">Python</p>
<p data-accordion="{'heightStyle': 'content'}">C++</p>
</div>
<h3 data-accordion="{'active': false}">Game Development</h3>
<div>
<p data-accordion="{'heightStyle': 'content'}">Java</p>
<p data-accordion="{'heightStyle': 'content'}">C#</p>
</div>
<h3 data-accordion="{'active': false}">Mobile Development</h3>
<div>
<p data-accordion="{'heightStyle': 'content'}">Objective C</p>
<p data-accordion="{'heightStyle': 'content'}">Kotlin</p>
<p data-accordion="{'heightStyle': 'content'}">React Native</p>
</div>
</div>
</body>
</html>
结论
建议在复杂的 HTML 文件中结合使用 .accordion() 方法和 .ready() 函数,因为页面加载正确后,手风琴面板就会启用。您可以随时使用上述任何方法,并使用 accordion() 的 CSS 样式和选项、方法和事件来设置手风琴面板的样式和自定义
有用资源
html 参考教程 - 该教程包含有关 html 的更多信息:https://www.cainiaomax.com/html/

