jQuery树菜单以错误的方式折叠
只是一个关于jQuery的简单问题。我对这个很陌生 如果我点击子菜单,列表应该向下滑动,而每隔一个打开的列表应该向上滑动。到目前为止,它的工作。但当我点击打开的那一个时,它会再次上下滑动。我怎样才能阻止开着的那个人那样做?打开的页面应该在单击时保持在那里 非常感谢jQuery树菜单以错误的方式折叠,jquery,html,Jquery,Html,只是一个关于jQuery的简单问题。我对这个很陌生 如果我点击子菜单,列表应该向下滑动,而每隔一个打开的列表应该向上滑动。到目前为止,它的工作。但当我点击打开的那一个时,它会再次上下滑动。我怎样才能阻止开着的那个人那样做?打开的页面应该在单击时保持在那里 非常感谢 <ul> <li> <a href="#">Item 1</a>
<ul>
<li>
<a href="#">Item 1</a>
<ul class="sub-menu">
<li>
<a href="#"></a>
</li>
<li>
<a href="#"></a>
</li>
<li>
<a href="#"></a>
</li>
<li>
<a href="#"></a>
</li>
</ul>
</li>
<li>
<a href="#">Item 2</a>
<ul class="sub-menu">
<li>
<a href="#"></a>
<ul class="sub-menu">
<li>
<a href="#"></a>
<ul class="sub-menu">
<li></li>
<li></li>
</ul>
</li>
<li>
<a href="#"></a>
</li>
<li>
<a href="#"></a>
</li>
<li>
<a href="#"></a>
</li>
</ul>
</li>
<li>
<a href="#"></a>
</li>
<li>
<a href="#">S</a>
</li>
</ul>
</li>
<li>
<a href="#">Item 3</a>
</li>
<li>
<a href="#">Item 4</a>
</li>
<li>
<a href="#">Item 5</a>
</li>
</ul>
基本上,您的
not
选择器没有获得任何匹配项,因此没有排除任何内容
对于树,您希望使用相对于单击的项目进行操作的选择器。然后它们也可以用于嵌套元素
试试这个:
JSFiddle:
您会注意到它现在处理子菜单的方式与处理父菜单的方式相同
*注意:您还需要在折叠状态下启动所有内容。还有这个:
$('.treeview>ul>li>ul').hide();
创建一个JSFIDLE复制您的问题是一个好主意,
标记将有助于$(这个)。父菜单('.sub-menu')应该是$(这个)。下一步('.sub-menu')对吗?+1提供足够的代码和HTML来复制:)非常感谢。那帮了大忙@丹尼斯:没问题:)
$('.treeview ul li a').click(function (ev) {
var $this = $(this);
// Collapse all other lists under parent list
$this.closest('li').siblings().find('ul').slideUp();
// Expand the sibling lists
$this.siblings().slideDown();
ev.preventDefault();
});
$('.treeview>ul>li>ul').hide();