我有一个垂直滑动菜单,如下所示:
<ul class="menu">
<li>link</li>
<li>link</li>
<li class="more">link with submenu</li>
<ul class="submenu">
<li>sub link 1</li>
<li>sub link 2</li>
</ul>
<li class="more">link with submenu</li>
<ul class="submenu">
<li>sub link 1</li>
<li>sub link 2</li>
</ul>
<li>link</li>
<li>link</li>
</ul>
jQuery是这样的:
jQuery(document).ready(function($) {
$(".more").click(function() {
$(this).parent().children(".submenu").slideToggle(500); });
});
我的问题是,当我点击“.more”时,每个“.submenu”都是slideToggle(两者都打开)
我该怎么做,所以只有正确的子菜单才能进行滑动切换?
谢谢。
答案 0 :(得分:6)
取消对.parent()
的通话。此外,您的.submenu
应该嵌套在所属的<li>
中,并留下以下jQuery:
$("li.more").on("click", function() {
$("ul.submenu", this).slideToggle(500);
});
这个标记:
<ul class="menu">
<li>link</li>
<li>link</li>
<li class="more">
link with submenu
<ul class="submenu">
<li>sub link 1</li>
<li>sub link 2</li>
</ul>
</li>
<li class="more">
link with submenu
<ul class="submenu">
<li>sub link 1</li>
<li>sub link 2</li>
</ul>
</li>
<li>link</li>
<li>link</li>
</ul>
答案 1 :(得分:0)
这一个?
$(this).next().eq(0).slideToggle(500); });