Jquery 如何防止同一项目上出现多个滑动切换
我目前有一个分UL列表。单击列表项时,我希望UL滑动切换。我已经做到了这一点。我现在遇到的问题是,如果我点击打开的同一个项目来关闭它,它会执行双重切换。值得一提的是,我希望一次只打开一个sub ul HTMLJquery 如何防止同一项目上出现多个滑动切换,jquery,accordion,slidetoggle,Jquery,Accordion,Slidetoggle,我目前有一个分UL列表。单击列表项时,我希望UL滑动切换。我已经做到了这一点。我现在遇到的问题是,如果我点击打开的同一个项目来关闭它,它会执行双重切换。值得一提的是,我希望一次只打开一个sub ul HTML <div class="top"> <ul> <li><a href="#"> Item </a></li> <li class="drop"><a href="#"> Item Drop
<div class="top">
<ul>
<li><a href="#"> Item </a></li>
<li class="drop"><a href="#"> Item Drop </a>
<ul class="sub">
<li><a href="#"> Sub Item </a></li>
<li><a href="#"> Sub Item </a></li>
<li><a href="#"> Sub Item </a></li>
</ul>
</li>
<li><a href="#"> Item </a></li>
<li><a href="#"> Item </a></li>
<li class="drop"><a href="#"> Item Drop</a>
<ul class="sub">>
<li><a href="#"> Sub Item </a></li>
<li><a href="#"> Sub Item </a></li>
<li><a href="#"> Sub Item </a></li>
</ul>
</li>
</ul>
</div>
JS
ul {
li {
ul {
display:none;
}
}
}
$('.drop').click(function(){
$('.sub').slideUp();
$(this).children('.sub').slideToggle();
});
尝试以下方法
$('.drop').click(function(e){
if($(e.target).closest('ul').is(':not(.sub)')) {//if the clicked element is has a ul that is not .sub we slide them up
$('.sub').slideUp();}
$(this).children('.sub').slideToggle();
});
或:
试试下面的方法
$('.drop').click(function(e){
if($(e.target).closest('ul').is(':not(.sub)')) {//if the clicked element is has a ul that is not .sub we slide them up
$('.sub').slideUp();}
$(this).children('.sub').slideToggle();
});
或:
删除
$('.sub').slideUp()代码>臭虫。我应该提到,我希望单击某个项目时所有其他项目都向上滑动,以便只显示一个项目代码>臭虫。我应该提到,当点击一个项目时,我希望所有其他项目都向上滑动,这样只有一个项目显示出来。非常感谢你。非常好,非常感谢你。非常好。