我得到了一个似乎有效的jQuery切换,但是当我再次点击它时,它似乎不想在点击它时向下滑动。我甚至试图点击其他人。
我做错了什么?我已经有了它,但也许我错过了一些相对简单的东西。
javascript:
$(function() {
$("li.subMenu").click(function() {
$(".subMenu-link").slideUp("normal");
$(this).next().slideDown();
});
$(".subMenu-link").not(':first').hide();
});
HTML:
<li class="subMenu">
<i class="lock"></i>
<span class="title">User Account</span>
<span class="toggle">+</span>
<ul class="subMenu-link">
<li>One Link</li>
<li>One Link</li>
<li>One Link</li>
<li>One Link</li>
</ul>
</li>
答案 0 :(得分:2)
此:
$(this).next();
选择下一个li subMenu项目,你可以说它已经是&#34; down&#34; (可见)。您可能想要下拉subMenu项目中的无序列表。您可以通过儿童访问它:
$(this).next().children('.subMenu-link').slideDown();
如果单击第一个,它将隐藏第一个,然后显示第二个。如果单击第二个,它将隐藏第二个并显示第三个。但是,如果你点击第三个,那么它只会滑动那一个并且什么都没有滑动,因为没有第四个元素。
如果你要做的是显示一个并隐藏其他人,你可以改用兄弟姐妹:
$("li.subMenu").click(function() {
$(this).children(".subMenu-link").slideDown("normal");
$(this).siblings().children('.subMenu-link').slideUp();
});