2012-03-22 7 views
0

これは私の問題です。jQuery Tools:アコーディオンセクションを開く/閉じる方法?

jQuery Toolsを使用して完全に機能するアコーディオンを構築しました。非常に扱いやすい。

クライアントが戻ってくると、現在のアコーディオンは元の仕様ではない折りたたみ可能でなければならないと言われています。残念ながら、jQuery Toolsのアコーディオンにはこの機能が組み込まれていないので、私自身のコードで作業しています。

私は近づいてきましたが、何も100%働いていません。私はここに私のコードのJSFiddleを作成しました:http://jsfiddle.net/4ubZs/15/

崩壊コードは正常に動作します。

// Code to collapse accordions 
$("#accordion > h2").click(function(){ 
if (this.className == "current") { 
    $(this).removeClass("current"); 
    $(this).next("div").slideToggle("slow"); 
} else { 

問題が再開されました。私は2つの異なるソリューションを再開しようとしました。最初のコードブロックがTools APIを使用しようとしています。最近閉じたタブは再オープンしませんが、 "current_tab"を.click()コールの実際のインデックス番号に置き換えても、プログラムでインデックスを取得しようとした場合は機能しません。私は仮定している開口部は、jQueryのツールの機能と競合する場合

var api = $("#accordion").data("tabs"); 
var current_tab = api.getIndex(this); 
api.click(current_tab); 

第二のブロックjQueryのツールAPIを回避しようとし、作品は、しかし、私は二重のアニメーションを取得します。

$(this).parent().children("h2").removeClass("current"); 
$(this).parent().children("div").slideUp("slow"); 
$(this).toggleClass("current"); 
$(this).next("div").slideToggle("slow"); 

誰かが私が間違っていることを指摘できれば、大きな助けになるでしょう。

ありがとうございます!

編集: これ以上考えてみると、「再オープン」コードの最初のブロックは機能しません。私はオープンアコーディオンからクラスを削除しているだけなので、jQuery Toolsに実際にクローズされているとは言えません。だから、jQuery Toolsが知っている限り、それを再び開くためにそれをクリックすると、そのアコーディオンはですでにが開いていて、再び開く必要はありません。私は、jQuery Toolsにアコーディオンが閉じられており、そのコードが機能するように指示する方法を理解する必要があると思います。

+0

のgithubのから直接引っ張りました。 – escproxy

+0

アコーディオンは正しく動作します。それは正しく折りたたまれますが、同じものをクリックして再度開くと、何もしません。上記の私の編集を参照してください。ありがとう! – jrhaberman

答えて

1

私の検索で「jQueryToolsを閉じる」をクリックすると、この投稿が見つかりました。 jQuerytoolsはコアコードを更新しました。上記のコードは以前のバージョンでも機能しましたが、jQuery UIのスタイルに合わせるために "closeOnClick"という新しいパスを作成しました。

 $el.tabs(
     ".envs div.panes", 
     { 
      tabs: "h3", 
      effect: 'slide', 
      collapse: false, 
      closeOnClick: true, 
      initialIndex: null 
     } 
    ); 

https://jsfiddle.net/googabeast/co8nxm8y/

Tabs.jsコードは、それは私の最後に完璧に動作jQuerytools

0

私はこのコードを見つけました:http://pastie.org/1421642/wrapこのjqueryプラグインを適用して正常に動作させることができました。これを見ている人のおかげで!

+0

リンクが機能しない – rmirabelle

+0

このエクステンションはどのように使用しましたか?私はアコーデオン崩壊を起こすことはできません... – Manu

関連する問題