2012-03-16 55 views
0

jQuery UIアコーディオンを強制的にCSSで終了させる方法はありますか?私たちはコンテンツ管理システムでこれを使用しており、各ページには料金がかかります。ページの読み込みが完了するまで、jQueryはトリガーされませんが、どのポイント、すべてのアコーディオンが既に展開されているのでしょうか。ページが読み込まれると閉じますが、ユーザーには巨大なリストが表示されてから消えていくのが分かりにくいようです。CSSでjQuery UIアコーディオンを閉じる

+1

http://stackoverflow.com/questions/7947789/jquery-ui-accordion-start-collapsed – ahillman3

答えて

2

.accordion({ ... })コール自体のオプションがあります:

.accordion({ active: false, collapsible: true }); 

active: falseオプションは、作成時に閉鎖し、あなたがそれを開く一度あなたがそれをクローズ再できるようcollapsible: trueオプションは、それを作ることができます。

+0

を、それを私にビート... :-) –

+0

私は彼を殴ったが、別の質問を参考にしているが、些細なコメントに変わった。 – ahillman3

+0

しかし、それは '$(document).ready()'にまだ残っているので、ページの読み込みが完了するまではまだ起動するのを待っていませんか? – JacobTheDev

0

オプションは、すべてのタブを閉じた状態でアコーディオンを初期化する方法を示します。参照:http://jqueryui.com/demos/accordion/#option-activeこれは、初期化コードは次のようになり意味:

$(".selector").accordion({ active: false, collapsible: true }); 
0

jQueryのアコーディオンdocumentationからセットアップ後、あなたは単にH3ヘッダ以下の内容のdiv<div style="display: none">を置くことができます。これは、ページが読み込まれている間、アコーディオンのすべてのコンテンツを非表示にします。

0

あなたは好きで、それを設定することができます。

.accordion-body{ 
    display: none; 
} 

私はあなたがそれを再度表示する心配する必要はありませんあなたはのでアコーディオンは、どこかで$ .SHOW(または類似)を呼び出しますことを推測します。場合には私が間違っているので、ここでも、これは、推測です、あなたはそれが目に見える再び

$('.accordion-body').css('display', 'block'); 
$('#accordion').accordion(); 

を使用してしかし、あなたはDOM負荷に.accordion()を呼び出している場合、あなたはまた、使用して、以前のそれを発射しようとすることができます。負荷:

$('#accordion').load(function(){ 
    $(this).accordion(); 
}); 
0

あなたはこのような何かを試みることができる:あなたがアコーディオンを呼び出すために使用しているセレクタにスタイルを適用、あなたのCSSで

を:

.accordionSelector > div { display:none; } 

その後のjQueryをロードした後に戻ってblockからdisplayを変更します。

$(".accordionSelector").accordion({...}).children("div").css("display","block"); 
関連する問題