2016-07-12 3 views
0

すべてのメインタブ(nav-tabs)の下にサブタブ(nav-pills)はほとんどありません。そして、私はホバリングの後にアクティブメインタブに戻る間にメインタブ上にマウスを置いてそれらを表示したい。マウスカーソルを移動した後、以前にアクティブなnav-tabを覚えて表示しますか?

私はホバーのためにjqueryを書いていますが、以前のアクティブなタブに戻る方法はわかりません。マウスホバーでは、最後にホールドされたタブはアクティブのままです。 私のコードは、あなたがあなたがホバリング完了したら、あなたの以前の状態をリコールするためにクラスを使用する必要がありますどこ

$('.nav-tabs > li > a').hover(function() { 
     //$($(this).attr('href')).show(); 
     $(this).tab('show'); 
    }, function() { 
     // debugger; 
     //if ($(this).hasClass('active')) {   //if ($(this).parent('li').hasClass('active')) { 
     // $($(this).attr('href')).show(); 
     //} 
     //else { 
     // $($(this).attr('href')).hide(); 
     //} 
    }); 
+0

jqueryの、ここで使用する必要はありません。あなたは擬似要素:ホバーでCSSを使用することができます。表示する内容を変更します。 – user3528269

+0

擬似要素の使い方の例を挙げることはできますか? –

+0

ナビゲーションの構造とその表示/非表示を教えてください。 – user3528269

答えて

1

以下の通りです。

$('.nav-tabs > li > a').hover(function() { 
    $('.nav-tabs > li.active').addClass('lastActive'); 
    $(this).tab('show'); 
}, function() { 
    $('.nav-tabs > li.lastActive').removeClass('lastActive').children('a').tab('show'); 
}); 

また、lastActiveクラスを削除するclickイベントを追加する必要があります。

$('.nav-tabs > li > a').click(function() { 
    $('.nav-tabs > li.lastActive').removeClass('lastActive'); 
    $(this).tab('show'); 
}); 

このような何か:)

+0

$(this).tab( 'hide');エラーをスローする - 未知のTypeError:e [b]は関数ではありません –

+0

コンパイラとして私の頭脳を使用して申し訳ありませんがこれは良いですか? – fjoe

+0

こんにちは@fjoe、削除タブ( '非表示')は、トリックでした。しかし、今私は他のタブをクリックすることはできません。 –

関連する問題