質問: 初歩的な質問で、申し訳ございません。 jQuery につきましては、まだ、どのような事が出来るのか、きちんと把握できていない状況なのですが、 あるサイトのJSディレクトリに、config.js というファイルが置かれてあり、 その中には、 ``` /* topmenubtn */ jQuery(document).ready(function($){ $('#topmenubtn').click(function(){ $('#topmenu ul').animate({ height : 'toggle' },function(){$(this).css('display','').toggleClass('menuon');}); }); }); ``` このようなコードが書かれておりました。 このコードの意味としましては、 ``` jQuery(document).ready(function($){ ``` サイトのコード(DOM)が全部読み込まれたら、以下を実行しなさい。 ``` $('#topmenubtn').click(function(){ ``` もし、id=topmenubtn の部分???をクリックされたら、以下を実行しなさい ``` $('#topmenu ul').animate({ height : 'toggle' },function(){$(this).css('display','').toggleClass('menuon');}); ``` id=topmenubtn の部分 に含まれる ul タグ の中の部分について、 animate???(イメージ)があれば、その高さを 変数'toggle'の値にしなさい??? そして、・・・・あとはちんぷんかんぷんです。 どなたか、お時間の有る方がいらっしゃいましたら、 だいたい、どのような操作をさせているのか、お教えいただければありがたいです。 初心者で申し訳ないのですが、よろしくお願いいたします。
回答: こんなかんじですか? ``` $( '#topmenu ul' ).animate( { height : 'toggle' } // #topmenu ul の元の height と 0 を切り替え , function() { // 動作完了時に呼ばれる関数 // $( this ) 実行しているDOM要素をjQueryオブジェクトにしている // .css( 'display', '' ) 空の文字列を指定すると、直接その要素に与えられたか、.css()メソッドやその他のDOM制御メソッドで指定されたものであれば削除されます。 // .toggleClass( 'menuon' ) menuonという名前のクラスがあれば削除、無ければ追加 $( this ).css( 'display', '' ).toggleClass( 'menuon' ); } ); ``` 【.animate() | jQuery 1.9 日本語リファレンス | js STUDIO】 【.animate() | jQuery API Documentation】 【.css() | jQuery 1.9 日本語リファレンス | js STUDIO】 【.css() | jQuery API Documentation】 【.toggleClass() | jQuery 1.9 日本語リファレンス | js STUDIO】 【.toggleClass() | jQuery API Documentation】