2012-03-22 7 views
0

すべて、 私は切り替えとして動作しているいくつかのdivを開くために、次のコードを持っている:ここで閉じるトグル他のオープンのdiv

$(".tb-toggle").each(function(){ 
    $(this).find(".box").hide(); 
}); 

$(".tb-toggle").each(function(){ 
    $(this).find(".trigger").click(function() { 
      $(this).toggleClass("active").next().stop(true, true).slideToggle("slow"); 
      return false; 
    }); 
}); 

は切り替えを表示するための私のHTMLです:

<div class="tb-toggle toggle-fancy"><a href="#" class="trigger"><span>+</span>Toggle Accordion</a><div class="box">This is fancy toggle accordion</div><!-- .box (end) --></div> 
<div class="tb-toggle toggle-fancy"><a href="#" class="trigger"><span>+</span>Toggle Accordion 2</a><div class="box">This is fancy toggle accordion 2</div><!-- .box (end) --></div> 
<div class="tb-toggle toggle-fancy"><a href="#" class="trigger"><span>+</span>Toggle Accordion 3</a><div class="box">This is fancy toggle accordion 3</div><!-- .box (end) --></div> 

これはうまく動作し、トグルをうまく開きます。しかし、これが起こると、私は他の開いているトグルを閉じたいです。

私はので、私はこれに私のコードを調整しようとしたjQueryのhttp://jqueryui.com/demos/accordion/でこれを見つけた:

$(".tb-toggle").each(function(){ 
    $(this).find(".trigger").click(function() { 
      $(this).toggleClass("active").next().stop(true, true).slideToggle("slow"); 
      return false; 
    }); 
}).next().hide(); 

これは動作しません。他のクラスのアクティブなトグルクラスを削除する必要があるかもしれないが、それを行う方法がわからないと思う。

また、私はこのコードのビットを試してみました:

$(".tb-toggle").each(function(){ 
    $(this).find(".trigger").click(function() { 
      $(this).toggleClass("active").next().stop(true, true).slideToggle("slow"); 
      return false; 
    }); 
}).next().toggleClass("active"); 

誰もが正しい方向に私を指すことができますか? http://jsfiddle.net/HHtBX/

ありがとう:ここ

が更新JSFiddleです!

答えて

1

FIXED :)更新特定のケースワーキングデモ用jsfiddle後:http://jsfiddle.net/HHtBX/2/

jQueryのコード

$(".tb-toggle").each(function(){ 
    $(this).find(".box").hide(); 
}); 

$(".tb-toggle").each(function(){ 
    $(this).find(".trigger").click(function() { 
     $('.tb-toggle a').removeClass('active').next().slideUp('slow'); 
     $(this).toggleClass("active").next().stop(true, true).slideToggle("slow"); 
     //return false; 
    }); 
}); 

前のバージョン何Jsfiddleが提供されなかった

Hiyaこれはあなたを助けるかもしれません:http://jsfiddle.net/tovic/CzE3q/

の作業のデモ:(ビットより構造化された)http://jsfiddle.net/CzE3q/21/ - あなたは何jsfiddleを持っていないので、私はあなたのHTMLの罰金であると仮定して、歓声をこのことができます。この

希望をしようとします!

+0

ありがとう、私は私のために働かなかったが、私はあなたのためにJSフィドルを追加しました – user1048676

+0

サワイ、今見て、歓声!〜 –

+0

@ user1048676 - 今すぐあなたにリンクを送ってください! –

関連する問題