Как я могу переключать div и симулировать скрытие ранее переключенных div? - PullRequest
0 голосов
/ 16 декабря 2011

Когда я нажимаю на любой элемент меню, отображается подменю для этого элемента.Что здорово.Затем, когда я нажимаю на любой другой элемент меню, первое окно / подменю исчезает, и появляется новое подменю, что тоже замечательно.Проблема в том, что оставшееся / последнее подменю не исчезает.Я хочу иметь возможность щелкнуть любой из пунктов меню и скрыть оставшееся / последнее подменю.

мой URL: http://arabic001.com

$(document).ready(function() {

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

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


        });

        })

1 Ответ

1 голос
/ 16 декабря 2011

Я только что сделал это вчера ...

Когда я открываю что-то, я добавляю новый элемент в элемент, затем, когда переключается новый элемент, вы можете использовать класс, который вы добавили в качестве селекторазакройте открытый элемент.

    $("#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');
            }    }

ОБНОВЛЕНИЕ: Я удалил бит "игнорировать", который у меня был там.Это было излишним.Это прекрасно работает для меня.Я также изменил метод привязки, чтобы использовать формат $ (селектор) .on («событие», обратный вызов).

ОБНОВЛЕНИЕ: Ой!Мне нужно это игнорировать там.В противном случае закрывающее действие снова откроется.(

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...