简单的手风琴菜单(jQuery)

时间:2010-03-18 09:03:50

标签: javascript jquery css menu

jQuery的:

// ACCORDION
$('.accordion .answer').hide(); // hide all
$('.accordion .question').click(function(){
     $('.accordion .answer').slideUp(); // hide all open
     $(this).addClass('active').next().slideDown(); // show the anwser
     return false;
});

HTML:

<dl class="accordion">
    <dt class="question">question</dt>
    <dd class="answer">answer</dd>
    <dt class="question">question</dt>
    <dd class="answer">answer</dd>
</dl>

......有效,但

  • 必须从非活动问题元素&amp;
  • 中删除“有效”类
  • 至少有一个答案仍未解决;所有答案都应该能够结束。

谢谢!

2 个答案:

答案 0 :(得分:1)

$('.accordion .answer').hide(); // hide all
$('.accordion .question').click(function(){
    if($(this).hasClass('active')) {
        $(this).removeClass('active').next().slideUp();
    } else {
        $('.accordion .answer').removeClass('active').slideUp();
        $(this).addClass('active').next().slideDown();
    }
    return false;
});

但你应该真正看看jQuery UI Accordion

答案 1 :(得分:1)

好的,想通了:

$('.accordion .answer').hide(); // hide all
$(".accordion .question").click(function () {
    $(this).toggleClass('active').next(".answer").slideToggle(300).siblings(".answer").slideUp("slow");
    $(this).siblings().removeClass('active');
});