1

特定のアコーディオン (実際にはトグル) を開く方法を考えています。

ここに私のjqueryがあります

  $(document).ready(function()
    {
        //Add Inactive Class To All Accordion Headers
        $('.accordion-header').toggleClass('inactive-header');

        //Open The First Accordion Section When Page Loads
        $('.accordion-header').first().toggleClass('active-header').toggleClass('inactive-header');
        $('.accordion-content').first().slideDown().toggleClass('open-content');

        // The Accordion Effect
        $('.accordion-header').click(function () {
            if($(this).is('.inactive-header')) {
                $('.active-header').toggleClass('active-header').toggleClass('inactive-header').next().slideToggle().toggleClass('open-content');
                $(this).toggleClass('active-header').toggleClass('inactive-header');
                $(this).next().slideToggle().toggleClass('open-content');
            }

            else {
                $(this).toggleClass('active-header').toggleClass('inactive-header');
                $(this).next().slideToggle().toggleClass('open-content');
            }
        });

        return false;
    });​

ここで何が起こるかというと、ページの読み込み時に最初のアイテムが開きます。たとえば、2 番目のアイテムが開く場所に設定するにはどうすればよいですか?

ここにフィドルがあります:http://jsfiddle.net/bbyrdhouse/LjDBa/

前もって感謝します。

4

1 に答える 1

0

2 番目のアコーディオンを自動的に開くには、最初の行を次のように変更します。

$('.accordion-header').eq(1).toggleClass('active-header').toggleClass('inactive-header');
$('.accordion-content').eq(1).slideDown().toggleClass('open-content');

eq(1)一致した要素の 2 番目の項目を見つけます (インデックスは 0 ベースです)。最後のアコーディオンを開きたい場合は、last()代わりに を使用しeq(1)ます。

更新されたフィドルを参照してください: http://jsfiddle.net/adrianonantua/LjDBa/1/

于 2012-11-07T15:20:00.943 に答える