その6

実際動いているサイトはこちら

plaza.jsの解説

 plaza.jsはかなり長いため、全文掲載はせず、部分ごとに分けて掲載します。
 今回は、変数の宣言部について解説します。

変数の宣言部。
// 処理連発防止タイマID
var localTimerId;

// 入力値保持用
var Keywords;
var Sort;

var Amazon;
var Rakuten;
var Bidders;
var Storemix;

var SearchIndex;
var Genre;
var Categ;

// フォームエレメント保持用
var KeywordsText;

var SortBestsellingCheck;
var SortNewestCheck;
var SortLowPriceCheck;
var SortHighPriceCheck;

var AmazonCheck;
var RakutenCheck;
var BiddersCheck;
var StoremixCheck;

var SearchIndexCombo;
var GenreCombo;
var CategCombo;

// ショップ名保持用
var ShopName;

// インタラクティヴ表示用divエレメント保持用
var InfoDiv;
var ResultsDiv;
var BookmarksDiv;
var ErrorDiv;

 これらは、グローバル変数として使用します。
 「localTimerId」は、ajax.jsのタイムアウト用タイマとは別に、ユーザのキー入力時における、不用意な処理連発を防止するためのタイマです。後ほど登場します。
 ここから9つの変数は、フォームの入力値を保持します。
 「Keywords」は、入力された検索ワードが入る変数です。
 「Sort」は、ラジオボタンにより指定された並び順が入る変数です。並び順が変更されたか否かを判定するために使います。
 「Amazon」は、Amazonが検索対象に入っているか否かが入る変数です。Amazonを対象にするか否かのチェックを、変更されたかどうか判定するために使います。
 「Rakuten」は、楽天が検索対象に入っているか否かが入る変数です。楽天を対象にするか否かのチェックを、変更されたかどうか判定するために使います。
 「Bidders」は、ビッダーズが検索対象に入っているか否かが入る変数です。ビッダーズを対象にするか否かのチェックを、変更されたかどうか判定するために使います。
 「Storemix」は、ストアミックスが検索対象に入っているか否かが入る変数です。ストアミックスを対象にするか否かのチェックを、変更されたかどうか判定するために使います。
 「SearchIndex」は、Amazon専用のカテゴリ指定が入る変数です。カテゴリ指定が変更されたかどうかを判定するために使います。
 「Genre」は、楽天専用のカテゴリ指定が入る変数です。カテゴリ指定が変更されたかどうかを判定するために使います。
 「Categ」は、ビッダーズ専用のカテゴリ指定が入る変数です。カテゴリ指定が変更されたかどうかを判定するために使います。
 ここから12個の変数は、フォームの項目エレメントを保持します。
 「KeywordsText」は、検索ワードのテキストボックスへの参照が入ります。
 「SortBestsellingCheck」は、並び順:指定なしのチェックボックスへの参照が入ります。
 「SortNewestCheck」は、並び順:新着順のチェックボックスへの参照が入ります。
 「SortLowPriceCheck」は、並び順:安い順のチェックボックスへの参照が入ります。
 「SortHighPriceCheck」は、並び順:高い順のチェックボックスへの参照が入ります。
 「AmazonCheck」は、アマゾンのチェックボックスへの参照が入ります。
 「RakutenCheck」は、楽天チェックボックスへの参照が入ります。
 「BiddersCheck」は、ビッダーズチェックボックスへの参照が入ります。
 「StoremixCheck」は、ストアミックスのチェックボックスへの参照が入ります。
 「SearchIndexCombo」は、アマゾン・カテゴリのコンボボックスへの参照が入ります。
 「GenreCombo」は、楽天・カテゴリのコンボボックスへの参照が入ります。
 「CategCombo」は、ビッダーズ・カテゴリのコンボボックスへの参照が入ります。
 ここから5つの変数は、連想配列として使用し、コーディングの複雑さを回避します。
 「ShopName」は、"amazon" => "アマゾン"、"rakuten" => "楽天"、"bidders" => "ビッダーズ"、"storemix" => "ストアミックス"が入ります。
 「InfoDiv」は、id値が「amazoninfo」、「rakuteninfo」、「biddersinfo」、「storemixinfo」となっているdivエレメントへの参照が入ります。キー値はShopNameと共通になります。
 「ResultsDiv」は、id値が「amazonresults」、「rakutenresults」、「biddersresults」、「storemixresults」となっているdivエレメントへの参照が入ります。キー値はShopNameと共通になります。
 「BookmarksDiv」は、id値が「amazonbookmarks」、「rakutenbookmarks」、「biddersbookmarks」、「storemixbookmarks」となっているdivエレメントへの参照が入ります。キー値はShopNameと共通になります。
 「ErrorDiv」は、id値が「amazonerror」、「rakutenerror」、「bidderserror」、「storemixerror」となっているdivエレメントへの参照が入ります。キー値はShopNameと共通になります。

 次回は、初期処理を行うファンクションについて解説します。