【发布时间】:2011-10-20 06:53:59
【问题描述】:
我有一个手风琴,我希望它具有以下功能:当用户单击要展开的链接时,其他展开的链接(如果有)将折叠。我知道这个功能是内置在手风琴插件中的,但我试图避免添加另一个库(jQuery UI)。
编辑:这是我现在拥有的代码(在 jsFiddle 上:http://jsfiddle.net/s2Jfs/2/):
$('.accordion-toggler').addClass('toggle-plus');
$('.accordion-toggler').click(function() {
$this = $(this);
if($this.hasClass('toggle-plus')) {
$this.removeClass('toggle-plus').addClass('toggle-minus');
} else {
$this.removeClass('toggle-minus').addClass('toggle-plus');
}
$this.next('.mod-content').slideToggle();
});
“mod-content”类附加到应该展开/折叠的内容。现在,如果您展开一项,将其保持打开状态,然后单击另一项,您将拥有多个展开区域。如何折叠除活动链接之外的其他链接?
【问题讨论】:
-
能否提供jsfiddle.net 或演示站点?
-
请注意,
$符号不是必需的 Javascript 变量$this。您可以简单地使用this。 -
您可以尝试将此行移到顶部并使用兄弟姐妹而不是旁边来定位所有其他人:
$this.siblings('.mod-content').slideToggle();,然后显示当前的。你能发布一些HTML吗?
标签: jquery jquery-ui-accordion