jquery ui accordion避免关闭项目wnen点击另一个

从现有的小提琴开始,我创建了这个样本: http : //jsfiddle.net/2DaR6/90/

这是html代码:

Section 1

Good Morning Stackoverflow

Section 2

Buongiorno Stackoverflow

Section 3

Bonjour Stackoverflow

这是js代码:

 $(function() { var icons = { header: "ui-icon-circle-arrow-e", headerSelected: "ui-icon-circle-arrow-s" }; $( "#accordion" ).accordion({ icons: icons, collapsible: true }); $( "#header1" ).click(function() { $( "#accordion" ).accordion( "option", "icons", false ); }, function() { $( "#accordion" ).accordion( "option", "icons", icons ); }); });​ 

如果我点击第1部分,手风琴正确打开,但我希望点击其他项目,之前打开的项目将不会关闭。 我怎样才能获得这种行为? 谢谢

你不应该使用jquery手风琴来达到这种目的。 但是,它相对容易覆盖任何元素事件行为。 当初始化accordion时,您只需要将click handler重写为相应的元素。

在你的情况下,这给出了这样的东西:

 $('#accordion .accClicked') .off('click') .click(function(){ $(this).next().toggle('fast'); });​ 

看到工作jsFiddle

我同意手风琴可能不是最好的插件,但你可以做到以下几点:

你可以改变使用id并使用accordion作为一个类,然后有多个div来打破你的部分。

     

header 1

this is my content 1

header 2

this is my content 2

可能你需要另一个插件崩溃/扩展吗? 例如这个 (参见页面底部的例子)

$(“。xyz”)。accordion({ collapsible:true,
active:false, heightStyle:“content”,icons:“”,});