絶対配置されたアコーディオンの高さに基づいて、jqueryを使用してクリック時の親divの高さを拡大しています。この場合、絶対に配置する必要があります。クローズ時にアコーディオン開状態の高さを取得
各アコーディオンボタンは独自の機能を持ち、親の高さはアコーディオンタイトル(ボタン)+コンテンツになり、アコーディオンのどのセクションが開いているかによって変わります。問題は開いた状態で、デフォルトは、文書の負荷状態を閉じたとしてときに動的に正しい高さを得るために、私はコンテンツのサイズを知っておく必要があるということです
height:0;
$('.button').click(function(){
var accordionHeight = $('.accordion-content').height(); //default closed state, height:0;
$('.parent').height(accordionHeight + $('.accordion-title').height());
});
は、どのような方法がありますされますオープン状態をデフォルトとして設定せずに、オープン状態でのアコーディオンコンテンツの高さを判断するにはどうすればよいですか?
詳細が必要な場合はお知らせください。
編集:その他の情報
2人の子供を持つ親のdivを想像してみてください。アコーディオンは1人の子供であり、もう1人は常にすべての州のアコーデオン部門と同じ高さになります。
Edit2:@ LouysPatriceBessetteのソリューションのバリエーションに基づいて解決されました。
//expand accordion
$(".custom-accordion .panel-collapse").addClass("in");
//get height
var accordionContent = $('.custom-accordion').height();
//display height
console.log(accordionContent);
//collapse accordion
$(".custom-accordion .panel-collapse").removeClass("in");
//check we still have the correct height value
console.log(accordionContent , "Hello, world!");
$('.custom-accordion .title').click(function(){
$('.sibling').height(accordionContent);
});
こんにちは、開かれた状態になっているときは.accordion-contentに高さを追加するだけです。各ボタンをクリックするとどうなりますか? – bellabelle
@bellabelleはいそうです。 – JPB