Top > 開発ガイド > Spinelzリファレンス > Tab Box

Tab Box

概要

  • タブボックスを表示します。
  • タブボックスはタブと対になった表示エリア(以下、「パネル」と表記します)によって構成されます。

利用方法

<head>
  <script src="../src/javascripts/spinelz_lib/prototype.js" type="text/javascript"></script>
  <script src="../src/javascripts/spinelz_lib/scriptaculous.js" type="text/javascript"></script>
  <script src="../src/javascripts/spinelz_lib/spinelz_util.js" type="text/javascript"></script>
  <script src="../src/javascripts/spinelz/tabBox.js" type="text/javascript"></script>
  <link rel="stylesheet" href="../src/stylesheets/spinelz/tabBox.css" type="text/css">
</head>
<body>
  <div id="tabBox" style="display:none">
    <div>Tab1
      <div style="padding: 10px; font-size: 30px;">
        This is tab1 content.
      </div>
    </div>
    <div>Tab2
      <div>
        This is tab2 content.
      </div>
    </div>
    <div>Tab3
      <div>
        This is tab3 content.
      </div>
    </div>
    <div id="tab4">Tab4
      <div>
        This is tab4 content.
      </div>
    </div>
  </div>

  <script type="text/javascript">
    var tab = new TabBox("tabBox");
  </script>
</body>

API

コンストラクタ(element)

引数説明
elementHTML要素のID。この要素を解析してタブボックスを構築します。

オプション 第2引数として以下のオプションを指定することができます。 オプションを指定するかどうかは任意です。

オプション名デフォルト値説明
selected1最初に選択状態になるタブの番号。最初は0でなく、1なので注意してください。
cssPrefix'custom_'カスタムスタイルシートのプレフィックス文字列。
beforeSelectfunction(){returntrue}タブが選択される直前に呼ばれる関数。偽を返すとタブの選択が中止されます。
afterSelectPrototype.emptyFunctionタブが選択された直後に呼ばれる関数。現在表示されているパネル(DOM)と直前まで表示されていたパネル(DOM)が引数として渡されます。
afterSelectOncePrototype.emptyFunctionタブが選択された直後に一度だけ呼ばれる関数。補足「afterSelectOnceオプションについて」を参照してください。
onRemovefunction(){returntrue}タブが削除される直前(閉じるボタンを押されたとき)呼ばれる関数。タブ(DOM)が引数として渡されます。偽を返すと削除が中止されます。
sortablefalseD&Dによるタブの並び替えを可能にするかどうか。
closeButtonfalse閉じるボタンを表示するかどうか。
afterSortPrototype.emptyFunctionD&Dによる並び替えが終了した後に呼ばれる関数。Sortable(script.aculo.us)のonChangeオプションを参照してください。
onSortPrototype.emptyFunctionD&Dによる並び替えを行った直後(D&Dの最中)に呼ばれる関数。Sortable(script.aculo.us)のonUpdateオプションを参照してください。
lazyLoadUrl[]遅延ロード時に使用される関数。タブのと同じ数の要素をもった配列でURLを指定します。
onLazyLoadPrototype.emptyFunction一つの遅延ロードに成功した場合に呼ばれる関数。遅延ロード対象のパネル(DOM)とTabBox?オブジェクトが引数として渡されます。
afterLazyLoadPrototype.emptyFunction遅延ロードが正常に終了した場合に呼ばれる関数。TabBox?オブジェクトが引数として渡されます。
lazyLoadFailurePrototype.emptyFunction遅延ロードに失敗した場合に呼ばれる関数。遅延ロード対象のパネル(DOM)とTabBox?オブジェクトが引数として渡されます。
failureLimitOverPrototype.emptyFunction遅延ロードがfailureLimitで指定された回数以上失敗した場合に呼ばれる関数。TabBox?オブジェクトが引数として渡されます。
failureLimit5遅延ロードに失敗したときにリトライする回数。
tabRownull一列に表示するタブの数。nullが指定された場合は無制限。
titleLengthnullタブの文字長。nullが指定された場合は無制限。

afterSelectOnceオプションについて

  • Function、Object(Hash)、Arrayでの指定が可能です。
  • Functionの場合、任意のタブが初めて選択されたときにそれぞれ一度ずつFunctionが呼ばれます。
         var tab = new TabBox("tabBox", {afterSelectOnce: function() { alert(0); }});
    
  • Object(Hash)の場合、タブの順番をキーとして関数を関連付けることができます。番号は1からです。
         var tab = new TabBox("tabBox", {afterSelectOnce: {1: function() { alert(0); }, 2: function() { alert(2); }}});
    
  • Arrayの場合は、要素の順番によって関連付けが行われます。
         var tab = new TabBox("tabBox", {afterSelectOnce: [function() { alert(0); }, function() { alert(2); }]});
    

afterSelect、beforeSelectオプションについて

  • afterSelectOnceオプションと同様に、Function、Object(Hash)、Arrayでの指定が可能です。

add(title, content)

新しいタブを追加します。

引数|説明
titleタブのタイトルをHTMLで指定します。
contentタブのコンテンツをHTMLで指定します。
  var tab = new TabBox('id');
  tab.add('<div>新しいタブ</div>', '<div>タブコンテンツ</div>');

hasNextTab()

現在選択されているタブの次がある場合、真を返します。

hasPreviousTab()

現在選択されているタブの前がある場合、真を返します。

getNextTab()

現在選択されているタブの次のタブ(DOM)を返します。

getPreviousTab()

現在選択されているタブの前のタブ(DOM)を返します。

selectNextTab()

現在選択されているタブの次のタブを選択状態にします。

selectPreviousTab()

現在選択されているタブの前のタブを選択状態にします。

tabCount()

タブの数を返します。

getCurrentPanel()

現在選択されているタブを返します。

getCurrentTab()

現在表示されているパネルを返します。