0

这是大手柄的js

jQuery( document ).ready(function() {
   jQuery( ".docit-main-header" ).click(function() { 
     jQuery(this).nextUntil().find('.docit-sub-post').slideToggle();
     jQuery(this).nextUntil().find('.docit-sub-sub-menu-wrap').slideToggle();
});

这是小手柄的js

jQuery( ".docit-sub-header" ).click(function() {
   jQuery(this).nextUntil('div').slideToggle();
 }); 

如何解决此问题,如果您单击将关闭项目的小手柄,然后单击打开的手柄保持打开状态而其他滑动打开的大手柄。而不是扑街。这是jsfiddle.net/6U6fC/8/上的一个示例

4

2 回答 2

1

也许最简单的方法是将类添加到 .docit-main-cat-title 项目(如打开或活动)。当您单击标题时,它们是否都有打开的类,您将它们全部关闭。如果没有,您将它们全部打开。

另一种选择是使用 .filter(":visible") 之类的东西检查它们是否都可见,并采取相应的行动。

于 2013-11-06T03:26:47.553 回答
0

你每次都在'sub-post'和'sub-menu-wrap'上调用slideToggle。
jQuery 'toggle' 函数将打开任何关闭的东西并关闭任何打开的东西。

尝试创建一个条件并:visible在您的选择器中使用,以便仅在可见或隐藏元素上调用 slideToggle。

于 2013-11-06T03:30:55.257 回答