如何使用slideUp和slideDown jquery关闭子菜单

如何使用slideUp和slideDown jquery关闭子菜单,jquery,Jquery,我正试图用这种方法关闭子菜单,上下推id,此时代码滑下子菜单,下推id…我想关闭并滑动id…任何想法,提前谢谢 var submenu; $('.menu-desktop li').click(function(){ id = $(this).attr('id'); $('#intro-home, #breadcrumbs-pc').animate({'margin-top':'2.4rem'}, 100) $('.menu-desktop ul:not(:fi

我正试图用这种方法关闭子菜单,上下推id,此时代码滑下子菜单,下推id…我想关闭并滑动id…任何想法,提前谢谢

var submenu;    

$('.menu-desktop li').click(function(){
    id = $(this).attr('id');
    $('#intro-home, #breadcrumbs-pc').animate({'margin-top':'2.4rem'}, 100)
    $('.menu-desktop ul:not(:first-child)').slideUp(100)
    $('.menu-desktop').find('.'+id).delay(200).slideDown(100)
    $('#intro-home, #breadcrumbs-pc').delay(200).animate({'margin-top':'5rem'}, 100) 


    $('.menu-desktop').find('.'+id).slideToggle("fast")
});

检查这个JSFIDLE,看看它是否满足您的需要

这是肉:

$('.main-menu li').click(function(){
    var elems = $('ul:not(.main-menu)').length;
    var $refClass = $('.' + $(this).attr('data-ref'));
    var visible = $refClass.is(':visible');

    $('ul:not(.main-menu)').slideUp(100, function() {
        if (elems == 1) {
            if (!visible) $refClass.slideDown('fast');
        }
        elems--;
    });
});

我对slideUp()函数使用回调函数。每次元素完成slideUp动画时,都会调用该函数。当最后一个元素完成隐藏时,如果您试图显示/隐藏的菜单不可见,则它将显示它。如果它是可见的,那么在菜单隐藏之后它将不会做任何事情

我需要查看您想要的HTML
slideUp()/slideDown()
。不过,您很可能希望使用
slideToggle()
不允许我按原样粘贴html代码!我添加了slideToggle,但一次就为它设置了动画!我知道我遗漏了一些东西…好的,HTML在这里,谢谢!我需要的空间在哪里,如果有,请输入$('.menu desktop').find('.'+id).slideToggle(“fast”)hi drop.on.Caprica,我尝试了您的解决方案,但与菜单下的滑块产生了冲突!嗨,卡布里卡,你的解决方案现在起作用了!但我需要的动画使div再次看看修改的例子-对不起,我不知道你需要什么!你想为黑人女主角设定最高保证金?像这样的工作?