アコーディオンメニューを開くと、他の開いていたアコーディオンメニューは閉じる場合のサンプルです。
タイトル1
ダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキスト
タイトル2
ダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキスト
タイトル3
ダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキスト
html、CSSのコードは下記の記事と同様です。
開くボタン・閉じるボタンを1つの画像で使いまわす仕様です。
jQueryのコードです。
タイトルをクリックでタイトルのpタグにクラス名selectedを付与、再度タイトルをクリックでクラス名selectedを削除しています。
ポイントはnotメソッドでクリックした以外のタイトルのpタグを対象に、クラス名selectedの削除とコンテンツのpタグにslideUpメソッドを実行している箇所です。
なお、slideUpは元々アコーディオンメニューが閉じていれば何も起きません。同様にremoveClassもクラス名selectedが付与されていなければ何も起きません。
$(function(){
$('.toggle_title').on('click',function() {
$(this).toggleClass('selected');
$(this).next().slideToggle();
$('.toggle_title').not($(this)).next().slideUp();
$('.toggle_title').not($(this)).removeClass('selected');
});
});