タイトル(「サンプル」などの青い文字部分)をクリックすると、開閉する要素のステータス(この場合class名)をIF判定し、「open」なら「slideUp()」、「close」なら「slideDown()」してコンテンツを開閉し、「close」と「open」のclass名を交互に書き換えます。IF文を使っているので、開閉などの交互の動作(toggle)以外の動作も追加できます。
$(".xbox").on("click",function(){ if($(this).hasClass("close")){ $(this).next().slideDown(); $(this).removeClass("close").addClass("open"); }else{ $(this).next().slideUp(); $(this).removeClass("open").addClass("close"); } });
同じくタイトルをクリックすると、機械的に要素を開閉します。他の動作はできませんが、その分スクリプトはシンプルになります。
$(".xbox2").on("click",function(){ $(".xboxcnt2").slideToggle("slow"); });
サンプル(2)と同じtoggleですが、フェードアウト、フェードイン効果が付きます。
$(".xbox3").on("click", function() { $(".xboxcnt3").fadeToggle("slow"); });