別ファイルをタブの内容に表示させる Ajax 系タブメニュー

jQuery UI の Tabs プラグインで作るタブ型メニューにおいて、ajax で別ファイルを、タブの内容に表示させる方法。

実装例(サンプル)

このように、通常のタブと併用することもできる。

実装例の動作について

  • 「タブメニュー①」は、通常のタブ。
  • 「タブメニュー②」は、別ファイルを読み込んで表示する。
  • 「タブメニュー③」は、指定したファイルが見つからなかったときの表示。

実装例のソースコード

読み込み

読み込み方は、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>
個別に読み込む場合
<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.tabs.js"></script>

JavaScript

<script type="text/javascript">  
<!--
jQuery( function() {
    jQuery( '#jquery-ui-tabs' ) . tabs( {
        ajaxOptions: {
            error: function( xhr, status, index, anchor ) {
                jQuery( anchor . hash ) . html(
                    '指定ファイルが見つからなかった場合、' +
                    '<br />「このタブをロードできませんでした。」' +
                    '<br />「指定ファイルが見つかりませんでした。」' +
                    '<br />などと表示させるといい。'
                );
            }
        }
    } );
} );
// -->
</script>

HTML

<div id="jquery-ui-tabs">
    <ul>
        <li><a href="#jquery-ui-tabs-1">タブメニュー①</a></li>
        <li><a href="ajax-test.html">タブメニュー②</a></li>
        <li><a href="no-file.html">タブメニュー③</a></li>
    </ul>
    <div id="jquery-ui-tabs-1">
        <p>このように、通常のタブと併用することもできる。</p>
    </div>
</div>

スポンサード リンク

カテゴリー: Ajax, JavaScript, jQuery, jQuery UI, Tabs, メニュー パーマリンク