jQuery手风琴问题/提示

时间:2013-06-08 23:16:36

标签: jquery accordion

我有一个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');
        });
});

1 个答案:

答案 0 :(得分: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');
});

FIDDLE

问题是您正在搜索siblings内的section,而不是a