0

最初に異なるアイテムを開くいくつかの JQuery UI アコーディオンを初期化しようとしています。すべてのアコーディオンを個別に初期化する必要はありませんが、(CMS との統合を容易にするためにも) すべてを 1 つの関数にまとめておきたいと考えています。私はこの方法でそれを達成しようとしています:

<div class="accordion" data-initiallyopen="1">
    <h3>HEADER 1</h3>
    <div class="details">...</div>
    <h3>HEADER 2</h3>
    <div class="details">...</div>
</div>

$(".accordion").accordion({
    active: $(this).data("initiallyopen"),
    collapsible: true,
    heightStyle: "content"
});

残念ながら、これは機能しません。コンソール エラーはありません。$(this) は明らかに適切なオブジェクトではありませんが、init 内からアコーディオンにアクセスする方法はありますか?

4

2 に答える 2

1

このフィドルでテストして、試してください:

$(".accordion").each(
    function () {
        $(this).accordion( {
            active: $(this).data("initiallyopen"),
            collapsible: true,
            heightStyle: "content"
        })
    }
);
于 2013-03-07T11:11:00.047 に答える
0

ブートストラップ アコーディオン機能を使用している場合、HTML クラスの「折りたたみ」とアコーディオンを設定すると、どのアコーディオンを開いたままにするかを選択できます。例:

<div class="accordion" id="accordion2">
    <div class="accordion-group">
        <div class="accordion-heading">
            <a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion2" href="#collapseOne">
                Collapsible Group Item #1
            </a>
        </div>
        <div id="collapseOne" class="accordion-body collapse in">
            <div class="accordion-inner">
                Anim pariatur cliche...
            </div>
        </div>
    </div>
    <div class="accordion-group">
        <div class="accordion-heading">
            <a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion2" href="#collapseTwo">
                Collapsible Group Item #2
            </a>
        </div>
        <div id="collapseTwo" class="accordion-body collapse">
            <div class="accordion-inner">
                Anim pariatur cliche...
            </div>
        </div>
    </div>
</div>

この例では、2 番目のアコーディオンはクラスが「accordion collapse」であるため閉じられますが、最初のアコーディオンは「accordion collapse in」です。

于 2013-03-07T11:14:44.940 に答える