単一のページに複数のパネルを設置することで、各リストのヘッダーに関連させるタブ機能を提供します。
デフォルト 折りたたみ可能 Ajax連携 マウスオーバーイベントで切り替え シンプルなタブ編集機能 並び替え可能 下付きタブ 縦方向タブ <!doctype html>
<html lang="ja">
<head>
<meta charset="utf-8" />
<title>jQuery UI Tabs - Default functionality</title>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.9.2/themes/base/jquery-ui.css" />
<script src="http://code.jquery.com/jquery-1.8.3.js"></script>
<script src="http://code.jquery.com/ui/1.9.2/jquery-ui.js"></script>
<link rel="stylesheet" href="/demos/style.css" />
<script>
$(function() {
$( "#tabs" ).tabs();
});
</script>
</head>
<body>
<div id="tabs">
<ul>
<li><a href="#tabs-1">タブ1</a></li>
<li><a href="#tabs-2">タブ2</a></li>
<li><a href="#tabs-3">タブ3</a></li>
</ul>
<div id="tabs-1">
<p>デフォルトのタブです。</p>
</div>
<div id="tabs-2">
<p>タブ2のコンテンツ領域です。</p>
</div>
<div id="tabs-3">
<p>タブ3のコンテンツ領域です。タブ2のコンテンツ領域です。</p>
</div>
</div>
</body>
</html>
<!doctype html>
<html lang="ja">
<head>
<meta charset="utf-8" />
<title>jQuery UI Tabs - Collapse content</title>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.9.2/themes/base/jquery-ui.css" />
<script src="http://code.jquery.com/jquery-1.8.3.js"></script>
<script src="http://code.jquery.com/ui/1.9.2/jquery-ui.js"></script>
<link rel="stylesheet" href="/demos/style.css" />
<script>
$(function() {
$( "#tabs" ).tabs({
collapsible: true
});
});
</script>
</head>
<body>
<div id="tabs">
<ul>
<li><a href="#tabs-1">タブ1</a></li>
<li><a href="#tabs-2">タブ2</a></li>
<li><a href="#tabs-3">タブ3</a></li>
</ul>
<div id="tabs-1">
<p><strong>タブを再度クリックすると、全てのタブが閉じられた状態になります。</strong></p>
<p>折りたたみ可能なタブです。</p>
</div>
<div id="tabs-2">
<p><strong>タブを再度クリックすると、全てのタブが閉じられた状態になります。</strong></p>
<p>タブ2のコンテンツ領域です。</p>
</div>
<div id="tabs-3">
<p><strong>タブを再度クリックすると、全てのタブが閉じられた状態になります。</strong></p>
<p>タブ3のコンテンツ領域です。</p>
</div>
</div>
</body>
</html>
<!doctype html>
<html lang="ja">
<head>
<meta charset="utf-8" />
<title>jQuery UI Tabs - Content via Ajax</title>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.9.2/themes/base/jquery-ui.css" />
<script src="http://code.jquery.com/jquery-1.8.3.js"></script>
<script src="http://code.jquery.com/ui/1.9.2/jquery-ui.js"></script>
<link rel="stylesheet" href="/demos/style.css" />
<script>
$(function() {
$( "#tabs" ).tabs({
beforeLoad: function( event, ui ) {
ui.jqXHR.error(function() {
ui.panel.html("このタブのコンテンツのロードに失敗しました。");
});
}
});
});
</script>
</head>
<body>
<div id="tabs">
<ul>
<li><a href="#tabs-1">ロード済み</a></li>
<li><a href="ajax/content1.html">タブ1</a></li>
<li><a href="ajax/content2.html">タブ2</a></li>
<li><a href="/demo/jqueryui/content3-slow">タブ3(遅延)</a></li>
<li><a href="/demo/jqueryui/content4-broken">タブ4(取得失敗)</a></li>
</ul>
<div id="tabs-1">
<p>このコンテンツはロード済みです。</p>
<p>他のタブ情報はAjaxによって、コンテンツ取得を試みます。</p>
</div>
</div>
</body>
</html>
<!doctype html>
<html lang="ja">
<head>
<meta charset="utf-8" />
<title>jQuery UI Tabs - Open on mouseover</title>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.9.2/themes/base/jquery-ui.css" />
<script src="http://code.jquery.com/jquery-1.8.3.js"></script>
<script src="http://code.jquery.com/ui/1.9.2/jquery-ui.js"></script>
<link rel="stylesheet" href="/demos/style.css" />
<script>
$(function() {
$( "#tabs" ).tabs({
event: "mouseover"
});
});
</script>
</head>
<body>
<div id="tabs">
<ul>
<li><a href="#tabs-1">タブ1</a></li>
<li><a href="#tabs-2">タブ2</a></li>
<li><a href="#tabs-3">タブ3</a></li>
</ul>
<div id="tabs-1">
<p>マウスオーバーで切り替わるタブです。</p>
</div>
<div id="tabs-2">
<p>タブ2のコンテンツ領域です。</p>
</div>
<div id="tabs-3">
<p>タブ3のコンテンツ領域です。</p>
</div>
</div>
</body>
</html>
<!doctype html>
<html lang="ja">
<head>
<meta charset="utf-8" />
<title>jQuery UI Tabs - Simple manipulation</title>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.9.2/themes/base/jquery-ui.css" />
<script src="http://code.jquery.com/jquery-1.8.3.js"></script>
<script src="http://code.jquery.com/ui/1.9.2/jquery-ui.js"></script>
<link rel="stylesheet" href="/demos/style.css" />
<style>
#dialog label, #dialog input { display:block; }
#dialog label { margin-top: 0.5em; }
#dialog input, #dialog textarea { width: 95%; }
#tabs { margin-top: 1em; }
#tabs li .ui-icon-close { float: left; margin: 0.4em 0.2em 0 0; cursor: pointer; }
#add_tab { cursor: pointer; }
</style>
<script>
$(function() {
var tabTitle = $( "#tab_title" ),
tabContent = $( "#tab_content" ),
tabTemplate = "<li><a href='#{href}'>#{label}</a> <span class='ui-icon ui-icon-close'>Remove Tab</span></li>",
tabCounter = 2;
var tabs = $( "#tabs" ).tabs();
// modal dialog init: custom buttons and a "close" callback reseting the form inside
var dialog = $( "#dialog" ).dialog({
autoOpen: false,
modal: true,
buttons: {
'追加': function() {
addTab();
$( this ).dialog( "close" );
},
'キャンセル': function() {
$( this ).dialog( "close" );
}
},
close: function() {
form[ 0 ].reset();
}
});
// addTab form: calls addTab function on submit and closes the dialog
var form = dialog.find( "form" ).submit(function( event ) {
addTab();
dialog.dialog( "close" );
event.preventDefault();
});
// actual addTab function: adds new tab using the input from the form above
function addTab() {
var label = tabTitle.val() || "Tab " + tabCounter,
id = "tabs-" + tabCounter,
li = $( tabTemplate.replace( /#\{href\}/g, "#" + id ).replace( /#\{label\}/g, label ) ),
tabContentHtml = tabContent.val() || "Tab " + tabCounter + " content.";
tabs.find( ".ui-tabs-nav" ).append( li );
tabs.append( "<div id='" + id + "'><p>" + tabContentHtml + "</p></div>" );
tabs.tabs( "refresh" );
tabCounter++;
}
// addTab button: just opens the dialog
$( "#add_tab" )
.button()
.click(function() {
dialog.dialog( "open" );
});
// close icon: removing the tab on click
$( "#tabs span.ui-icon-close" ).live( "click", function() {
var panelId = $( this ).closest( "li" ).remove().attr( "aria-controls" );
$( "#" + panelId ).remove();
tabs.tabs( "refresh" );
});
});
</script>
</head>
<body>
<div id="dialog" title="タブデータ">
<form>
<fieldset class="ui-helper-reset">
<label for="tab_title">タイトル</label>
<input type="text" name="tab_title" id="tab_title" value="" class="ui-widget-content ui-corner-all" />
<label for="tab_content">内容</label>
<textarea name="tab_content" id="tab_content" class="ui-widget-content ui-corner-all"></textarea>
</fieldset>
</form>
</div>
<button id="add_tab">タブを追加</button>
<div id="tabs">
<ul>
<li><a href="#tabs-1">タブ1</a><span class="ui-icon ui-icon-close">タブ削除</span></li>
</ul>
<div id="tabs-1">
<p>編集可能なタブです。</p>
</div>
</div>
</body>
</html>
<!doctype html>
<html lang="ja">
<head>
<meta charset="utf-8" />
<title>jQuery UI Tabs - Sortable</title>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.9.2/themes/base/jquery-ui.css" />
<script src="http://code.jquery.com/jquery-1.8.3.js"></script>
<script src="http://code.jquery.com/ui/1.9.2/jquery-ui.js"></script>
<link rel="stylesheet" href="/demos/style.css" />
<script>
$(function() {
var tabs = $( "#tabs" ).tabs();
tabs.find( ".ui-tabs-nav" ).sortable({
axis: "x",
stop: function() {
tabs.tabs( "refresh" );
}
});
});
</script>
</head>
<body>
<div id="tabs">
<ul>
<li><a href="#tabs-1">タブ1</a></li>
<li><a href="#tabs-2">タブ2</a></li>
<li><a href="#tabs-3">タブ3</a></li>
</ul>
<div id="tabs-1">
<p>タブをドラッグ&ドロップで移動することが可能です。</p>
</div>
<div id="tabs-2">
<p>タブ2のコンテンツ領域です。</p>
</div>
<div id="tabs-3">
<p>タブ3のコンテンツ領域です。</p>
</div>
</div>
</body>
</html>
<!doctype html>
<html lang="ja">
<head>
<meta charset="utf-8" />
<title>jQuery UI Tabs - Tabs at bottom</title>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.9.2/themes/base/jquery-ui.css" />
<script src="http://code.jquery.com/jquery-1.8.3.js"></script>
<script src="http://code.jquery.com/ui/1.9.2/jquery-ui.js"></script>
<link rel="stylesheet" href="/demos/style.css" />
<script>
$(function() {
$( "#tabs" ).tabs();
// fix the classes
$( ".tabs-bottom .ui-tabs-nav, .tabs-bottom .ui-tabs-nav > *" )
.removeClass( "ui-corner-all ui-corner-top" )
.addClass( "ui-corner-bottom" );
// move the nav to the bottom
$( ".tabs-bottom .ui-tabs-nav" ).appendTo( ".tabs-bottom" );
});
</script>
<style>
/* force a height so the tabs don't jump as content height changes */
#tabs .tabs-spacer { float: left; height: 200px; }
.tabs-bottom .ui-tabs-nav { clear: left; padding: 0 .2em .2em .2em; }
.tabs-bottom .ui-tabs-nav li { top: auto; bottom: 0; margin: 0 .2em 1px 0; border-bottom: auto; border-top: 0; }
.tabs-bottom .ui-tabs-nav li.ui-tabs-active { margin-top: -1px; padding-top: 1px; }
</style>
</head>
<body>
<div id="tabs" class="tabs-bottom">
<ul>
<li><a href="#tabs-1">タブ1</a></li>
<li><a href="#tabs-2">タブ2</a></li>
<li><a href="#tabs-3">タブ3</a></li>
</ul>
<div class="tabs-spacer"></div>
<div id="tabs-1">
<p>下付きのタブです。</p>
</div>
<div id="tabs-2">
<p>タブ2のコンテンツ領域です。</p>
</div>
<div id="tabs-3">
<p>タブ3のコンテンツ領域です。</p>
</div>
</div>
</body>
</html>
<!doctype html>
<html lang="ja">
<head>
<meta charset="utf-8" />
<title>jQuery UI Tabs - Vertical Tabs functionality</title>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.9.2/themes/base/jquery-ui.css" />
<script src="http://code.jquery.com/jquery-1.8.3.js"></script>
<script src="http://code.jquery.com/ui/1.9.2/jquery-ui.js"></script>
<link rel="stylesheet" href="/demos/style.css" />
<script>
$(function() {
$( "#tabs" ).tabs().addClass( "ui-tabs-vertical ui-helper-clearfix" );
$( "#tabs li" ).removeClass( "ui-corner-top" ).addClass( "ui-corner-left" );
});
</script>
<style>
.ui-tabs-vertical { width: 55em; }
.ui-tabs-vertical .ui-tabs-nav { padding: .2em .1em .2em .2em; float: left; width: 12em; }
.ui-tabs-vertical .ui-tabs-nav li { clear: left; width: 100%; border-bottom-width: 1px !important; border-right-width: 0 !important; margin: 0 -1px .2em 0; }
.ui-tabs-vertical .ui-tabs-nav li a { display:block; }
.ui-tabs-vertical .ui-tabs-nav li.ui-tabs-active { padding-bottom: 0; padding-right: .1em; border-right-width: 1px; border-right-width: 1px; }
.ui-tabs-vertical .ui-tabs-panel { padding: 1em; float: right; width: 40em;}
</style>
</head>
<body>
<div id="tabs">
<ul>
<li><a href="#tabs-1">タブ1</a></li>
<li><a href="#tabs-2">タブ2</a></li>
<li><a href="#tabs-3">タブ3</a></li>
</ul>
<div id="tabs-1">
<h2>見出し1</h2>
<p>縦方向に並んだタブです。</p>
</div>
<div id="tabs-2">
<h2>見出し2</h2>
<p>タブ2のコンテンツ領域です。</p>
</div>
<div id="tabs-3">
<h2>見出し3</h2>
<p>タブ3のコンテンツ領域です。</p>
</div>
</div>
</body>
</html>
タイトルバーとコンテツ領域を持ったダイアログです。
このダイアログは次のような機能を提供します。
キーボード操作のサポートについて
タブがフォーカスされている場合、下記のキーコマンドが利用可能なります。
[↑]/[←]
一つ前のタブに戻ります。最初のタブの場合、最後のタブに移動します。
少し遅れてから、フォーカスされたタブがアクティブになります。
[↓]/[→]
次のタブに移動します。最後のタブの場合、最初のタブに移動します。
少し遅れてから、フォーカスされたタブがアクティブになります。
HOME
最初のタブに移動します。
少し遅れてから、フォーカスされたタブがアクティブになります。
END
最後のタブに移動します。
少し遅れてから、フォーカスされたタブがアクティブになります。
スペース
フォーカスされたタブに関連するコンテンツパネルを開きます。
ENTER
フォーカスされたタブに関連するコンテンツパネルを開いたり閉じたりします。(オプションの設定に依ります)
ALT+PAGE UP
前のタブにフォーカスを移し、アクティブにします。
ALT+PAGE DOWN
次のタブにフォーカスを移し、アクティブにします。
コンテンツパネルがフォーカスされている場合、下記のキーコマンドが利用可能なります。
CTRL+UP
コンテンツパネルに紐付いているタブにフォーカスを移します。
ALT+PAGE UP
前のタブにフォーカスを移し、アクティブにします。
ALT+PAGE DOWN
次のタブにフォーカスを移し、アクティブにします。
次のようにして、ダイアログを呼び出します。
<div id="dialog" title="ダイアログのタイトル">ダイアログの内容</div>
<script>
$( "#dialog" ).dialog( "open" );
</script>
すぐにダイアログを表示したくない場合は、下記のようにautoOpen:falseを指定します。
<button id="opener">ダイアログを開く</button>
<div id="dialog" title="ダイアログのタイトル">ダイアログの内容</div>
<script>
//すぐにダイアログが開かないようにautoOpen:falseを指定
$( "#dialog" ).dialog({ autoOpen: false });
//ボタンがクリックされたらダイアログを開く
$( "#opener" ).click(function() {
$( "#dialog" ).dialog( "open" );
});
</script>
ダイアログを閉じたい場合は、下記のように指定します。
$(foo).dialog('close');
依存関係
UI Core(jquery.ui.core.js)
Widget Factory
Effects Core(jquery.ui.effect.js, showとhideオプションで使用)
オプション
説明
active1.9改名
selected
1.9非推奨
1.10削除
型:Boolean
or Integer
初期値:0
どのパネルを開いておくかを指定します。
Boolean
falseを指定すると、全てのパネルが閉じられた(たたまれた)状態になります。
これを行うためには、collapsibleオプションをtrueに指定する必要があります。
Integer
0始まりの番号でアクティブにしておくパネルを指定します。
マイナスの値を指定すると、最後のパネルからカウントします。
$( ".selector" ).tabs({ active: 1 });
// getter
var active = $( ".selector" ).tabs( "option", "active" );
// setter
$( ".selector" ).tabs( "option", "active", 1 );
ajaxOptions
1.9非推奨
1.10削除
型:null
(1.9でbeforeLoadイベントが導入されたため、非推奨になりました。)
Additional Ajax options to consider when loading tab content (see jQuery.ajax()).
$( "#tabs" ).tabs({
ajaxOptions: {
username: "foo",
password: "bar"
}
});
cache
1.9非推奨
1.10削除
型:Boolean
初期値:false
(1.9でbeforeLoadイベントが導入されたため、非推奨になりました。)
Whether or not to cache remote tabs content, e.g., load only once or with every click.
Cached content is being lazy loaded, e.g., once and only once for the first click.
Note that to prevent the actual Ajax requests from being cached by the browser
you need to provide an extra cache: false flag in the ajaxOptions option.
$( "#tabs" ).tabs({
cache: true
});
cookie
1.9非推奨
1.10削除
型:Object
初期値:null
(1.9で非推奨になりました。)
Store the latest selected tab in a cookie.
The cookie is then used to determine the initially selected tab if the selected option is not defined.
Requires the cookie plugin, which can also be found in the development-bundle-external folder from the
download builder. The object needs to have key/value pairs of the form the cookie plugin expects as options.
Example: { expires 7, path: "/", domain: "jquerycom", secure: true }.
Since jQuery UI 1.7 it is also possible to define the cookie name being used via the name property.
collapsible
型:Boolean
初期値:false
trueを指定すると、アクティブなパネルであっても閉じることが出来るようになります。
disabled
型:Boolean
or Array
初期値:false
タブを無効化します。
Boolean
全てのタブを対象にします。
Array
無効化したいタブを0始まりの番号で配列に指定します。
例えば、[0,2]と指定した場合、1つ目と3つ目のタブが無効化されます。
event
型:String
初期値:"click"
タブに反応して欲しいイベントを指定します。
hoverの際にアクティブにしたければ、"mouseorver"を指定します。
fx
1.9非推奨
1.10削除
型:Object
or Array
初期値:null
(1.9でshow、hideオプションが導入されたため、非推奨になりました)
Enable animations for hidniga nd showing tab panels.
Object
Key/value pairs of properties to animate and optional duration, e.g., { height: "toggle", duration: 200 }.
Array
Animation settings in the form [ hideSettings, showSettings ].
heightStyle1.9追加
型:String
初期値:"content"
タブとパネルの高さを制御します。
"auto"
全てのパネルは最も高いパネルの高さになります。
"fill"
タブの親要素を基準に可能な限りの高さで展開されます。
"content"
それぞれのパネルはそれぞれの内容に合わせて高さ調節されます。
hide
型:Boolean
or Number
or String
or Object
初期値:null
パネルの非表示をアニメーションさせるか、またどのようにアニメーションさせるかを決定します。
Boolean
falseをセットすると、アニメーションせず即座に非表示になります。
trueをセットすると初期値に設定されているdurationとeasingでフェードアウトします。
Number
指定した数値をdurationとしてフェードアウトします。easingは初期値が使用されます。
String
指定したエフェクトのアニメーションでパネルを非表示にします。
指定できる値はjQueryの組み込まれている"slideUp"のようなアニメーション名か、
jQueryUIエフェクトである"fold"のようなアニメーション名を指定できます。
どちらの場合も、durationとeaingは初期値が使用されます。
Object
オブジェクトを使用する場合、effect, duration, easingのプロパティが提供されます。
プロパティのeffectは上記のStringを、durationはNumberをそれぞれ指定したことになります。
duration、easingが省略された場合は初期値が使用され、effectが使用された場合は"fadeOut"が
使用されます。
//1秒(1000ミリ秒)かけて、explodeのエフェクトアニメーションで非表示になります。
$(".selector").tabs({ hide: { effect: "explode", duration: 1000 } });
idPrefix
1.9非推奨
1.10削除
型:String
初期値:"ui-tabs-"
(1.9でrefreshメソッドが導入されたため、非推奨になりました。)
If the remote tab, its anchor element that is,
has no title attribute to generate an id from,
an id/fragment identifier is created from this prefix and a unique id,
for example "ui-tabs-54".
panelTemplate
1.9非推奨
1.10削除
型:String
初期値:"<div></div>"
(1.9でrefreshメソッドが導入されたため、非推奨になりました。)
HTML template from which a new tab panel is created in case of adding a tab with the add()
method or when creating a panel for a remote tab on the fly.
show
型:Boolean
or Number
or String
or Object
初期値:null
パネルの非表示をアニメーションさせるか、またどのようにアニメーションさせるかを決定します。
Boolean
falseをセットすると、アニメーションせず即座に表示されます。
trueをセットすると初期値に設定されているdurationとeasingでフェードインします。
Number
指定した数値をdurationとしてフェードインします。easingは初期値が使用されます。
String
指定したエフェクトのアニメーションでパネルを表示します。
指定できる値はjQueryの組み込まれている"slideDown"のようなアニメーション名か、
jQueryUIエフェクトである"fold"のようなアニメーション名を指定できます。
どちらの場合も、durationとeaingは初期値が使用されます。
Object
オブジェクトを使用する場合、effect, duration, easingのプロパティが提供されます。
プロパティのeffectは上記のStringを、durationはNumberをそれぞれ指定したことになります。
duration、easingが省略された場合は初期値が使用され、effectが使用された場合は"fadeIn"が
使用されます。
spinner
1.9非推奨
1.10削除
型:String
初期値:"<em>Loading…</em>"
(1.9で非推奨になり、代わりにbeforeLoadイベントとloadイベントで処理を行うことが推奨されています。)
The HTML content to show in a tab title while remote content is loading.
Set this option to an empty string to deactivate the spinner behavior.
A span element must be present in the anchor tag of the title for the spinner content to be visible.
tabTemplate
1.9非推奨
1.10削除
型:String
初期値:"<li><a href="#{href}"><span>#{label}</span></a></li>"
(1.9でrefreshメソッドが導入されたため、非推奨になりました。)
HTML template from which a new tab panel is created in case of adding a tab with the add()
method or when creating a panel for a remote tab on the fly.
メソッド 説明
abort()
1.9非推奨
1.10削除
Terminate all running tab ajax requests and animations.
//1.8
$( "#tabs" ).tabs( "abort" );
//1.9~
$( "#tabs" ).tabs({
beforeLoad: function( event, ui ) {
ui.jqXHR.abort();
}
});
add( url, label [, index ] )
1.9非推奨
1.10削除
(1.9でrefreshメソッドが導入されたため、非推奨になりました。)
Add a tab.
url
型:String
The URL of the tab to add.
label
型:String
The name of the tab to add.
index
型:Number
Where to add the new tab (zero-based). If omitted, the new tab will be added as the last tab.
//1.8
$( "#tabs" ).tabs( "add", "/remote/tab.html", "New Tab" );
//1.9~ : タブ要素を追加した後に、refreshメソッドを実行
$( "<li><a href='/remote/tab.html'>New Tab</a></li>" )
.appendTo( "#tabs .ui-tabs-nav" );
$( "#tabs" ).tabs( "refresh" );
destroy()
ダイアログの機能を完全に削除します。
$( ".selector" ).tabs( "destroy" );
disable()
タブを無効化します。
disable(index)
タブを無効化します。選択されているタブを無効化することは出来ません。
1度の処理で複数のタブを無効化したい場合は、disabledオプションを使用してください。
index
型Number
or String
無効化したいタブを指定します。
enable()
タブを有効にします。
enable(index)
タブを有効にします。
index
型:Number
or String
有効化したいタブを指定します。
一度で複数のタブを無効化状態から有効化したい場合、下記のようにdisabledオプションを使用します。
$( "#example" ).tabs( "option", "disabled", [] );.
length()
1.9非推奨
1.10削除
戻り値:Integer
(1.9で非推奨になりました。)
Retrieve the number of tabs of the first matched tab pane.
load(index)
離れたタブのコンテンツパネルをロードします。
index
型:Number
or String
ロードしたいタブを選択します。
option( optionName )
戻り値:Object
optionNameに指定したオプションの現在の値を取得します。
optionName
型:String
取得したいオプションの名前を指定します。
option()
戻り値:PlainObject
オプションの各キーと値がペアとなったオブジェクトを返します。
option( optionName, value )
引数のoptionNameのオプションに値を設定します。
optionName
型:String
設定したいオプションの名前を指定します。
value
型:Object
設定したい値を指定します。
option( options )
オプションに設定したい各キーと値がペアとなったオブジェクトを指定します。
option
型:Object
設定したいオプションのキーと名前のペアを指定します。
refresh()1.9追加
DOMの直接の操作で追加または削除をされ、タブパネルの高さが再計算されたタブを処理します。
結果はコンテンツとheightStyleオプションに依存します。
remove
1.9非推奨
1.10削除
(1.9でrefreshメソッドが導入されたため、非推奨になりました。)
Remove a tab.
index
型:Number
or String
Which tab to remove.
//1.8
$( "#tabs" ).tabs( "remove", 2 );
//1.9~
// タブを削除
var tab = $( "#tabs" ).find( ".ui-tabs-nav li:eq(2)" ).remove();
// パネルに紐づくIDを取得
var panelId = tab.attr( "aria-controls" );
// パネルを削除
$( "#" + panelId ).remove();
// タブをリフレッシュ
$( "tabs" ).tabs( "refresh" );
rotate( duration [, continuing ] )1.9削除
(1.9で削除されました。)
Set up an automation rotation through the tabs.
duration
型:Number
The duration in milliseconds for each tab to be visible before rotating to the next tab.
continuing(初期値:false)
型:Boolean
Whether or not to continue the rotation after a tab has been selected by a user.
select(index)
1.9非推奨
1.10削除
(1.9で非推奨になりました。)
Select a tab, as if it were clicked.
index
型:Integer
Which tab to select.
// 1.8 : 3つ目のタブをアクティブ
$( "#tabs" ).tabs( "select", 2 );
// 1.9~ : 3つ目のパネルをアクティブ
$( "#tabs" ).tabs( "option", "active", 2 );
url(index, url)
1.9非推奨
1.10削除
Change the URL from whcih an Ajax (remote) tab will be loaded.
The specified URL will be used for subsequent loads.
Note that you can not only change the URL for an existing remote tab with this method,
but also turn an in-page tab into a remote tab.
index
型:Integer
The zero-based index of the tab to update.
url
型:String
The URL to set for the tab.
widget()
戻り値:Object
タブコンテナを含めたjQueryオブジェクトを返します。
イベント
説明
activate ( event, ui )1.9改名
show( event, ui )
1.9非推奨
1.10削除
型:tabsactivate
(showでは、tabsshow)
タブがアクティブになった際(アニメーション完了後)にトリガされます。
直前の状態でどのパネルも展開されていなかった場合、ui.oldTabとui.oldPanelは空のjQueryオブジェクトになります。
もし、アクティブになった際にどのパネルも展開サれなければ、ui.newTabとui.newPanelが空のjQueryオブジェクトになります。
ui.newTab
アクティブになったタブです(showでは、ui.tab)
ui.oldTab
非アクティブになったタブです。
ui.newPanel
アクティブになったパネルです。(showでは、ui.panel)
ui.oldPanel
非アクティブになったパネルです。
$( ".selector" ).tabs({
activate: function( event, ui ) {}
});
$( ".selector" ).on( "tabsactivate", function( event, ui ) {} );
beforeActivate ( event, ui )1.9改名
select ( event, ui )
1.9非推奨
1.10削除
型:tabsactivate
(selectでは、tabsselect)
タブがアクティブになった際(アニメーション完了後)にトリガされます。
直前の状態でどのパネルも展開されていなかった場合、ui.oldTabとui.oldPanelは空のjQueryオブジェクトになります。
もし、アクティブになった際にどのパネルも展開されなければ、ui.newTabとui.newPanelが空のjQueryオブジェクトになります。
ui.newTab
アクティブになったタブです。(selectでは、ui.tab)
ui.oldTab
非アクティブになったタブです。
ui.newPanel
アクティブになったパネルです。(selectでは、ui.panel)
ui.oldPanel
非アクティブになったパネルです。
//1.8
$( "#tabs" ).tabs({
select: function( event, ui ) {
ui.panel
ui.tab
// アクティブになったタブのインデックス番号
ui.index
}
});
//1.9~
$( "#tabs" ).tabs({
beforeActivate: function( event, ui ) {
ui.oldPanel // (追加)
ui.oldTab // (追加)
ui.newPanel // (ui.panel変更)
ui.newTab // (ui.tab変更)
// インデックス番号は次のように取得可能
ui.newTab.index()
}
});
beforeLoad( event, ui )
型:tabsbeforeload
タブがロードされる際、beforeActivateのイベント後にトリガされます。
タブパネルにコンテンツをロードすることを、キャンセルすることで防ぐことができます。
パネルはアクティブ化されたままになりますが。
このイベントは、Ajaxリクエストを行う直前にトリガされるので、
ui.jqXHRとui.ajaxSettingsを介して変更することが可能です。
ui.tab
型:jQuery
ロードするタブです。
ui.panel
型:jQuery
Ajaxのレスポンを受け入れるパネルです。
ui.jqXHR
型:jqXHR
コンテンツをリクエストしているjqXHRオブジェクトです。
ui.ajaxSettings
型:Object
jQuery.ajaxのリクエストに設定として、使用されているオブジェクトです。
// ajaxOptionsオプションに代わる新しい指定
$( "#tabs" ).tabs({
beforeLoad: function( event, ui ) {
ui.ajaxSettings.username = "foo";
ui.ajaxSettings.password = "bar";
}
});
// cacheオプションに代わる新しい指定
$( "#tabs" ).tabs({
if ( ui.tab.data( "loaded" ) ) {
event.preventDefault();
return;
}
ui.jqXHR.success(function() {
ui.tab.data( "loaded", true );
});
} beforeLoad: function( event, ui ) {
if ( ui.tab.data( "loaded" ) ) {
event.preventDefault();
return;
}
ui.jqXHR.success(function() {
ui.tab.data( "loaded", true );
});
}
});
create( event, ui )1.9追加
型:tabscreate
タブが生成された際にトリガされます。
タブパネルが全て折りたたまれている場合、ui.tabとui.panelは空のjQueryオブジェクトになります。
ui.tab
型:jQuery
アクティブなタブです。
ui.panel
型:jQuery
アクティブなパネルです。
disable( event, ui )
1.9非推奨
1.10削除
型:tabsdisable
(1.9で他のUIと一貫性を持たせるため、非推奨になりました。)
Triggered when a tab is disabled.
ui.tab
型:Element
The tab that is being disabled.
ui.panel
型:Element
The panel that is being disabled.
ui.index
型:Integer
The zero-based index of the tab.
enable( event, ui )
1.9非推奨
1.10削除
型:tabsenable
(1.9で他のUIと一貫性を持たせるため、非推奨になりました。)
Triggered when a tab is enabled.
ui.tab
型:Element
The tab that is being enabled.
ui.panel
型:Element
The panel that is being enabled.
ui.index
型:Integer
The zero-based index of the tab.
load( event, ui )
型:tabsload
ダイアログのドラッグが開始される際にトリガされます。
ui.tab
型:jQuery
ロードしているタブです。
ui.panel
型:jQuery
Ajaxのレスポンを受け入れるパネルです。
Back to top