Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在jQuery中单击按钮触发手风琴?_Jquery_Jquery Ui_Button_Hide_Accordion - Fatal编程技术网

如何在jQuery中单击按钮触发手风琴?

如何在jQuery中单击按钮触发手风琴?,jquery,jquery-ui,button,hide,accordion,Jquery,Jquery Ui,Button,Hide,Accordion,我想在单击最小化按钮时触发手风琴,或者更具体地说,当我们单击最小化按钮时,对话框的内容部分被隐藏 Html代码: <div id="dialog" title="Title"> <div> <p>Some Content</p> </div> </div> <button>Minimize</button> 您需要在对话框小部件上触发手风琴,而不是原始的元素。您还需要明确指定标题栏作为accordi

我想在单击最小化按钮时触发手风琴,或者更具体地说,当我们单击最小化按钮时,对话框的内容部分被隐藏

Html代码:

<div id="dialog" title="Title">
<div>
<p>Some Content</p>
</div>
</div>
<button>Minimize</button>

您需要在对话框小部件上触发手风琴,而不是原始的
元素。您还需要明确指定标题栏作为accordion标题:

$("#dialog").dialog("widget").accordion({
    collapsible: true,
    header: "> .ui-dialog-titlebar"
});
您可以在中进行测试

编辑:手风琴可能不是将对话框折叠为其标题的最佳选择,尤其是如果您只希望按钮触发效果。也许你可以用以下方法代替:


更新了fiddle。

谢谢你的回复,但我只希望内容被折叠,标题应该保持我单击按钮时的状态。@Piyush,在我应用样式之前标题确实保持不变,但你是对的,显然手风琴弄乱了一些东西:)我通过指定标题选择器实现了它,请看我的最新答案。艾德里克非常感谢,这确实是一个很好的解决方案,我一直在尝试这样做,但未能实现结果。现在,只剩下整个标题栏作为标题(单击标题栏中的任意位置),但我只需要最小化按钮即可。@Piyush,在这种情况下,也许你不需要手风琴。答案相应地更新了:)德瑞克真棒,这正是我想要做的:))
$("#dialog").dialog("widget").accordion({
    collapsible: true,
    header: "> .ui-dialog-titlebar"
});
$("#dialog").slideToggle("fast");