jQuery UIでソート可能なアコーディオン(Accordion)を作る方法
今回はソート可能なアコーディオンを作る方法を紹介します。
Contents
jQuery UIでソート可能なアコーディオン(Accordion)を作る方法
HTMLコード
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>accordion demo</title>
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
</head>
<body>
<div id="accordion">
<div class="group">
<h3>セクション 1</h3>
<div>
<p>ああああ</p>
</div>
</div>
<div class="group">
<h3>セクション 2</h3>
<div>
<p>いいいい</p>
</div>
</div>
<div class="group">
<h3>セクション 3</h3>
<div>
<p>うううう</p>
<ul>
<li>項目1</li>
<li>項目2</li>
<li>項目3</li>
</ul>
</div>
</div>
</div>
<script>
$( "#accordion" ).accordion({header: "> div > h3",heightStyle :"content"})
.sortable(
{
axis: "y",
handle: "h3"
});
</script>
</body>
</html>
デモ
Interactions
「Interactions」とは、『jQuery UI provides a set of mouse-based interactions as building blocks for rich interfaces and complex widgets.』(jQuery UIは豊富なインターフェースや複雑なウィジェットブロック構築用に、一連のマウス操作群を提供しています)とのことで、さまざまな操作を可能とさせるオブジェクト提供しています。
ソート可能なアコーディオンを作成するには「Sortable Widget」を利用します。
Sortable Widget
<script>
$( "#accordion" ).accordion({header: "> div > h3",heightStyle :"content"})
.sortable(
{
axis: "y",
handle: "h3"
});
</script>
sortableを利用することでソートを実装します。
オプション
利用したオプションだけ紹介します。
axis | ソートする軸(縦なのか横なのか?)を指定するオプション y:縦へのソート x:横へのソート |
handle | ソートを実行させるエレメント(element)またはセレクタ(selector) サンプルの場合は「h3」でドラッグすることで手動でソートできるようになります |