-
ジャイアンツ VS タイガース
空席状況を確認 | Check availability
-
ヤクルト VS ドラゴンズ
空席状況を確認 | Check availability
-
ベイスターズ VS カープ
空席状況を確認 | Check availability
解説
Ajaxでのデータファイルの読み込みにおいて、ブラウザによってはローカル環境で動作しない場合があります。私もGoogle Chromeを使いましたがうまくいきませんでした。そんな時は作成したデータをwebサーバーにアップロードして確認してみてください。私もアップロードしたらうまくいきました。
「$.ajax({url: ‘data.json, dataType: ‘json’})」→ urlにはダウンロードしたいデータのURLを指定します。今回のサンプルでは「data.json」としています。dataTypeプロパティにはダウンロードするデータの形式を指定します。今回はjson形式なので’json’としてます。
「.done(function(data){~」 → このファンクションには、パラメータとしてダウンロードされたデータが渡されるので、これを「data」に代入しています。
「$(data).each(function(){ → eachメソッドは$()で取得したHTML要素や配列の項目1つひとつに対して()内のファンクションをくり返し実行します。
「 if(this.crowded === ‘yes’){ 」 → thisはJsonファイルでの配列の項目を示しています。crowdedプロパティの値がyesのとき{~}の処理が実行されます。
「 var idName = ‘#’ + this.id;」 → 変数idNameを定義して、そこに「#」とidプロパティの値を文字連結したものを代入します。たとえば最初の繰り返しなら、 {“id”:”gt”,”crowded”:”yes”},なので変数idNameには「#gt」という文字列が代入されます。
「 $(idName).find(‘.check’).addClass(‘crowded’);」 → findメソッドは$()で取得した要素に含まれる子孫要素のうち、()内のセレクタに当てはまる要素を取得します。(.check)の要素を取得して、クラス「crowded」を追加してます。ということで、 $(idName)は最初ならば「 <li class=”game” id=”gt”>」でのgtを取得します。そして.find(‘.check’)では「 <p class=”check”>空席状況を確認</p>」にて’.check’になっているので取得されています。.addClass(‘crowded’)では「 <p class=”check crowded”>空席状況を確認</p>」とクラスを追加することになります。
クリックされたときのボタンの色を変化させる処理
「<p class=”check”>空席状況を確認</p>」がクリックされたときの処理については、「$(‘.check’).on(‘click’,function(){~」が示してます。
「 if($(this).hasClass(‘crowded’)){~」 → この<p>のclassに「crowded」が含まれていたらということを示しています
「 $(this).text(‘残席わずか’).addClass(‘red’);」 → テキストを「残席わずか」と変更し、また.addClass(‘red’)としておりCSSでの「.red {background-color: red;
}」にて赤色に変更してます
この本から引用、参考にして学び、完成させることができました。しかし、ここではプログラミング初心者の私が詳しく解説することは、おこがましく、難しく出来ません(ToT)
その点、この本では丁寧な解説が載っていますので、解説とともにコードを書き、完成させればより深く学ぶことができます(^.^)、実際、初心者の私でもわかりやすかったです。身に付け消えないスキルが3,000円弱ならコスパよく、買っておいてよかったと満足してます。
わからないことはプロフェッショナルから学ぶのが一番
オンラインで受講ができるスクールですので、全国どこからでも。