0

適切に動作していない jQuery アコーディオン (実際の .accordion 関数を使用していないことに注意してください - これはもう少し複雑なので) を持っています。基本的に、あるメニューをクリックして開いてから別のメニューをクリックすると、前のメニューが閉じますが、私のメニューは閉じず、理由がわかりません。

誰かが私のコードをチェックして、何が欠けているかを確認できますか?

また、私はあなたの注意を払っているので、jQuery をセットアップして、下部のメニュー オプション (この場合は連絡先セクション) が下にスライドするのではなく、そののコンテンツを表示するように設定する方法はありますか?

HTML

    <div id="container">
            <div class="menu">
                <section id="about-me">
                    <a href="#" id="about" class="nav">about</a>
                        <div class="menu-stuffing">
(info)
                        </div>
                </section>
                <section id="my-work">
                    <a href="#" id="portfolio" class="nav">work</a>
                </section>
                <section id="my-blog">
                    <a href="" id="blog" class="nav">blog</a>
                </section>
                <section id="contact-form">
                    <a href="#" id="kit" class="nav">contact</a>
                    <div class="menu-stuffing" id="contact-form">
(info)
                    </div>
                </section>
            </div>
        </div>

jQuery

        $("div.menu-stuffing").hide();
        $('div.menu > section > a > div').hide();
        $('div.menu > section > a').click(function() {
            event.preventDefault();
            $(this).next('div').slideToggle('fast')
            .siblings('div:visible').slideUp('fast');
        });
});
4

1 に答える 1

1
$("div.menu-stuffing").hide();
$('div.menu > section > a > div').hide();

$('div.menu > section > a').click(function () {
  event.preventDefault();
  $(this).next('div').slideToggle('fast')
  .parent().siblings().find('div:visible').slideUp('fast');
});

フィドル

問題は、クリックしsiblingsた場所の内側を検索していて、他の場所では検索していないことですsectionasection siblings

于 2013-06-08T23:46:53.757 に答える