如何切换div并模拟隐藏以前切换的div?

时间:2011-12-16 19:09:16

标签: javascript jquery toggle show-hide submenu

当我点击任何菜单项时,该项目的子菜单会显示。哪个好。然后当我点击任何其他菜单项时,第一个框/子菜单消失并出现一个新的子菜单,这也很棒。问题是剩余/最后一个子菜单不会消失。我希望能够点击任何菜单项并隐藏剩余/最后一个子菜单。

我的网址:http://arabic001.com

$(document).ready(function() {

       $('.menu').click(function()  {

       $('.subNav').hide();
          $(this).next().toggle('slow');


        });

        })

1 个答案:

答案 0 :(得分:1)

我昨天刚刚做了这个......

当我切换打开的东西时,我向元素添加一个新类,然后当切换一个新项时,您可以使用您添加的类作为选择器来关闭打开的项。

    $("#btn_toggle_transcript").on("click",
            function(){
                closeOpen("#transcript_container");
                $("#transcript_container").slideToggle(1000);
                $("#transcript_container").addClass('ToggleOpen');
            }
    );

function closeOpen(ignore){
    if(ignore!=''){
                $(".ToggleOpen:not('"+ignore+"')").slideUp(500);
                $(".ToggleOpen:not('"+ignore+"')").removeClass('ToggleOpen');
            }else{
                $(".ToggleOpen").slideUp(500);
                $(".ToggleOpen").removeClass('ToggleOpen');
            }    }

更新:我删除了那里的“忽略”位。这是多余的。这对我很有用。我还更改了绑定方法以使用$(selector).on(“event”,callback)格式。

更新:哎呀!我需要在那里忽略。否则,收盘行动将再次反弹。 :(