- jQuery UI 教程
- jQuery UI - 首頁
- jQuery UI - 概述
- jQuery UI - 環境搭建
- jQuery UI 小部件
- jQuery UI - 手風琴
- jQuery UI - 自動完成
- jQuery UI - 按鈕
- jQuery UI - 日期選擇器
- jQuery UI - 對話方塊
- jQuery UI - 選單
- jQuery UI - 進度條
- jQuery UI - 滑塊
- jQuery UI - 微調器
- jQuery UI - 標籤頁
- jQuery UI - 工具提示
- jQuery UI 效果
- jQuery UI - 新增類
- jQuery UI - 顏色動畫
- jQuery UI - 效果
- jQuery UI - 隱藏
- jQuery UI - 刪除類
- jQuery UI - 顯示
- jQuery UI - 切換類
- jQuery UI - 切換
- jQuery UI - 切換類
- jQuery UI 實用工具
- jQuery UI - 定位
- jQuery UI - 小部件工廠
- jQuery UI 有用資源
- jQuery UI - 快速指南
- jQuery UI - 有用資源
- jQuery UI - 討論
jQuery UI - 手風琴
jQuery UI 中的手風琴小部件是一個基於 jQuery 的可展開和摺疊的內容容器,它被分成多個部分,看起來可能像標籤頁。jQuery UI 提供了 accordion() 方法來實現這一點。
語法
accordion() 方法可以用兩種形式使用:
$(selector, context).accordion (options) 方法
accordion (options) 方法宣告一個 HTML 元素及其內容應被視為和管理為手風琴選單。options 引數是一個物件,用於指定所涉及選單的外觀和行為。
語法
$(selector, context).accordion (options);
您可以使用 Javascript 物件一次提供一個或多個選項。如果要提供多個選項,則使用逗號分隔它們,如下所示:
$(selector, context).accordion({option1: value1, option2: value2..... });
下表列出了可與此方法一起使用的不同options:
| 序號 | 選項和描述 |
|---|---|
| 1 | active
指示頁面首次訪問時開啟的選單的索引。預設值為0,即第一個選單。 |
| 2 | animate
此選項用於設定如何為更改面板設定動畫。預設值為{}。 |
| 3 | collapsible
此選項設定為true時,允許使用者透過單擊來關閉選單。預設情況下,單擊開啟的面板標題不起作用。預設值為false。 |
| 4 | disabled
此選項設定為true時,將停用手風琴。預設值為false。 |
| 5 | event
此選項指定用於選擇手風琴標題的事件。預設值為click。 |
| 6 | header
此選項指定一個選擇器或元素來覆蓋識別標題元素的預設模式。預設值為> li > :first-child,> :not(li):even。 |
| 7 | heightStyle
此選項用於控制手風琴和麵板的高度。預設值為auto。 |
| 8 | icons
此選項是一個物件,用於定義要在開啟和關閉面板的標題文字左側使用的圖示。用於關閉面板的圖示指定為名為header的屬性,而用於打開面板的圖示指定為名為headerSelected的屬性。預設值為{ "header": "ui-icon-triangle-1-e", "activeHeader": "ui-icon-triangle-1-s" }。 |
下一節將向您展示手風琴小部件功能的一些可執行示例。
預設功能
以下示例演示了手風琴小部件功能的簡單示例,未向accordion() 方法傳遞任何引數。
<!doctype html>
<html lang = "en">
<head>
<meta charset = "utf-8">
<title>jQuery UI Accordion Example </title>
<link href = "https://code.jquery.com/ui/1.10.4/themes/ui-lightness/jquery-ui.css"
rel = "stylesheet">
<script src = "https://code.jquery.com/jquery-1.10.2.js"></script>
<script src = "https://code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
<script>
$(function() {
$( "#accordion-1" ).accordion();
});
</script>
<style>
#accordion-1{font-size: 14px;}
</style>
</head>
<body>
<div id = "accordion-1">
<h3>Tab 1</h3>
<div>
<p>
Lorem ipsum dolor sit amet, consectetur adipisicing elit,
sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Ut enim ad minim veniam, quis nostrud exercitation ullamco
laboris nisi ut aliquip ex ea commodo consequat.
</p>
</div>
<h3>Tab 2</h3>
<div>
<p>
Lorem ipsum dolor sit amet, consectetur adipisicing elit,
sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Ut enim ad minim veniam, quis nostrud exercitation ullamco
laboris nisi ut aliquip ex ea commodo consequat.
</p>
</div>
<h3>Tab 3</h3>
<div>
<p>
Lorem ipsum dolor sit amet, consectetur adipisicing elit,
sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Ut enim ad minim veniam, quis nostrud exercitation ullamco
laboris nisi ut aliquip ex ea commodo consequat.
</p>
</div>
</div>
</body>
</html>
讓我們將上述程式碼儲存在一個名為accordionexample.htm 的 HTML 檔案中,並在支援 javascript 的標準瀏覽器中開啟它,您還應該看到以下輸出。現在,您可以使用結果:
單擊標題(選項卡 1、選項卡 2、選項卡 3)以展開/摺疊分成邏輯部分的內容,就像標籤頁一樣。
collapsible 的用法
以下示例演示了在 jQuery UI 的手風琴小部件中使用三個選項collapsible。
<!doctype html>
<html lang = "en">
<head>
<meta charset = "utf-8">
<title>jQuery UI Accordion Example </title>
<link href = "https://code.jquery.com/ui/1.10.4/themes/ui-lightness/jquery-ui.css"
rel = "stylesheet">
<script src = "https://code.jquery.com/jquery-1.10.2.js"></script>
<script src = "https://code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
<script>
$(function() {
$( "#accordion-2" ).accordion({
collapsible: true
});
});
</script>
<style>
#accordion-2{font-size: 14px;}
</style>
</head>
<body>
<div id = "accordion-2">
<h3>Tab 1</h3>
<div>
<p>
Lorem ipsum dolor sit amet, consectetur adipisicing elit,
sed do eiusmod tempor incididunt ut labore et dolore magna
aliqua. Ut enim ad minim veniam, quis nostrud exercitation
ullamco laboris nisi ut aliquip ex ea commodo consequat.
</p>
</div>
<h3>Tab 2</h3>
<div>
<p>
Lorem ipsum dolor sit amet, consectetur adipisicing elit,
sed do eiusmod tempor incididunt ut labore et dolore magna
aliqua. Ut enim ad minim veniam, quis nostrud exercitation
ullamco laboris nisi ut aliquip ex ea commodo consequat.
</p>
</div>
<h3>Tab 3</h3>
<div>
<p>
Lorem ipsum dolor sit amet, consectetur adipisicing elit,
sed do eiusmod tempor incididunt ut labore et dolore magna
aliqua. Ut enim ad minim veniam, quis nostrud exercitation
ullamco laboris nisi ut aliquip ex ea commodo consequat.
</p>
<ul>
<li>List item one</li>
<li>List item two</li>
<li>List item three</li>
</ul>
</div>
</div>
</body>
</html>
讓我們將上述程式碼儲存在一個名為accordionexample.htm 的 HTML 檔案中,並在支援 javascript 的標準瀏覽器中開啟它,您還應該看到以下輸出。現在,您可以使用結果:
在這裡,我們將 collapsible 設定為true。單擊手風琴標題,這允許摺疊活動部分。
heightStyle 的用法
以下示例演示了在 jQuery UI 的手風琴小部件中使用三個選項heightStyle。
<!doctype html>
<html lang = "en">
<head>
<meta charset = "utf-8">
<title>jQuery UI Accordion Example </title>
<link href = "https://code.jquery.com/ui/1.10.4/themes/ui-lightness/jquery-ui.css"
rel = "stylesheet">
<script src = "https://code.jquery.com/jquery-1.10.2.js"></script>
<script src = "https://code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
<script>
$(function() {
$( "#accordion-3" ).accordion({
heightStyle: "content"
});
$( "#accordion-4" ).accordion({
heightStyle: "fill"
});
});
</script>
<style>
#accordion-3, #accordion-4{font-size: 14px;}
</style>
</head>
<body>
<h3>Height style-content</h3>
<div style = "height:250px">
<div id = "accordion-3">
<h3>Tab 1</h3>
<div>
<p>
Lorem ipsum dolor sit amet, consectetur adipisicing elit,
sed do eiusmod tempor incididunt ut labore et dolore
magna aliqua.
</p>
<ul>
<li>List item one</li>
<li>List item two</li>
<li>List item three</li>
<li>List item four</li>
<li>List item five</li>
</ul>
</div>
<h3>Tab 2</h3>
<div>
<p>
Lorem ipsum dolor sit amet, consectetur adipisicing elit,
sed do eiusmod tempor incididunt ut labore et dolore
magna aliqua.
</p>
</div>
<h3>Tab 3</h3>
<div>
<p>
Lorem ipsum dolor sit amet, consectetur adipisicing elit,
sed do eiusmod tempor incididunt ut labore et dolore
magna aliqua.
</p>
</div>
</div>
</div><br><br>
<h3>Height style-Fill</h3>
<div style = "height:250px">
<div id = "accordion-4">
<h3>Tab 1</h3>
<div>
<p>
Lorem ipsum dolor sit amet, consectetur adipisicing
elit, sed do eiusmod tempor incididunt ut labore
et dolore magna aliqua.
</p>
<ul>
<li>List item one</li>
<li>List item two</li>
<li>List item three</li>
<li>List item four</li>
<li>List item five</li>
</ul>
</div>
<h3>Tab 2</h3>
<div>
<p>
Lorem ipsum dolor sit amet, consectetur adipisicing
elit, sed do eiusmod tempor incididunt ut labore
et dolore magna aliqua.
</p>
</div>
<h3>Tab 3</h3>
<div>
<p>
Lorem ipsum dolor sit amet, consectetur adipisicing
elit, sed do eiusmod tempor incididunt ut labore
et dolore magna aliqua.
</p>
</div>
</div>
</div>
</body>
</html>
讓我們將上述程式碼儲存在一個名為accordionexample.htm 的 HTML 檔案中,並在支援 javascript 的標準瀏覽器中開啟它,您還應該看到以下輸出。現在,您可以使用結果:
這裡我們有兩個手風琴,第一個手風琴的heightStyle選項設定為content,允許手風琴面板保持其原生高度。第二個手風琴的heightStyle選項設定為fill,指令碼將自動將手風琴的尺寸設定為其父容器的高度。
$(selector, context).accordion ("action", params) 方法
accordion ("action", params) 方法可以在手風琴元素上執行操作,例如選擇/取消選擇手風琴選單。操作在第一個引數中指定為字串(例如,“disable”停用所有選單)。查看下錶中可以傳遞的操作。
語法
$(selector, context).accordion ("action", params);;
下表列出了可與此方法一起使用的不同actions:
| 序號 | 操作和描述 |
|---|---|
| 1 | destroy
此操作將完全銷燬元素的手風琴功能。元素將恢復到其初始化前的狀態。 |
| 2 | disable
此操作停用所有選單。不會考慮任何點選。此方法不接受任何引數。 |
| 3 | enable
此操作重新啟用所有選單。再次考慮點選。此方法不接受任何引數。 |
| 4 | option( optionName )
此操作獲取當前與指定的optionName關聯的手風琴元素的值。這需要一個字串值作為引數。 |
| 5 | option
此操作獲取一個物件,其中包含表示當前手風琴選項雜湊的鍵/值對。 |
| 6 | option( optionName, value )
此操作設定與指定的 optionName 關聯的手風琴選項的值。 |
| 7 | option( options )
此操作設定手風琴的一個或多個選項。 |
| 8 | refresh
此操作處理直接在 DOM 中新增或刪除的任何標題和麵板。然後重新計算手風琴面板的高度。結果取決於內容和 heightStyle 選項。此方法不接受任何引數。 |
| 9 | widget
此操作返回手風琴小部件元素;用ui-accordion類名註釋的那個。 |
示例
現在讓我們看看使用上表中操作的示例。以下示例演示了option( optionName, value ) 方法的用法。
<!doctype html>
<html lang = "en">
<head>
<meta charset = "utf-8">
<title>jQuery UI Accordion Example </title>
<link href = "https://code.jquery.com/ui/1.10.4/themes/ui-lightness/jquery-ui.css"
rel = "stylesheet">
<script src = "https://code.jquery.com/jquery-1.10.2.js"></script>
<script src="https://code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
<script>
$(function() {
$( "#accordion-5" ).accordion({
disabled: false
});
$("input").each(function () {
$(this).change(function () {
if ($(this).attr("id") == "disableaccordion") {
$("#accordion-5").accordion("option", "disabled", true);
} else {
$("#accordion-5").accordion("option", "disabled", false);
}
});
});
});
</script>
<style>
#accordion-5{font-size: 14px;}
</style>
</head>
<body>
<div id = "accordion-5">
<h3>Tab 1</h3>
<div>
<p>
Lorem ipsum dolor sit amet, consectetur adipisicing elit,
sed do eiusmod tempor incididunt ut labore et dolore magna
aliqua. Ut enim ad minim veniam, quis nostrud
exercitation ullamco laboris nisi ut aliquip ex ea
commodo consequat.
</p>
</div>
<h3>Tab 2</h3>
<div>
<p>
Lorem ipsum dolor sit amet, consectetur adipisicing elit,
sed do eiusmod tempor incididunt ut labore et dolore magna
aliqua. Ut enim ad minim veniam, quis nostrud
exercitation ullamco laboris nisi ut aliquip ex ea
commodo consequat.
</p>
</div>
<h3>Tab 3</h3>
<div>
<p>
Lorem ipsum dolor sit amet, consectetur adipisicing elit,
sed do eiusmod tempor incididunt ut labore et dolore magna
aliqua. Ut enim ad minim veniam, quis nostrud
exercitation ullamco laboris nisi ut aliquip ex ea
commodo consequat.
</p>
<ul>
<li>List item one</li>
<li>List item two</li>
<li>List item three</li>
</ul>
</div>
</div>
<div style = "margin-top:30px">
<input type = "radio" name = "disable" id = "disableaccordion"
value = "disable">Disable accordion
<input type = "radio" name = "disable" id = "enableaccordion" checked
value = "enable">Enable accordion
</div>
</body>
</html>
讓我們將上述程式碼儲存在一個名為accordionexample.htm 的 HTML 檔案中,並在支援 javascript 的標準瀏覽器中開啟它,您還應該看到以下輸出:
在這裡,我們演示了手風琴的啟用和停用。選擇相應的單選按鈕以檢查每個操作。
手風琴元素上的事件管理
除了我們在上一節中看到的 accordion (options) 方法外,jQuery UI 還提供了在特定事件觸發時觸發的事件方法。這些事件方法列在下面:
| 序號 | 事件方法和描述 |
|---|---|
| 1 | activate(event, ui)
當啟用選單時觸發此事件。此事件僅在面板啟用時觸發,在建立手風琴小部件時不會為初始面板觸發。 |
| 2 | beforeActivate(event, ui)
在啟用面板之前觸發此事件。可以取消此事件以阻止面板啟用。 |
| 3 | create(event, ui)
建立手風琴時觸發此事件。 |
示例
以下示例演示了手風琴小部件中的事件方法用法。此示例演示了事件create、beforeActive和active的用法。
<!doctype html>
<html lang = "en">
<head>
<meta charset = "utf-8">
<title>jQuery UI Accordion Example </title>
<link href = "https://code.jquery.com/ui/1.10.4/themes/ui-lightness/jquery-ui.css"
rel = "stylesheet">
<script src = "https://code.jquery.com/jquery-1.10.2.js"></script>
<script src = "https://code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
<script>
$(function() {
$( "#accordion-6" ).accordion({
create: function (event, ui) {
$("span#result").html ($("span#result").html () +
"<b>Created</b><br>");
},
beforeActivate : function (event, ui) {
$("span#result").html ($("span#result").html () +
", <b>beforeActivate</b><br>");
},
activate: function (event, ui) {
$("span#result").html ($("span#result").html () +
"<b>activate</b><br>");
}
});
});
</script>
<style>
#accordion-6{font-size: 14px;}
</style>
</head>
<body>
<div id = "accordion-6">
<h3>Tab 1</h3>
<div>
<p>
Lorem ipsum dolor sit amet, consectetur adipisicing elit,
sed do eiusmod tempor incididunt ut labore et dolore
magna aliqua. Ut enim ad minim veniam, quis nostrud
exercitation ullamco laboris nisi ut aliquip ex ea
commodo consequat.
</p>
</div>
<h3>Tab 2</h3>
<div>
<p>
Lorem ipsum dolor sit amet, consectetur adipisicing elit,
sed do eiusmod tempor incididunt ut labore et dolore
magna aliqua. Ut enim ad minim veniam, quis nostrud
exercitation ullamco laboris nisi ut aliquip ex ea
commodo consequat.
</p>
</div>
<h3>Tab 3</h3>
<div>
<p>
Lorem ipsum dolor sit amet, consectetur adipisicing elit,
sed do eiusmod tempor incididunt ut labore et dolore
magna aliqua. Ut enim ad minim veniam, quis nostrud
exercitation ullamco laboris nisi ut aliquip ex ea
commodo consequat.
</p>
<ul>
<li>List item one</li>
<li>List item two</li>
<li>List item three</li>
</ul>
</div>
</div>
<hr />
<span id = result></span>
</body>
</html>
讓我們將上述程式碼儲存在一個名為accordionexample.htm 的 HTML 檔案中,並在支援 javascript 的標準瀏覽器中開啟它,您還應該看到以下輸出:
我們根據事件在底部顯示文字。