【问题标题】:sliding multiple elements on click单击时滑动多个元素
【发布时间】:2014-01-21 08:54:56
【问题描述】:

我有一个包含子菜单的垂直菜单栏。有 9-10 个菜单,每个菜单包含 3 个子菜单。

如果菜单 1 打开并且有人点击菜单 3 菜单 1 应该关闭并且菜单 3 将打开,我需要什么

 $('#nav li a').click(function(){
    var sds = document.getElementById("dum");
    if(sds == null){
    ;
    }
    var sdss = document.getElementById("dumdiv");
    if(sdss == null){



    }
    if(sdss != null){
            var s = $(this).attr('id');
            var imgid=$("#"+s+" img").attr('id');
            var imgsrc=$("#"+imgid+"").attr('src');
            if(imgsrc=="images/insert.GIF")
            {
                $("#"+imgid+"").attr('src','images/remove.GIF');
                $(this).next().slideDown(400);
                $("#"+s+"").css("background-color","#142878");
            }
            else
            {
                $("#"+imgid+"").attr('src','images/insert.GIF');
                $(this).next().slideUp(400);
                $("#"+s+"").css("background-color","#2d539a");
            }
    }
        });

here's the fiddle

【问题讨论】:

标签: jquery jquery-slide-effects


【解决方案1】:

使用

$('a').next().slideUp(400); 

如果您单击任何菜单,这将关闭当前菜单并打开新菜单

这是更新后的Fiddle

【讨论】:

  • 如果您单击 2 菜单 3rd 菜单等,然后再次单击菜单 2,它将单击一次关闭当前菜单,在其他单击中,这将打开当前菜单意味着有时需要单击 2 次.所有答案的相同问题
【解决方案2】:

将此添加到代码的开头:

$('#nav li a').click(function(){
    $(this).closest('li').siblings('li').find('.count').slideUp();
    // Rest of the code here

Updated Demo

【讨论】:

    【解决方案3】:

    试试这个:

     $('.count').slideUp(400);     //<----add this line
     $(this).next().slideDown(400);
    

    Demo


    更新:

    试试这个:

    if (imgsrc == "images/insert.GIF") {
        $("#" + imgid + "").attr('src', 'images/remove.GIF');
        $('.count').slideUp(400);
        $(this).next().slideDown(400);
        $("#" + s + "").css("background-color", "#142878");
    } else {
        $("#" + imgid + "").attr('src', 'images/insert.GIF');
        $('.count').slideUp(400);  //<--------------------add here
        $(this).next().slideDown(400);  //<---------------and here too.
        $("#" + s + "").css("background-color", "#2d539a");
    }
    

    【讨论】:

    • 如果您单击 2 菜单 3rd 菜单等,然后再次单击菜单 2,它将单击一次关闭当前菜单,在其他单击中,这将打开当前菜单意味着有时需要单击 2 次
    猜你喜欢
    • 2014-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多