拙サイトのナビを上下に展開・格納するようにしたいと思い色々物色。すると、『 Web制作の現場で使う jQueryデザイン入門 』p.244〜p.245の「サンプル1」に応用できそうなjQueryを見つけ拝借。 $(function(){ $("展開・格納する要素名orクラス名orID名").hide(); $("クリックする要素名orクラス名orID名"). hover (function(){ $("展開・格納する要素名orクラス名orID名:not(:animated)" ,this ). slideDown("slow") ; } , function(){ $("展開・格納する要素名orクラス名orID名",this).slideUp("slow"); } ); }); これを元に、 クリック時の動作用に変更。 自分が後で理解しやすいようにする。 上下展開・格納動作にアニメーションをつけたい。 クリックする箇所が、展開・格納で文字色が変わるように。 上述動作が2箇所で交互に動作するように。 となるように改造していく。 1.クリック時の動作用に変更〜2.自分が後で理解しやすいようにする 「hover」を「click」に変更。 clickするごとに展開・格納させるので、slideDown()、slideUp()はslideToggle()にまとめて条件式の1つを削除。 「this」の意味が良く分かってないので現段階で取っちゃう(後で、冗長的になるけど、これがなくても良い書き方にする)。 3.上下展開・格納動作にアニメーションをつけたい 今まさに必要なコラムを発見。 @ITの記事『 jQueryのアコーディオン効果の使い方・作り方(2/3) 』より、 コラム 「jQueryのslideDown/slideUp/fadeIn/fadeOutメソッドの正体」 slideDown/slideUpメソッドはheightプロパティを、fadeIn/fadeOutメソッドはopacityプロパティを、書き換えることにより実装します。jQueryは、これらのプロパティを書き換えるのに、animateメソッドを使用...