我可以通过点击其他元素来扩展/折叠JQuery ui Accordion的内容吗?

默认情况下,有控制展开/折叠的内容标题。但在我的情况下,我也可以通过其他元素展开/折叠内容。 例如:

jquery ui accodion代码的基本结构:

 $(function() { $( "#accordion" ).accordion(); });  

Section 1

Mauris mauris ante, blandit et, ultrices a, suscipit eget, quam. Integer ut neque. Vivamus nisi metus, molestie vel, gravida in, condimentum sit amet, nunc. Nam a nibh. Donec suscipit eros. Nam mi. Proin viverra leo ut odio. Curabitur malesuada. Vestibulum a velit eu ante scelerisque vulputate.

......

现在。 我有另外一个元素,就像:

  

非常感谢你!!

您可以使用传入 false的.activate以编程方式折叠所有元素。 由于您一次只打开一个元素,因此可以折叠打开显示该链接的任何元素。 这只有在您将collapsible设置为true时才有效。

您可以传入要扩展的其他元素以在单击时展开该元素。

折叠手风琴标签:

 $('.accordion').accordion('activate', false ); 

展开第一个手风琴标签:

 $('.accordion').each(function (idx, item) { if ($(item).accordion("option", "active") === false) { $(item).accordion('activate', 0); } }); 

更新JQuery UI后,手风琴上没有“主动”方法。 所以,要折叠所有手风琴使用:

 $('.accordion').accordion('option', {active: false}); 

在最初加载后,我很难让Accordions崩溃/扩展。 为了解决这个问题,我使用了:

 $('#accordionId h3').click(); 

…模仿单击标题区域并强制切换激活类。

感觉就像一个黑客,但它是有效的,最好的。

使用Bootstrap:

  //To Expand var elem = $(this).find('.accordionElement'); elem.addClass("in"); elem.attr("style",""); elem.attr("aria-expanded",true); 

然后你可以崩溃使用:

  var elem = $(this).find('.accordionElement'); elem.removeClass("in"); elem.attr("style","height: 0px;"); elem.attr("aria-expanded",false);