書籍詳細(JavaScript逆引きレシピ jQuery対応)

JavaScript逆引きレシピ jQuery対応 書影

ISBN: 978-4-7981-3546-5

JavaScript逆引きレシピ jQuery対応

サポート終了
著者山田祥寛
出版社翔泳社
価格3,000円(税別)
判型A5判・2色
ページ数632ページ
発売日2014年8月28日
対象レベル初中級

改訂版が刊行されています。詳細はこちらをご覧ください。

基本構文からUI開発のテクニックまでギュッとまとめたレシピ集

JavaScriptの基本構文や関数、スコープといった基礎的な知識はもちろん、オブジェクト指向、基本オブジェクト、ページ操作、エフェクト&インタラクション、jQuery/jQuery UI/jQuery MobileによるUI開発、CoffeeScriptなどの定石や応用テクニックまで解説します。
書籍内で紹介しているサンプルコードは、サポートサイトからダウンロードできます。
JavaScriptやjQueryを利用するWebプログラマに、必携の逆引き集です。
JavaScript逆引きレシピ jQuery対応 ロゴ

更新履歴

更新情報はありません。

目次

  • 第1章 基本構文
  • 1.1 JavaScriptの基本
  • 001 HTMLページにJavaScriptのコードを組み込みたい
  • 002 JavaScriptの基本文法を理解したい
  • 003 JavaScriptのコードにコメントを書きたい
  • 004 コメントから手軽に仕様書を作成したい
  • 005 JavaScriptの危険な構文を取り除きたい
  • 006 JavaScriptのコードを圧縮したい
  • 007 変数を利用したい
  • 008 文字列を出力したい
  • 009 文字列の中で改行やタブを含ませたい
  • 010 数値型の値を表現したい
  • 011 真偽値を表わしたい
  • 012 配列を作成したい
  • 013 連想配列を作成したい
  • 1.2 型変換と型判定
  • 014 データ型を変換したい
  • 015 データ型をより簡易に変換したい
  • 016 変数のデータ型を判定したい
  • 1.3 演算子
  • 017 i++と++iの違いを知りたい
  • 018 「0.1 * 3」が0.30000000000000004になる理由を知りたい
  • 019 基本型と参照型の違いを知りたい(代入と比較)
  • 020 ==と===の違いを知りたい
  • 021 論理演算で式が無視される場合を知りたい
  • 1.4 制御構文
  • 022 条件によって処理を分岐したい
  • 023 変数の値によって処理を振り分けたい
  • 024 条件によって処理を繰り返し実行したい
  • 025 指定の回数だけ処理を繰り返したい
  • 026 オブジェクトのプロパティを順に列挙したい
  • 027 ループを途中で中断/スキップしたい
  • 第2章 関数とオブジェクト指向
  • 2.1 関数
  • 028 ユーザー定義関数を定義したい
  • 029 引数のデフォルト値を設定したい
  • 030 必須の引数をチェックしたい
  • 031 名前付き引数を受け取りたい
  • 032 可変長引数の関数を定義したい
  • 033 関数を引数として渡したい
  • 2.2 スコープ
  • 034 ローカル変数の範囲を知りたい
  • 035 「変数の巻き上げ」とはなにか知りたい
  • 036 すべての変数をローカルスコープに押し込めたい
  • 2.3 オブジェクト指向
  • 037 クラスを定義したい
  • 038 クラスにメソッドを追加したい
  • 039 クラスに静的メンバを追加したい
  • 040 クラスを継承したい
  • 041 外部からアクセスできないプロパティ/メソッドを定義したい
  • 042 オブジェクトの型を判定したい
  • 043 クラス名の衝突を回避したい
  • 044 階層を持った名前空間を定義したい
  • 第3章 基本オブジェクト
  • 3.1 数学
  • 045 小数点以下の数値を丸めたい
  • 046 任意の桁数で小数点数を丸めたい
  • 047 n進数を求めたい
  • 048 乱数を求めたい
  • 049 絶対値、べき乗、平方根などの数学演算を実行したい
  • 3.2 文字列
  • 050 文字列長を取得したい
  • 051 大文字/小文字を変換したい
  • 052 文字列から空白を除去したい
  • 053 文字列から部分文字列を取り出したい
  • 054 特定の文字列を検索したい
  • 3.3 正規表現
  • 055 正規表現を利用したい
  • 056 正規表現で文字列のマッチングをチェックしたい
  • 057 正規表現で文字列を検索したい
  • 058 正規表現で複数行にわたる文字列を検索したい
  • 059 正規表現での検索結果をより詳細に取得したい
  • 060 正規表現で文字列を置換したい
  • 061 正規表現で文字列を分割したい
  • 3.4 配列
  • 062 配列の要素を追加/削除したい
  • 063 配列に配列を連結したい
  • 064 ハッシュ/オブジェクト同士をマージしたい
  • 065 配列のサイズを取得したい
  • 066 配列の要素を結合したい
  • 067 配列の一部を抜き出したい
  • 068 配列の内容を置き換えたい
  • 069 配列の要素を並べ替えたい
  • 070 配列/オブジェクトの内容を順に処理したい
  • 071 配列の要素を順番に加工したい
  • 072 配列の内容を特定の条件で絞り込みたい
  • 073 配列の中身を検索したい
  • 3.5 日付
  • 074 日付/時刻情報を扱いたい
  • 075 日付/時刻情報を個別に設定したい
  • 076 日付/時刻要素を取得したい
  • 077 日付文字列からタイムスタンプ値を取得したい
  • 078 日付/時刻値を文字列に変換したい
  • 079 日付/時刻値を加算/減算したい
  • 080 日付/時刻値の差を求めたい
  • 3.6 ブラウザ操作
  • 081 一定時間の後で処理を実行したい
  • 082 一定時間おきに処理を実行したい
  • 083 ページを移動したい
  • 084 履歴に現在のページの状態を保存したい
  • 085 文字列をURIエスケープしたい
  • 086 オブジェクト⇔JSON文字列を相互変換したい
  • 第4章 ページ操作
  • 4.1 jQueryの基本
  • 087 jQueryを導入したい
  • 088 以前作成したアプリをjQueryの最新バージョンに対応させたい
  • 089 HTMLページから特定の要素を検索したい
  • 090 文書のロードが完了してからコードを実行したい
  • 4.2 スタイルの操作
  • 091 要素のスタイルを変更したい
  • 092 スタイルクラスを設定/除外したい
  • 093 スタイルクラスを簡単に着脱したい
  • 094 要素の高さ/幅を取得/設定したい
  • 4.3 属性/テキストの操作
  • 095 スクロール位置を取得/設定したい
  • 096 要素の属性を取得/設定したい
  • 097 フォーム要素の値を取得/設定したい
  • 098 要素配下のテキストを取得/設定したい
  • 099 要素のプロパティを取得/設定したい
  • 4.4 トラバーシングとフィルタリング
  • 100 親子/兄弟要素の間を行き来したい
  • 101 現在の要素を基点に、別の要素を検索したい
  • 102 要素セットの内容を特定の条件で絞り込みたい
  • 4.5 要素の操作
  • 103 新たに作成した要素を挿入したい
  • 104 既存の要素を移動したい
  • 105 既存の要素を別の要素で置き換えたい
  • 106 既存の要素を削除したい
  • 107 要素の中身を破棄したい
  • 4.6 イベント処理
  • 108 イベントの発生に応じて処理を実行したい
  • 109 jQuery標準のイベントを理解したい
  • 110 要素にマウスが出入りしたタイミングで処理を実行したい
  • 111 初回のクリック時に処理を実行したい
  • 112 jQuery標準以外のイベントを捕捉したい
  • 113 まだない要素にイベントリスナーを登録したい
  • 114 複数のイベントリスナーをまとめて設定したい
  • 115 イベントリスナーを破棄したい
  • 116 イベント発生時のマウス情報を取得したい
  • 117 イベント発生時のキー情報を取得したい
  • 118 イベントリスナーにパラメータを渡したい
  • 119 JavaScriptを「控えめ」にしたい
  • 120 イベント処理をキャンセルしたい
  • 第5章 エフェクト&インタラクション
  • 5.1 基本エフェクト
  • 121 アニメーション効果を実装したい
  • 122 アニメーションの終了時に処理を実行したい
  • 123 独自のアニメーション効果を実装したい
  • 124 スタイルクラスの適用/除外時にアニメーションを実行したい
  • 125 別のスタイルに徐々に切り替えたい
  • 126 表示/非表示時にさまざまなアニメーションを適用したい
  • 127 要素にさまざまなエフェクトを適用したい
  • 128 移動するようなアニメーションを表現したい
  • 129 アニメーションの変化の度合いを指定したい
  • 130 アニメーションを無効化したい
  • 5.2 インタラクション
  • 131 画像の表示サイズをドラッグ操作で変更したい
  • 132 テキスト領域をリサイズしたい
  • 133 ドラッグ&ドロップで要素を並べ替えたい
  • 134 並べ替え対象の要素を制限したい
  • 135 ソート可能リストでドロップ場所を目立たせたい
  • 136 ドラッグによる複数同時選択に対応したリストを作成したい
  • 137 要素をドラッグ&ドロップ可能にしたい
  • 138 ドロップ可能な要素を限定したい
  • 139 jQuery UIを利用せずにドラッグ&ドロップ機能を実装したい
  • 140 他のアプリからテキストをドラッグ&ドロップしたい
  • 141 ファイルをブラウザにドラッグしたい
  • 第6章 UI開発——パネル/メニュー/データ表現編
  • 6.1 jQuery UIの基本
  • 142 jQuery UIを利用したい
  • 143 jQuery UIのテーマをカスタマイズしたい
  • 144 jQueryUI標準のアイコンセットを利用したい
  • 145 ウィジェットの表示位置を細かく制御したい
  • 146 ウィジェットに適用するエフェクトをカスタマイズしたい
  • 6.2 リスト/パネル
  • 147 アコーディオンパネルを実装したい
  • 148 タブパネルを実装したい
  • 149 タブパネルでコンテンツを外部ファイル化したい
  • 150 ダイアログボックスを実装したい
  • 151 ダイアログの内容を外部ファイルから取得したい
  • 152 ツールチップを実装したい
  • 153 ツールチップの表示内容をカスタマイズしたい
  • 6.3 メニュー
  • 154 リッチなメニューを実装したい
  • 155 コンテキストメニューを作成したい
  • 6.4 データ表現
  • 156 画像/動画などをズーム表示したい
  • 157 ソート/ページング対応のグリッド表を作成したい
  • 158 折れ線グラフを描画したい
  • 159 棒グラフを描画したい
  • 160 円グラフを描画したい
  • 161 散布図を描画したい
  • 162 バブルチャートを描画したい
  • 163 二軸グラフを描画したい
  • 第7章 UI開発——入力補助/テンプレートエンジン/Canvas編
  • 7.1 入力補助
  • 164 オートコンプリート機能付きのテキストボックスを実装したい
  • 165 入力候補の検索ルールをカスタマイズしたい
  • 166 候補リストの追加情報をページに反映したい
  • 167 候補リストをデータベースから取得したい
  • 168 日付選択ボックスを実装したい
  • 169 日付選択ボックスの日付形式をカスタマイズしたい
  • 170 日付選択ボックスで入力可能な日付範囲を指定したい
  • 171 ボタンクリックでカレンダーをポップアップしたい
  • 172 数値入力ボックスを実装したい
  • 173 現在の地域設定に応じた数値を表示したい
  • 174 スライダーを実装したい
  • 175 範囲スライダーや縦置きスライダーを設置したい
  • 176 ボタン/リンク/ラジオボタン/チェックボックスをリッチな見栄えに整形したい
  • 177 定型的な入力値の検証機能を実装したい
  • 178 独自の検証ルールを実装したい
  • 179 ウィザード形式のフォームを実装したい
  • 180 ファイルアップローダーを実装したい
  • 7.2 テンプレートエンジン
  • 181 レイアウトとロジックとを分離したい
  • 182 テンプレートで条件分岐や繰り返し処理を実装したい
  • 183 テンプレート内のデータを加工したい
  • 184 カスタムのタグを生成したい
  • 7.3 Canvas
  • 185 プラグインレスで図形を描画したい
  • 186 キャンバスに矩形を描画したい
  • 187 キャンバスに直線を描画したい
  • 188 多角形を描画したい
  • 189 図形の描画スタイルを設定したい
  • 190 キャンバスの描画色にグラデーション効果を適用したい
  • 191 円や円弧を描画したい
  • 192 ベジェ曲線を描画したい
  • 193 キャンバスにテキストを描画したい
  • 194 キャンバスに画像を埋め込みたい
  • 195 特定の領域に沿って画像を切りぬきたい
  • 196 画像を縦/横方向に繰り返し貼り付けたい
  • 197 画像を拡大/回転/移動/変形したい
  • 198 キャンバスの内容をData URL形式で出力したい
  • 第8章 アプリ開発
  • 8.1 Ajax
  • 199 非同期通信で取得したコンテンツをページに反映したい
  • 200 非同期通信の結果をJavaScriptで処理したい
  • 201 JSON形式のWeb APIにアクセスしたい
  • 202 Ajax通信の細かなオプションを設定したい
  • 203 非同期通信の開始/完了/エラー時の共通処理を定義したい
  • 8.2 位置情報
  • 204 現在の位置情報を取得したい
  • 205 位置取得時にエラー処理や取得オプションを設定したい
  • 206 定期的に位置情報を取得したい
  • 8.3 Web Storage&クッキー
  • 207 クッキーを手軽に操作したい
  • 208 ブラウザに大きなデータを保存したい
  • 209 ストレージにオブジェクトを出し入れしたい
  • 210 ストレージの内容をすべて参照したい
  • 211 ストレージの内容を削除したい
  • 8.4 音声/動画の再生
  • 212 音声ファイルを再生したい
  • 213 動画ファイルを再生したい
  • 214 音声/動画ファイルを複数ブラウザに対応したい
  • 215 音声/動画ファイルをスクリプトから再生したい
  • 216 音声/動画の音量や再生スピードを調整したい
  • 8.5 ファイル操作
  • 217 ローカルファイルの情報を取得したい
  • 218 テキストファイルを読み込みたい
  • 219 バイナリファイルを読み込みたい
  • 8.6 その他
  • 220 アプリをオフラインで利用したい
  • 221 一部のファイルをキャッシュから除外したい
  • 222 バックグラウンドでJavaScriptのコードを実行したい(ワーカー編)
  • 223 バックグラウンドでJavaScriptのコードを実行したい(起動編)
  • 224 ウィンドウ/フレーム間でメッセージを交換したい
  • 第9章 スマホ開発
  • 9.1 jQuery Mobileの基本
  • 225 jQuery Mobileを利用したい
  • 226 jQuery Mobileで基本的なページを作成したい
  • 227 jQuery Mobileページのデザインを変更したい
  • 228 ThemeRollerでテーマを自作したい
  • 9.2 フォーム
  • 229 jQuery Mobileページで入力フォームを定義したい
  • 230 jQuery Mobileページでボタンを表示したい
  • 231 アイコン付きのボタンを作成したい
  • 232 さまざまなテキスト入力ボックスを設置したい
  • 233 テキストボックスに独自の機能を付与したい
  • 234 ラジオボタン/チェックボックスを作成したい
  • 235 オンオフのボタンを作成したい
  • 236 選択メニューを作成したい
  • 237 スライダーを作成したい
  • 238 特定のフォーム要素に対してウィジェットを解除したい
  • 9.3 ハイパーリンク
  • 239 jQuery Mobileページにリンクボタンを設置したい
  • 240 ページの遷移エフェクトを変更したい
  • 241 ページ遷移を高速化したい
  • 242 ローディングメッセージを表示したい
  • 9.4 ポップアップ/パネル
  • 243 ポップアップウィンドウを表示したい
  • 244 ダイアログボックスを表示したい
  • 245 Lightbox風の画像ポップアップを作成したい
  • 246 スライドパネルを表示したい
  • 247 開閉可能なパネルを作成したい
  • 248 アコーディオンパネルを作成したい
  • 9.5 リスト/テーブル
  • 249 ネイティブアプリ・ライクなリストを作成したい
  • 250 階層化リストを作成したい
  • 251 リスト項目に小見出し/カウントバブル/アイコン画像を付与したい
  • 252 リスト項目をグループ化したい
  • 253 レスポンシブなテーブルを作成したい(Reflow)
  • 254 レスポンシブなテーブルを作成したい(Column toggle)
  • 255 リストやテーブルの内容を動的に絞り込みたい
  • 256 表示テキスト以外でリスト/テーブルの内容を絞り込みたい
  • 257 Filterableウィジェットによる検索ルールをカスタマイズしたい
  • 9.6 ヘッダー/フッター
  • 258 ヘッダー/フッターにボタンを配置したい
  • 259 ヘッダー/フッターの表示を制御したい
  • 260 ナビゲーションバーを設置したい
  • 9.7 レイアウト
  • 261 グリッドレイアウトを作成したい
  • 262 レスポンシブなグリッドレイアウトを作成したい
  • 9.8 その他
  • 263 jQuery Mobileの動作パラメータを設定したい
  • 264 ページロード/移動のタイミングで処理を実行したい
  • 265 ユーザーの操作によって任意の処理を実行したい
  • 第10章 CoffeeScript
  • 10.1 CoffeeScriptの基本
  • 266 CoffeeScriptを利用したい
  • 267 CoffeeScriptの基本文法を理解したい
  • 268 CoffeeScriptで変数を宣言したい
  • 269 文字列に変数を埋め込みたい
  • 270 複数行の文字列をスマートに表現したい
  • 271 CoffeeScriptで配列/ハッシュを利用したい
  • 272 連続した数値配列をスマートに生成したい
  • 10.2 演算子/制御構文
  • 273 CoffeeScriptの演算子を理解したい
  • 274 変数の存在をチェックしたい
  • 275 関数、オブジェクトの存在をチェックしたい
  • 276 条件に応じて処理を分岐したい
  • 277 否定の条件式をわかりやすく表現したい
  • 278 式の値によって処理を分岐したい
  • 279 条件によって処理を繰り返したい
  • 280 配列の要素を順番に処理したい
  • 281 ハッシュの内容を順に処理したい
  • 282 指定された回数だけ処理を繰り返したい
  • 10.3 関数
  • 283 CoffeeScriptで関数を定義したい
  • 284 引数にデフォルト値を設定したい
  • 285 可変長引数の関数を定義したい
  • 10.4 オブジェクト指向
  • 286 CoffeeScriptでクラスを定義したい
  • 287 CoffeeScriptで静的なメンバを定義したい
  • 288 あるクラスを元に新たなクラスを定義したい
  • 289 CoffeeScriptでクラスライブラリを作成したい
  • 290 CoffeeScriptでthisコンテキストを保存したい

正誤表

現在、正誤情報はありません。

FAQ

現在、FAQはありません。

お問い合わせ

書籍に関するご質問や誤りのご報告、ご意見・ご感想などをお寄せください。

Powered by メールフォーム 『オレンジフォーム』