Javascript 如何通过jQuery滑动切换下拉菜单项?

Javascript 如何通过jQuery滑动切换下拉菜单项?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有以下代码。它所做的是,单击一个li,它的下拉列表将向下滑动。如果单击它旁边的另一个li,则另一个下拉菜单将向下滑动,然后上一个下拉菜单将向上滑动 但是,如果我要单击相同的li来“打开”和“关闭”它,那么下拉菜单将在第一次单击时向下滑动,然后在第二次单击尝试并“关闭”它时,它将再次向右滑动 所以问题是,如果我点击一个父链接,然后立即再次点击它,下拉菜单会向上滑动,然后再向下滑动。它不会保持“关闭”或切换 这是我的密码: $(“.dropdown”)。单击(函数(){ $(“li>ul”).s

我有以下代码。它所做的是,单击一个
li
,它的下拉列表将向下滑动。如果单击它旁边的另一个
li
,则另一个下拉菜单将向下滑动,然后上一个下拉菜单将向上滑动

但是,如果我要单击相同的
li
来“打开”和“关闭”它,那么下拉菜单将在第一次单击时向下滑动,然后在第二次单击尝试并“关闭”它时,它将再次向右滑动

所以问题是,如果我点击一个父链接,然后立即再次点击它,下拉菜单会向上滑动,然后再向下滑动。它不会保持“关闭”或切换

这是我的密码:

$(“.dropdown”)。单击(函数(){
$(“li>ul”).slideUp();
$('li>ul')。不是($(this.children(“ul”)。滑动切换(“swing”));
});


  • 我不知道您的html和css代码如何,但这可以让您了解

    $(“.dropdown”)。单击(函数(){
    $(“.dropdown>ul”).slideUp();
    $(this.find(“ul”).slideDown();
    })
    li.dropdown>ul{
    显示:无;
    }
    
    
    • 测试1
      • 种皮
      • 测试B
    • 测试2
      • testc
      • 测试

    如果我理解正确,您希望单击父链接以向下滑动所有子菜单,当单击一个子菜单时,将其向上滑动,然后向下滑动其他子菜单

    有关详细信息,请参见以下代码的注释:

    $(“.dropdown>ul”)。单击(函数(e){
    $(“li>ul”).slideUp();//向上滑动用户单击的菜单
    $('li>ul')。不是($(this)).slideDown();//向下滑动除一个用户单击的菜单之外的其他菜单
    $(此).children(“ul”).slideToggle(“swing”);
    e、 stopPropagation();//防止单击事件在DOM树中冒泡
    });
    $(“.dropdown”)。单击(函数(e){
    $(“li>ul”).slideDown();//为所有子ul向下滑动
    });
    
    
    

  • 你的问题是什么?请包括一个来帮助演示这个问题。我已经包括了我的htmlI,我想建议添加一个类,以及添加一个最容易显示无和块的类,我已经尝试过了,但是你不能在显示无和显示块之间转换,所以我想用jquery routei替换addClass removeClass和slideDown slideUp