2017-08-18 5 views
-2

異なるカテゴリのコンテンツを表示するために複数のdivの切り替えを作成しました。これは一つの例です:複数のdivのスタイルを異なるスタイルで切り替える

<div id="left"> 
<h4 class="expanding-header-active" profile='1'><a href="#">+ 1</a></h4> 
<div class="toggle-container" rel="profile_1"> 
    <ul> 
    <li class="expanding-subhead-active" profile='4'><a href="#">A</a></li> 
    </ul> 
    </div> 


<div id="right"> 
<div class="toggle-container" rel="profile_4"> 
<h2>A</h2> 
<p>yada yada yada</p> 
</div> 
</div> 

私は私が何を言っているかのより多くを示しフィドル作成しました:私は、メインのdiv(1、2、3が必要

Fiddle

を(A、B、C、D、E、F)がクリックされたときに開いたままにします。しかし、メインディビジョン(+1、+2、+ 3)のうち1つだけを一度に開くことができます。

フィドルは私が必要とするものに近いものにアップデートされていますが、現在は、現在の構造を犠牲にすることなくAとBが同時に開かれないようにする方法はありますか?

+0

あなたのフィドルは、質問に投稿したコードとは全く関係がないようです。質問に関連するすべてのコードを追加してください。 –

+0

申し訳ありません間違ったフィドル。更新された@RoryMcCrossan –

+2

あなたはこのコードを書いていますか?あなたがする必要があるのは '$("。toggle-container ")という行を削除することだけです($(this).next())。hide(300);' – VtoCorleone

答えて

0

私はあなたの質問を正しく理解していると思いますが、$( "。toggle-container")という行をコメントアウトするだけでは、$(this).next())hide(300);

ok、あなたの他のコメントを見ました。私は以下のような機能を変更することで、あなたが必要とするものを達成できると思います。

$(".expanding-subhead-active").on('click', function(e){ 
     e.preventDefault(); 
     //$(".toggle-container").not($(this).next()).hide(300); 
     $('#right .toggle-container').hide(); 
     $("div[rel='profile_" + $(this).attr("profile") + "']").show(300,"linear"); 
+0

Ex:http://jsfiddle.net/A8Ymj/1121/ – usandfriends

+0

+1をクリックして+1を閉じることなくA&Bの間を移動できるようにしたい。これは+2と+ 3について行っているときに+1を開いたままにしておきます。内側の文字がクリックされたときにこれらの3つのメインdivが開かれている必要があります。 –

0

これを非表示にしたくない場合は、非表示にするコマンドを削除してください。 は、この行を削除します。

$(".toggle-container").not($(this).next()).hide(300); 

http://jsfiddle.net/A8Ymj/1122/

0

はそれを手に入れました!みんなありがとうをコンテナ-1を.toggleするために内部の回答のクラスを変更し、

$('.toggle-container-1').hide(); 

$(".expanding-subhead-active").on('click', function(e) { 
$(".toggle-container-1").not($(this).next()).hide(300); 
    $("div[rel='profile_" + $(this).attr("profile") + "']").toggle(300, "linear"); 
}); 

Correct Fiddle

を設定

必要な:)私はこれで新たなんです!

関連する問題