展开ALL或折叠ALL

时间:2011-09-17 02:09:44

标签: javascript jquery toggle

我们正在为我们的项目创建FAQ部分。

每个常见问题都有一个幻灯片切换,可以向上或向下滑动常见问题解答。

我们使用的是:

$(function () 
            {
                $('input#search_term').quicksearch('.portlet ul li', 
                {       
                    loader: 'span.loader'
                    , onBefore: function ()
                    {
                        $('.answer').hide ();
                    }           
                    , noResults: '#no_results'
                });

                $('#search-bar form').live ('submit' , function () { return false; });
                $('.faq .answer').hide ();  
                $('.faq p a').live ('click' , function () { $(this).parent ().next ('.answer').slideToggle (); });
            });

每个问题的html包含在单个LI标记中,如:

<li style="display:none;">
<p><span class="plus_icon">+</span><a class="faq" href="javascript:;">Question Title here</a></p>
    <div class="answer">
        <p>Answer here</p>
    </div>

我想要做的就是添加一个元素,其中onclick扩展ALL或收缩所有LI的

有人可以帮忙吗。

1 个答案:

答案 0 :(得分:2)

您需要的只是一个选择器,用于您想要扩展/收缩的所有元素。如果你有,你可以选择它,并使用slideDown()或slideUp()一次滑动所有这些; jQuery会立刻影响所有这些。像这样:

HTML:

<span id="expand-all">Expand All</span>
<span id="contract-all">Contract All</span>

JS:

$('#expand-all').click(function() {$('.answer').slideDown();});
$('#contract-all').click(function() {$('.answer').slideUp();});