关闭jQuery菜单中以前的项
第一次在这里发帖,但我总是先来这里做研究。不管怎样,我到处都找遍了,找不到解决问题的可靠办法。问题就在这里,我用jQuery 1.9.1和slideToggle函数创建了一个垂直滑动菜单。我已经在jsFiddle中放了一个示例关闭jQuery菜单中以前的项,jquery,menu,toggle,slide,Jquery,Menu,Toggle,Slide,第一次在这里发帖,但我总是先来这里做研究。不管怎样,我到处都找遍了,找不到解决问题的可靠办法。问题就在这里,我用jQuery 1.9.1和slideToggle函数创建了一个垂直滑动菜单。我已经在jsFiddle中放了一个示例 第1项 清单分项1 清单分项2 第2项 清单分项1 清单分项2 第1项 清单分项1 清单分项2 第2项 清单分项1 清单分项2 $(文档).ready(函数(){ $(“.topnav,.subnav”)。单击(函数(事件){ ev
第1项
- 清单分项1
- 清单分项2
第2项
- 清单分项1
- 清单分项2
第1项
- 清单分项1
- 清单分项2
第2项
- 清单分项1
- 清单分项2
$(文档).ready(函数(){
$(“.topnav,.subnav”)。单击(函数(事件){
event.stopPropagation();
$(this.children(“ul”).slideToggle();
});
});
菜单工作得很好,但我需要弄清楚如何在打开另一个子菜单时关闭上一个子菜单。此外,我需要一种方法来区分父级和子级,以便它知道关闭topnav或subnav。我对整个jQuery都是新手,但我正在慢慢地学习。谢谢你的帮助,我很感激。试试看
$(document).ready(function(){
$(".topnav, .subnav").click(function(event){
event.stopPropagation();
$(this).closest('ul').find('.active').stop().slideToggle().removeClass('active');
$(this).children("ul").slideToggle().addClass('active');
});
});
演示:试试看
$(document).ready(function(){
$(".topnav, .subnav").click(function(event){
event.stopPropagation();
$(this).closest('ul').find('.active').stop().slideToggle().removeClass('active');
$(this).children("ul").slideToggle().addClass('active');
});
});
演示:您可以向上滑动已单击元素的所有子元素:
$(this).siblings().children('ul').slideUp();
这样,您就不需要知道单击的元素是topnav
还是subnav
元素,并且它将根据需要支持尽可能多的嵌套
您可以向上滑动已单击元素的所有子元素:
$(this).siblings().children('ul').slideUp();
这样,您就不需要知道单击的元素是topnav
还是subnav
元素,并且它将根据需要支持尽可能多的嵌套
这一个很接近,但在你点击几次后会崩溃。这一个稍微好一点,但在你点击几次后仍会因为某种原因而崩溃。这一个很接近,但在你点击几次后会崩溃。这一个稍微好一点,但是在你点击了几次之后,仍然会因为某些原因而发疯。这非常有效。我把它放进去了,它很棒,也很简单。非常感谢。我还不能投票,但我一定会接受答案,再次感谢。@user2216047没问题,很高兴能帮助这一切完美地完成。我把它放进去了,它很棒,也很简单。非常感谢。我还不能投票,但我一定会接受答案,再次谢谢。@user2216047没问题,很高兴能帮忙