滑动点击多个元素(sliding multiple elements on click)

2019-09-26 16:35发布

我有一个包含子菜单垂直菜单栏。 有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");
            }
    }
        });

这里的小提琴

Answer 1:

尝试这个:

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

演示


更新:

尝试这个:

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");
}


Answer 2:

采用

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

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

这里是更新的小提琴



Answer 3:

这在前面加上你的代码:

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

更新演示



文章来源: sliding multiple elements on click