アコーディオンメニューがあり、各メニューヘッダーには、メニューが上下にスライドすると変化する小さな矢印imgがあります。
これまでのコードは次のとおりです。
$(document).ready(function() {
$("div.menu_body").hide();
$("#menuheader div.menu_head div.detailsPanel").toggle(function() {
$(this).addClass("detailsPanelSelected").parent(this).next("div.menu_body").slideToggle(300).siblings("div.menu_body").slideUp("slow");
},
function() {
$(this).removeClass("detailsPanelSelected").parent(this).next("div.menu_body").slideUp("slow");
}
);
これは、一度に1つのメニュー項目を切り替えるときに正常に機能します。
ただし、1つのメニュー項目を展開し、別のメニューヘッダーをクリックするとします。予想どおり、最初のメニュー項目が上にスライドし、新しくクリックされたメニュー項目が下にスライドします。ただし、上にスライドするメニューでは、矢印gifは元に戻りません。これは、トグル関数がまだ最初の状態にあるために発生します。もう一度クリックして「detailsPanelSelected」クラスを削除すると、画像が元に戻るだけです。コードを見ると、これは予想されます。
だから私の質問は、別のメニューヘッダーがクリックされたときにメニュー項目「detailsPanelSelected」が削除されるようにするにはどうすればよいですか?保留中のトグル機能をどうにかしてリセットできますか?