覚えておくとなにかと便利なjQueryの.toggleClassを覚えよう
指定したクラス名を付けたり消したりできるjQueryの.toggleClass。正確には.toggleClassで指定したクラス名が無ければ追加、あれば削除するという動きを持っています。
イメージ的にはONとOFFを切り替える電気のスイッチのような感じですかね。
スポンサーリンク
toggleClassの使い方
下部のサンプルページを用いて説明をすると…
サンプルページのjQueryはこのようにしています。
jQuery
$("div").click(function () { $(this).toggleClass("bg_red"); });
まず、クリックでアクションを起こしたい場所を指定(1行目:divを指定)
次に、指定した場所をクリックしたときの動作内容のクラス名を指定(2行目:bg_red)
あとは、.toggleClassがクラス名を見て、付いていなければ追加、付いていたら削除。を行ってくれます。
html
<div>クリックすると色が変わります</div>
css
div { background-color: #E5E5E5; border-radius: 3px; margin: 50px auto 0; width: 60%; height: 80px; line-height: 80px; text-align: center; cursor: pointer; } .bg_red { background-color: #EE8D8D; }
余談ですが、指定したクラス名を付ける.addClass()、指定したクラス名を削除する.removeClass()もあります。
今回は色の変化でサンプルを作りましたが、世の中ではサイトメニューの開閉に.toggleClassが頻繁に使われてる気がしました。
なので、そのうちアコーディオンメニューを作って置いておこうと思います。