slideToggle - 手风琴类型FAQ

时间:2013-06-03 15:31:07

标签: javascript jquery slidetoggle

我正在尝试构建一个简单的手风琴式FAQ。如果您点击某个问题,答案就会显示出来。

然而,

我遇到了问题。控制台没有错误......

这是我的JS代码

$("#contact-fake > li > span").click(function(){

    if(false == $(this).next().is(':visible')) {
        $('#contact-fake div').slideUp(300);
    }
    $(this).next().slideToggle(300);
});

$('#contact-fake li div:eq(0)').show();

和我的HTML

<ul>
    <li><span>Who is it for?</span><div>Test</div></li>
    <li><span>Why do it?</span><div>Test</div></li>
    <li><span>How do we start?</span><div>Test</div></li>
    <li><span>When can we start?</span><div>Test</div></li>
    <li><span>How do we continue?</span><div>Test</div></li>
    <li><span>Next steps?</span><div>Test</div></li>
</ul>

提前致谢(JSfiddle http://jsfiddle.net/dXNyK/) [R

2 个答案:

答案 0 :(得分:1)

使用$(this).next().slideUp(300);代替$('#contact-fake div').slideUp(300);

此外,当您使用直接后代选择器(>)时,请确保ul的ID为contact-fake

jsFiddle here.

jQuery的:

$("#contact-fake > li > span").click(function(){    
    if(!$(this).next().is(':visible')) {
       $(this).next().slideUp(300);
    }
    $(this).next().slideToggle(300);
});    
$('#contact-fake li div:eq(0)').show();

答案 1 :(得分:0)

您是否考虑过使用JQuery UI's accordion template