1

さて、この質問は以前の質問の次のバージョンです。

すべてのリンクが折りたたまれているので、「すべて表示」という 1 つのボタンまたはリンクを作成したいと思います。クリックすると、すべてのリンクがアコーディオンでアクティブになります。つまり、すべてのリンクのデータを表示します。また、以前のように折りたたまれた状態にする「すべて非表示」というボタンまたはリンクを1つ作成する必要があります。

折りたたまれた状態

+++++++++++++++++++++++++++++++++++++++
+   Link 1                            +
+   Link 2                            +
+   Link 3                            +
+   Link 4                            +
+++++++++++++++++++++++++++++++++++++++

「すべて表示」をクリックした後に取得する必要があります

+++++++++++++++++++++++++++++++++++++++
+   Link 1                            +
+     Link 1 line 1                   +
+     Link 1 line 2                   +
+     Link 1 line 3                   +
+   Link 2                            +
+     Link 2 line 1                   +
+     Link 2 line 2                   +
+     Link 2 line 3                   +
+   Link 3                            +
+     Link 3 line 1                   +
+     Link 3 line 2                   +
+   Link 4                            +
+     Link 4 line 1                   +
+     Link 4 line 2                   +
+++++++++++++++++++++++++++++++++++++++

これを行う方法?

4

2 に答える 2

0

ハック最後の手段)として使用できます

// highlight headers
$("#accordion001").find('h3.ui-accordion-header')
                  .removeClass('ui-state-default')
                  .addClass('ui-state-active');

//open content panels
$("#accordion001").find('div.ui-accordion-content')
                  .addClass('ui-accordion-content-active')
                  .show();

ただし、現在のコードはデフォルトの動作を台無しにするため、クローズも処理する必要があります (行ったことを元に戻します)。

于 2012-09-27T15:52:47.967 に答える
0

すべてのコンテンツ パネルを展開および折りたたむためのソリューションを次に示します。

function expandAll() {
    $('#accordion h3').removeClass('ui-state-default')
        .addClass('ui-state-active')
        .removeClass('ui-corner-all')
        .addClass('ui-corner-top')
        .attr('aria-expanded', 'true')
        .attr('aria-selected', 'true')
        .attr('tabIndex', 0)
    .find('span.ui-icon')
        .removeClass('ui-icon-triangle-1-e')
        .addClass('ui-icon-triangle-1-s')
    .closest('h3').next('div')
        .show();

    $('.expand').text('collapse all').unbind('click').bind('click', collapseAll);

    $('#accordion h3').bind('click.collapse', function() {
        collapseAll();
        $(this).click();
    });
}

function collapseAll() {
    $('#accordion h3').unbind('click.collapse');

    $('#accordion h3').removeClass('ui-state-active')
            .addClass('ui-state-default')
            .removeClass('ui-corner-top')
            .addClass('ui-corner-all')
            .attr('aria-expanded', 'false')
            .attr('aria-selected', 'false')
            .attr('tabIndex', -1)
        .find('span.ui-icon')
            .removeClass('ui-icon-triangle-1-s')
            .addClass('ui-icon-triangle-1-e')
        .closest('h3').next('div')
            .hide();

    $('.expand').text('expand all').unbind('click').bind('click', expandAll);

    $('#accordion').accordion('destroy').accordion();
}

そしてフィドル

http://jsfiddle.net/wa9Dz/1/

于 2012-09-28T05:24:00.693 に答える