Javascript 如何通过一个按钮切换展开/折叠行为?

Javascript 如何通过一个按钮切换展开/折叠行为?,javascript,jquery,jquery-nestable,Javascript,Jquery,Jquery Nestable,我使用插件创建树结构。我想切换按钮以展开/折叠 要展开,我添加以下内容: $('#tree').nestable('expandAll'); $('#tree').nestable('collapseAll'); 要折叠,我添加以下内容: $('#tree').nestable('expandAll'); $('#tree').nestable('collapseAll'); 但我用两个不同的按钮分别完成了。如何通过一个按钮切换展开/折叠行为 html: <div id="tree

我使用插件创建树结构。我想切换按钮以展开/折叠

要展开,我添加以下内容:

$('#tree').nestable('expandAll');
$('#tree').nestable('collapseAll');
要折叠,我添加以下内容:

$('#tree').nestable('expandAll');
$('#tree').nestable('collapseAll');
但我用两个不同的按钮分别完成了。如何通过一个按钮切换展开/折叠行为

html:

<div id="tree" class="dd">
    <ol class="dd-list">
        <li class="dd-item" data-id="1">
            <div class="dd-handle">Item 1</div>
        </li>
        <li class="dd-item" data-id="2">
            <div class="dd-handle">Item 2</div>
        </li>
        <li class="dd-item" data-id="3">
            <div class="dd-handle">Item 3</div>
            <ol class="dd-list">
                <li class="dd-item" data-id="4">
                    <div class="dd-handle">Item 4</div>
                </li>
                <li class="dd-item" data-id="5">
                    <div class="dd-handle">Item 5</div>
                </li>
            </ol>
        </li>
    </ol>
</div>

  • 项目1
  • 项目2
  • 项目3
  • 项目4
  • 项目5

  • 在两个
    功能之间切换,如下所示:

    var click=false;
    函数调用函数(el){
    如果(!单击){
    //$(“#树”).nestable('expandAll');
    console.log('expandAll');
    单击=真;
    }否则{
    //$(“#树”).nestable('collapseAll');
    单击=false;
    console.log('collapseAll');
    }
    }
    
    切换
    尝试使用

    $('#tree').nestable();
    
    因为它会自动切换


    这是我尝试的链接

    您可以向按钮添加一个事件,该事件将检查按钮的操作

       $('#tree').on('click', 'button', function(e){
        $(e.target).data('action') == 'expand-all' ? $(e.target).data('action', 'collapse-all') : $(e.target).data('action', 'expand-all')
    })
    

    你应该分享更多的信息,比如你的html结构,这样我们就可以根据它来解析