单击时切换,但单击后不会向下滑动

时间:2014-10-18 00:39:13

标签: jquery html css

我得到了一个似乎有效的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>

JSFiddle

1 个答案:

答案 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();
            });