jQuery UI の Tabs によるアニメーションでタブを切り替えるタブメニュー

jQuery UI の Tabs プラグインを使ったタブ型メニューにおいて、タブを切り替えるとき、アニメーション動作で切り替わるようにする方法。アニメーション動作速度も指定することができる。

実装例(サンプル)

タブメニュー①の内容。

タブの切り替えを、アニメーション動作で切り替える。

内容が長くなり、指定したサイズに収まらない場合、スクロールバーが表示される。

この実装例の、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>
個別に読み込む場合
<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( {
        fx: {
            opacity: 'toggle',
            duration: 'normal'
        },
    } );
} );
// -->
</script>
duration

「slow」を指定すると遅いアニメーション動作速度。

「fast」を指定すると早いアニメーション動作速度。

「normal」を指定すると、「slow」と「fast」の中間のアニメーション動作速度。

ミリ秒単位の数値で指定することもできる。

CSS

<style>
<!--
#jquery-ui-tabs {
    font-size: 16px;
}
#jquery-ui-tabs .ui-tabs-panel {
    overflow: auto;
    height: 100px;
}
-->
</style>

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>タブの切り替えを、アニメーション動作で切り替える。</p>
        <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>

スポンサード リンク

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