Я только что сделал это вчера ...
Когда я открываю что-то, я добавляю новый элемент в элемент, затем, когда переключается новый элемент, вы можете использовать класс, который вы добавили в качестве селекторазакройте открытый элемент.
$("#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 («событие», обратный вызов).
ОБНОВЛЕНИЕ: Ой!Мне нужно это игнорировать там.В противном случае закрывающее действие снова откроется.(