2012-06-14 18 views
69

私はJQuery Accordionを使用しています。このページはここにあります:http://www.hauppauge.com/site/support/support_colossus.html#tabs-6JQuery Accordion Auto Heightの問題

自動高さが読み込まれるまでに時間がかかることがあります。読み込む前に、コンテンツの下に空白がたくさんあります。最終的に高さが上がると、高さが長くなり、コンテンツの正しい高さに収まります。これがシームレスになる方法はありますか?アコーディオンタブをクリックしてコンテンツの正確な高さにスムーズに展開できるようにしたいだけです。

アップデート2014年8月8日:

使用heightStyle: "content"あなたが使用している場合version 1.9 and higherTarun's答え)

1.8 and lowerに使用autoHeight: false(iappwebdevの答え)

+0

あなたはどこかの高さを '274'に適用しています。それを削除しようとするか、少なくとも減らしてください。 – Imdad

+0

私はちょうどこれのための検索をしたと私はこれを持っているか分からない。あなたはそれをどのように見ますか?ありがとうございました! – Kim

+0

Firebugで検査してください。デフォルトの高さは、それが、私がやった – Imdad

答えて

53

は、なぜありませんautoheightをfalseに設定するだけですか?

$(".selector").accordion({ autoHeight: false }); 

http://jqueryui.com/demos/accordion/#option-autoHeight

EDIT

あなたのコメントを見てみると:

// Accordion 
$("#accordion").accordion({ header: "h3" }); 
$("#accordion").accordion({ collapsible: true }); 
$("#accordion").accordion({ autoHeight: false, navigation: true }); 

あなたがアコーディオンを初期化され、その後、あなたはそれをより多くのオプションを追加します。どうしてそんなことをするのか? autoHeightのデフォルト値はtrueです。したがって、すべてのタブは固定された高さになります。 1回の呼び出しですべてのオプションを置く:あなたの第二のコメントについて

// Accordion 
$("#accordion").accordion({ 
    header: "h3", 
    collapsible: true, 
    autoHeight: false, 
    navigation: true 
}); 



EDIT

http://jqueryui.com/demos/accordion/#option-headerを見てください。オプションh3がデフォルトで設定されているので、通話に設定する必要はありません。

あなたの質問への回答はJQuery accordion doesn't work without h3 tagsです。

知識を向上させるためにjQuery APIを使用することは非常に重要です。 jQuery APIについてはhttp://api.jquery.com/に、jQuery UIについてはhttp://jqueryui.com/demos/に行ってください。質問がある場合は、の問題を解決しようとした後にの後に調査をしてください。

このすべてがあなたの質問に答えた場合は、それを正解とマークしてください。

+0

多くは、これは私が持っているものであることをすべきではない274' 'です。 \t \t \t //アコーディオン\t \t \t \t \t $( "#アコーディオン")アコーディオン({ヘッダー:" h3 "}); \t \t \t \t $( "#accordion")。accordion({collapsible:true}); \t \t \t \t $( "#アコーディオン")アコーディオン({ \t \t \t \t autoHeight:偽、 \t \t \t \tナビゲーション:真})。 – Kim

+0

それはうまくいった!どうもありがとうございます!あなたは私が学んでいると言うことができます。私は本当にこれで助けてくれてありがとう!それは私を夢中にさせていた。 ヘッダー「h3」が必要な理由は分かりますか?それがなければ正しく動作しません。再度、感謝します! – Kim

+0

答えを編集して読みやすくします。 – iappwebdev

139

あなたはそれがあなたの内容に応じて高さを設定します

$("#accordion").accordion({ 

heightStyle: "content" 

}); 

を使用する必要があります。空白を高さとして使用しません。

+8

親指が上がる。短いシンプルで最高の、それは動作します:) – Evorlor

+13

これは間違いなく正しい答えです! – saiyancoder

+5

ありがとう、 'autoHeight:false'を試してみました...しかし何も、これはトリックをした – Pierre

0

これは私のために働いた。

$(".accordion").accordion({ 
autoHeight: false, 
collapsible: true, 
navigation: true 
}); 
9
$("#accordion").accordion({ 

heightStyle: "content" 

}); 

これは、新しいバージョンに取り組んでいる そのは私のために働きました!

0

何も今のところ機能していない場合は、単にjQueryのアコーディオンcontentElementのサイズを変更する - それは、デフォルトでdata-contentと呼ばれ、あなたはそれを異なって構成されていない限り:

$('.accordion').find('[data-content]').resize(); 

あなたの後にアコーディオンのサイズを変更したい場合、これがまたうまくいきますデータは動的にロードされます。