jQuery UI の Tabs プラグインを使ったタブ型メニューにおいて、ドラッグ&ドロップにより、タブの順番を、並べ替えられるようにする方法。ドラッグ&ドロップで並べ替えられるようにするには、Sortable プラグインを併用する。
実装例(サンプル)
タブメニュー① の内容。
この実装例の、jQuery UI の CSS テーマは、デフォルトのテーマを読み込んで使っている。他の CSS テーマにも対応しているので、色々試してみるといい。
タブメニュー② の内容。
タブメニュー③の内容。
実装例の動作について
「タブメニュー①」「タブメニュー②」「タブメニュー③」の、それぞれのタブメニュー名をクリックすると、そのタブメニューの内容を開く。
「タブメニュー①」「タブメニュー②」「タブメニュー③」の、それぞれのタブメニューは、ドラッグ&ドロップによる並べ替えを行える。「タブメニュー①」をドラッグし、「タブメニュー②」「タブメニュー③」の間に移動すると、「タブメニュー②」が左へ移動し、「タブメニュー②」「タブメニュー③」の間にスペースができる。そのスペースへ「タブメニュー①」をドロップすることで、「タブメニュー②」「タブメニュー①」「タブメニュー③」の順番に変更できる。
実装例のソースコード
読み込み
読み込み方は、2種類ある。パスは、それぞれ、アップロードした場所を指定する。
まとめて読み込む場合
<link rel="stylesheet" href="themes/base/jquery.ui.all.css">
<script type="text/javascript" src="jquery-1.4.2.js"></script>
<script type="text/javascript" src="ui/jquery-ui-1.8.12.custom.min.js"></script>
<script type="text/javascript" src="jquery-1.4.2.js"></script>
<script type="text/javascript" src="ui/jquery-ui-1.8.12.custom.min.js"></script>
個別に読み込む場合
<link rel="stylesheet" href="themes/base/jquery.ui.all.css">
<script type="text/javascript" src="jquery-1.4.2.js"></script>
<script type="text/javascript" src="ui/jquery.ui.core.js"></script>
<script type="text/javascript" src="ui/jquery.ui.widget.js"></script>
<script type="text/javascript" src="ui/jquery.ui.mouse.js"></script>
<script type="text/javascript" src="ui/jquery.ui.sortable.js"></script>
<script type="text/javascript" src="ui/jquery.ui.tabs.js"></script>
<script type="text/javascript" src="jquery-1.4.2.js"></script>
<script type="text/javascript" src="ui/jquery.ui.core.js"></script>
<script type="text/javascript" src="ui/jquery.ui.widget.js"></script>
<script type="text/javascript" src="ui/jquery.ui.mouse.js"></script>
<script type="text/javascript" src="ui/jquery.ui.sortable.js"></script>
<script type="text/javascript" src="ui/jquery.ui.tabs.js"></script>
JavaScript
<script type="text/javascript">
<!--
jQuery( function() {
jQuery( '#jquery-ui-tabs' ) . tabs();
jQuery( '.ui-tabs-nav' ) . sortable( {
axis: 'x'
} );
} );
// -->
</script>
<!--
jQuery( function() {
jQuery( '#jquery-ui-tabs' ) . tabs();
jQuery( '.ui-tabs-nav' ) . sortable( {
axis: 'x'
} );
} );
// -->
</script>
HTML
<div id="jquery-ui-tabs">
<ul>
<li><a href="#jquery-ui-tabs-1">タブメニュー①</a></li>
<li><a href="#jquery-ui-tabs-2">タブメニュー②</a></li>
<li><a href="#jquery-ui-tabs-3">タブメニュー③</a></li>
</ul>
<div id="jquery-ui-tabs-1">
<p>タブメニュー① の内容。</p>
<p>この実装例の、jQuery UI の CSS テーマは、デフォルトのテーマを読み込んで使っている。他の CSS テーマにも対応しているので、色々試してみるといい。</p>
</div>
<div id="jquery-ui-tabs-2">
<p>タブメニュー② の内容。</p>
</div>
<div id="jquery-ui-tabs-3">
<p>タブメニュー③の内容。</p>
</div>
</div>
<ul>
<li><a href="#jquery-ui-tabs-1">タブメニュー①</a></li>
<li><a href="#jquery-ui-tabs-2">タブメニュー②</a></li>
<li><a href="#jquery-ui-tabs-3">タブメニュー③</a></li>
</ul>
<div id="jquery-ui-tabs-1">
<p>タブメニュー① の内容。</p>
<p>この実装例の、jQuery UI の CSS テーマは、デフォルトのテーマを読み込んで使っている。他の CSS テーマにも対応しているので、色々試してみるといい。</p>
</div>
<div id="jquery-ui-tabs-2">
<p>タブメニュー② の内容。</p>
</div>
<div id="jquery-ui-tabs-3">
<p>タブメニュー③の内容。</p>
</div>
</div>