14

.fadeフェード付きのタブを表示するために適用する Twitter ブートストラップ 3 を使用します。最初のタブのコンテンツが初めて表示されないことを除いて、それは問題ありません。

http://jsfiddle.net/tVSv9/

<ul class="nav nav-tabs" id="myTab">
  <li class="active"><a href="#home" data-toggle="tab">Home</a></li>
  <li><a href="#profile" data-toggle="tab">Profile</a></li>
  <li><a href="#messages" data-toggle="tab">Messages</a></li>
</ul>

    <div id='content' class="tab-content">
      <div class="tab-pane fade active" id="home">
        <ul>
            <li>home</li>
            <li>home</li>
            <li>home</li>
            <li>home</li>
            <li>home</li>
            <li>home</li>
            <li>home</li>
        </ul>
      </div>
      <div class="tab-pane fade" id="profile">
        <ul>
            <li>profile</li>
            <li>profile</li>
            <li>profile</li>
            <li>profile</li>
            <li>profile</li>
            <li>profile</li>
            <li>profile</li>
        </ul>
      </div>
      <div class="tab-pane fade" id="messages">
          this is my message
      </div>
      <div class="tab-pane fade" id="settings"></div>
    </div>    

コード内のどこに問題がありますか?

4

3 に答える 3

31

inアクティブなタブのコンテンツにクラスを追加する必要があります

背後にある理由は、ブートストラップ css に事前定義されたスタイルがあるため、タブ.fade.in {opacity: 1;}で使用している場合は追加.fadeする必要があるためです.in

このデモを見る

HTML

<div class="tab-pane fade in active" id="home">
于 2013-09-12T06:43:38.557 に答える
2

少し特殊ですが、これを実行するための簡単なハックを思いつくことができました。

$('.nav li.active').removeClass('active').find('a').trigger('click');

上記のスクリプトを中に入れます$(document).ready( function() { ... })

基本的に、事前定義されたアクティブなクラスを削除し、「クリック」イベントをモックして再度有効にします。

フィドル: http://jsfiddle.net/jofrystanto/tVSv9/2/

于 2013-09-12T06:42:16.243 に答える
0

また、特筆すべきは、

これはうまくいきます:

$('#yourtabs a:first').tab('show');
$('.tab-pane:first').addClass('fade in');

これはしません:

$('.tab-pane:first').addClass('fade in');
$('#yourtabs a:first').tab('show');

そうしないと、init で .fade が非表示になります。

于 2014-02-05T11:32:56.790 に答える