-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

瘋狂HTML 5+CSS 3+JavaScript講義(第2版)

( 簡體 字)
作者:李剛類別:1. -> 程式設計 -> 網路編程 -> HTML
   2. -> 程式設計 -> 網路編程 -> CSS
   3. -> 程式設計 -> 網路編程 -> Javascript
譯者:
出版社:電子工業出版社瘋狂HTML 5+CSS 3+JavaScript講義(第2版) 3dWoo書號: 46788
詢問書籍請說出此書號!

缺書
NT售價: 445

出版日:5/1/2017
頁數:668
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787121314056
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

W3C于2016年11月1日正式發布了HTML 5.1規范,再次引起廣大前端開發者對HTML 5的極大熱情。而Firefox、Opera、Chrome、Safari等主流瀏覽器的最新版本都能很好地支持該規范,這對廣大開發者來說也是很大的利好消息。
本書作為《瘋狂HTML 5/CSS 3/JavaScript講義》的第2版,針對目前最新的HTM L 5.1規范,對全書內容進行了大量的更新和升級。全書內容包括如下升級:
(1)重寫了HTML 5增強的<a.../>、<img.../>、<iframe.../>、<textarea.../>等重要元素。
(2)重寫了主流瀏覽器更新支持的<details.../>、<summary.../>、<ruby.../>、<rtc.../>、<rb.../>、<rt.../>和<rp.../>等元素。
(3)重寫了HTML 5.1重新定義的拖放規范。
(4)新增了HTML 5繪圖API關于點線模式支持的內容。
(5)新增了多媒體支持的<track.../>元素來添加外掛字幕的內容。
(6)詳細介紹了CSS 3新增的漸變背景支持。
(7)詳細介紹了CSS 3最新定義的彈性盒布局,這是CSS 3關于布局的最大改進。
(8)新增了關于手機瀏覽器響應式布局的內容。
(9)新增了CSS 3關于3D變換支持的內容。
(10)以ES 6標準為基礎,介紹了最新的JavaScript語法,包括JavaScript的箭頭函數、閉包語句、Promise的重要內容。
(11)深入補充了JavaScript偽繼承的常用實現方式。
(12)新增介紹了HTML 5最新添加的電池訪問API、通知API等內容。
(13)重寫了上一版中關于事件機制的相關內容。既針對最新DOM 3事件模型做了詳細介紹,也兼顧了傳統IE事件模型。并補充了目前熱門的手機瀏覽器中觸碰事件的處理機制。
(14)新增介紹了HTML 5新增的Indexed數據庫API。
(15)新增介紹了HTML 5規范新增的ArrayBuffer、TypedArray、Blob等二進制支持的相關內容。
(16)新增介紹了HTML 5中使用SharedWorker創建共享線程的內容。
(17)補充介紹了WebSocket發送二進制數據的相關知識。
(18)新增介紹了HTML 5新增的Server-Sent Events API、Beacon等單向網絡通信的內容。
本書有什么特點
本書是一本介紹HTML 5、CSS 3和JavaScript開發技術的實用圖書。全書可分為4個部分。
第1部分:全面介紹了HTML 5的全部標簽,并且詳細介紹了各標簽所支持的屬性,并為各HTML標簽、屬性都提供了配套的示例頁面,這些內容不僅可以作為學習HTML 5的教程,也可以作為日常開發的參考手冊。
第2部分:詳細介紹了CSS 3的絕大部分常用選擇器、屬性,并為這些選擇器、屬性提供了示例,方便廣大讀者參考本書全面、系統地掌握CSS 3的功能和用法。這部分內容也可以作為前端開發者的參考手冊。
第3部分:重點介紹了JavaScript編程的相關內容,包括JavaScript基礎語法、JavaScript函數、JavaScript對象、DOM編程、事件處理、本地存儲、Indexed數據庫、離線應用、多線程、跨文檔消息通信、網絡通信編程等知識,這些內容既覆蓋了初學者的編程基礎,也覆蓋了HTML 5所支持的新功能,非常適合作為前端開發者的學習教程。
第4部分:綜合運用了HTML 5的繪圖支持、客戶端存儲、CSS樣式、JavaScript編程等內容,開發了一個網頁版的“瘋狂俄羅斯方塊”。這個小游戲既可讓讀者鞏固前面所掌握的各種知識,也可讓讀者將所學理論運用到實際開發中。
需要說明的是,本書只是一本介紹HTML 5、CSS 3、JavaScript實際開發的圖書,而不是一本關于所謂“設計思想”的書,不要指望學習本書能提高你所謂的“設計思想”,所以奉勸那些希望提高思想的讀者不要閱讀本書。
本書所介紹的知識都很“淺顯”,只要讀者愿意坐下來、靜心閱讀本書,并把書中所有示例循序漸進地練習一遍,本書帶給你的只是9個字:“看得懂、學得會、做得出”。本書并沒有堆砌“深奧”的新名詞、堆砌“高深”的思想,本書依然保持了“瘋狂Java體系”的一貫風格:思路清晰,語言平實,操作步驟詳細。
不管怎樣,只要讀者在閱讀本書時遇到知識上的問題,都可以登錄瘋狂Java聯盟(http://www.crazyit.org)與廣大Java學習者交流,筆者也會通過該平臺與大家一起交流、學習。
本書具有如下幾個特點。
1.知識全面,覆蓋面廣
本書全面介紹了HTML 5、CSS 3、JavaScript的各種相關知識,包括HTML 5增強的表單標簽、繪圖支持、多媒體支持、CSS選擇器、CSS盒模型屬性、CSS變形和動畫相關屬性、離線應用、客戶端存儲、JavaScript多線程、跨文檔消息傳遞、WebSocket等內容。本書基本全面覆蓋了W3C官網上已發布的HTML 5.1新規范。
2.內容實際,實用性強
本書并不局限于枯燥的理論介紹,而是采用了“項目驅動”的方式來講授知識點。無論是講解HTML 5標簽還是CSS 3選擇器、屬性的功能,幾乎每個知識點都可找到對應的參考示例。本書最后還提供了“瘋狂俄羅斯方塊”案例,實用性很強。
3.講解詳細,上手容易
本書保持了“瘋狂Java體系”的一貫風格:思路清晰,語言平實,操作步驟詳細。只要認真閱讀本書,把書中所有示例循序漸進地練習一遍,并把本書最后一個案例獨立完成,讀者就可達到企業前端開發的要求。
本書寫給誰看
本書是一本“從零學習”的HTML 5、CSS 3、JavaScript專業圖書,閱讀本書并不需要額外的基礎。對于剛剛從事前端開發的新人,本書具有很好的學習價值;對于有一定工作經驗的前端工程師,本書具有很高的參考價值。本書也可作為高校、培訓機構的教材使用。由于本書是一本專業級的前端開發技術圖書,對于那些只想簡單了解HTML、CSS的業余人士,不推薦選擇本書。

2017-3-10
內容簡介:

W3C于2016年11月1日正式發布了HTML 5.1規范,該規范已經得到廣大瀏覽器廠商的支持,主流的最新版本的瀏覽器幾乎都支持該規范。與此同時,前端開發的持續火爆,使得HTML 5成為目前的熱門領域。本書是一本全面介紹HTML 5、CSS 3和JavaScript前端開發技術的圖書,系統地介紹了HTML 5常用的元素和屬性、HTML 5的表單元素和屬性、HTML 5的繪圖支持、HTML 5的多媒體支持、CSS 3的功能和用法、最前沿的變形與動畫功能等。除此之外,本書還系統地介紹了JavaScript編程知識,包括JavaScript基本語法、DOM編程,以及HTML 5新增的本地存儲、Indexed數據庫、離線應用、JavaScript多線程、客戶端通信支持、WebSocket編程等。本書的定位是一本前端開發的“實戰性”圖書,因此在介紹各知識點時并不是簡單地停留在知識點層面闡述,而是結合了大量實例來讓讀者對照練習、學以致用。本書最后還提供了一個基于HTML 5技術的小游戲:瘋狂俄羅斯方塊。該游戲綜合運用了HTML 5的繪圖支持、客戶端存儲等技術,具有較高的參考價值。本書提供了配套的答疑網站,如果讀者在閱讀本書時遇到了技術問題,可以登錄瘋狂Java聯盟發帖,筆者將會及時予以解答。

目錄:

?
第1章 HTML 5簡介 1
1.1 HTML歷史與HTML 5 2
1.1.1 HTML發展歷史 2
1.1.2 HTML 4.01和XHTML 3
1.1.3 HTML和XHTML的文檔類型定義(DTD) 4
1.1.4 從XHTML到HTML 5 5
1.2 HTML 5的優勢 6
1.2.1 解決跨瀏覽器問題 6
1.2.2 部分代替了原來的JavaScript 6
1.2.3 更明確的語義支持 7
1.2.4 增強了Web應用程序的功能 8
1.3 HTML 5的基本結構和語法變化 8
1.3.1 HTML 5的基本結構 8
1.3.2 標簽不再區分大小寫 9
1.3.3 元素可以省略結束標簽 10
1.3.4 支持boolean值的屬性 11
1.3.5 允許屬性值不使用引號 12
1.4 本章小結 12
第2章 HTML 5的常用元素與屬性 14
2.1 HTML 5保留的常用元素 15
2.1.1 基本元素 15
2.1.2 文本格式相關元素 17
2.1.3 語義相關元素 19
2.1.4 使用a元素添加超鏈接和錨點 21
2.1.5 列表相關元素 24
2.1.6 使用img元素添加圖片 27
2.1.7 表格相關元素 30
2.2 HTML 5增強的iframe元素 34
2.2.1 HTML 5新增的srcdoc屬性 35
2.2.2 HTML 5新增的seamless屬性 36
2.2.3 HTML 5新增的sandbox屬性 36
2.3 HTML 5保留的通用屬性 40
2.3.1 id、style、class屬性 40
2.3.2 dir屬性 41
2.3.3 title屬性 42
2.3.4 lang屬性 43
2.3.5 accesskey屬性 43
2.3.6 tabindex屬性 43
2.4 HTML 5新增的通用屬性 44
2.4.1 contentEditable屬性 44
2.4.2 designMode屬性 46
2.4.3 hidden屬性 46
2.4.4 spellcheck屬性 47
2.4.5 contextmenu屬性 47
2.5 HTML 5新增的結構元素 48
2.5.1 article與section元素 48
2.5.2 header與footer元素 51
2.5.3 nav與aside元素 52
2.5.4 main元素 53
2.5.5 figure與figcaption元素 54
2.6 HTML 5新增的語義元素 55
2.6.1 mark元素 55
2.6.2 time元素 56
2.6.3 details與summary元素 56
2.6.4 ruby、rtc、rb、rt和rp元素 57
2.6.5 bdi元素 58
2.6.6 wbr元素 58
2.6.7 menu和menuitem元素 59
2.7 HTML 5頭部和元信息 59
2.7.1 link元素 60
2.7.2 base元素 62
2.7.3 meta元素 62
2.8 HTML 5新增的拖放API 63
2.8.1 啟動拖動 63
2.8.2 接受“放” 65
2.8.3 DataTransfer對象 67
2.8.4 拖放行為 69
2.8.5 改變拖放圖標 70
2.9 本章小結 71
第3章 HTML 5表單相關的元素和屬性 72
3.1 HTML原有的表單及表單控件 73
3.1.1 form元素 73
3.1.2 input元素 74
3.1.3 使用label定義標簽 77
3.1.4 使用button定義按鈕 78
3.1.5 select與option元素 79
3.1.6 HTML 5增強的textarea 80
3.1.7 fieldset與legend元素 82
3.2 HTML 5新增的表單屬性 83
3.2.1 form屬性 83
3.2.2 formaction屬性 83
3.2.3 formxxx屬性 84
3.2.4 autofocus屬性 85
3.2.5 placeholder屬性 85
3.2.6 list屬性 86
3.2.7 autocomplete屬性 87
3.2.8 label的control屬性 88
3.2.9 表單元素的labels屬性 88
3.2.10 文本框的selectionDirection屬性 89
3.2.11 復選框的indeterminate屬性 89
3.3 HTML 5新增的表單元素 90
3.3.1 功能豐富的input元素 90
3.3.2 output元素 93
3.3.3 meter元素 94
3.3.4 progress元素 95
3.3.5 keygen元素 95
3.4 HTML 5新增的客戶端校驗 96
3.4.1 使用校驗屬性執行校驗 96
3.4.2 調用checkValidity方法進行校驗 97
3.4.3 自定義錯誤提示 98
3.4.4 關閉校驗 99
3.5 本章小結 100
第4章 HTML 5的繪圖支持 101
4.1 使用canvas元素 102
4.2 繪圖 103
4.2.1 canvas繪圖基礎:CanvasRenderingContext2D 103
4.2.2 繪制幾何圖形 105
4.2.3 點線模式 107
4.2.4 繪制字符串 109
4.2.5 設置陰影 110
4.2.6 使用路徑 111
4.2.7 繪制曲線 115
4.2.8 繪制位圖 117
4.3 坐標變換 118
4.3.1 使用坐標變換 118
4.3.2 坐標變換與路徑結合使用 119
4.3.3 使用矩陣變換 121
4.4 控制疊加風格 123
4.5 控制填充風格 124
4.5.1 線性漸變 124
4.5.2 徑向漸變 126
4.5.3 位圖填充 127
4.6 位圖處理 128
4.6.1 位圖裁剪 128
4.6.2 像素處理 129
4.7 輸出位圖 132
4.8 動畫制作 133
4.8.1 基于定時器的動畫 133
4.8.2 基于requestAnimationFrame的動畫 135
4.9 本章小結 136
第5章 HTML 5的多媒體支持 137
5.1 使用audio和video元素 138
5.2 使用JavaScript腳本控制媒體播放 141
5.2.1 HTMLAudioElement與HTMLVideoElement支持的方法 141
5.2.2 HTMLAudioElement與HTMLVideoElement的屬性 143
5.3 事件監聽 144
5.3.1 事件 144
5.3.2 監聽器 145
5.4 track元素 146
5.4.1 使用track元素添加字幕 146
5.4.2 WebVTT文件簡介 147
5.4.3 字幕內容的標記 148
5.5 本章小結 149
第6章 級聯樣式單與CSS選擇器 150
6.1 樣式單概述 151
6.1.1 CSS概述 151
6.1.2 CSS的發展歷史 152
6.2 CSS樣式單的基本使用 152
6.2.1 引入外部樣式文件 152
6.2.2 導入外部樣式單 154
6.2.3 使用內部CSS樣式 155
6.2.4 使用行內樣式 156
6.3 CSS選擇器 158
6.3.1 元素選擇器 158
6.3.2 屬性選擇器 159
6.3.3 ID選擇器 161
6.3.4 class選擇器 162
6.3.5 包含選擇器 163
6.3.6 子選擇器 164
6.3.7 CSS 3新增的兄弟選擇器 165
6.3.8 選擇器組合 166
6.4 偽元素選擇器 167
6.4.1 內容相關的屬性 169
6.4.2 插入圖像 170
6.4.3 只插入部分元素 171
6.4.4 配合quotes屬性執行插入 171
6.4.5 配合counter-increment屬性添加編號 172
6.4.6 使用自定義編號 173
6.4.7 添加多級編號 174
6.5 CSS 3新增的偽類選擇器 176
6.5.1 結構性偽類選擇器 176
6.5.2 UI元素狀態偽類選擇器 186
6.5.3 :target偽類選擇器 193
6.5.4 :not偽類選擇器 194
6.6 在腳本中修改顯示樣式 195
6.6.1 隨機改變頁面的背景色 195
6.6.2 動態增加立體效果 196
6.7 本章小結 197
第7章 字體與文本相關屬性 198
7.1 字體相關屬性 199
7.1.1 使用text-shadow添加陰影 201
7.1.2 添加多個陰影 202
7.1.3 使用font-size-adjust屬性微調字體大小 203
7.2 CSS 3支持的顏色表示方法 205
7.3 文本相關屬性 206
7.3.1 使用white-space控制空白的處理行為 208
7.3.2 文本自動換行:word-break 209
7.3.3 用word-warp控制長單詞或URL地址換行 210
7.4 CSS 3新增的服務器字體 212
7.4.1 使用服務器字體 212
7.4.2 定義粗體、斜體字 213
7.4.3 優先使用客戶端字體 214
7.5 本章小結 215
第8章 背景、邊框和邊距相關屬性 216
8.1 盒模型簡介 217
8.2 背景相關屬性 217
8.2.1 背景圖片固定 219
8.2.2 CSS 3新增的background-clip屬性 220
8.2.3 CSS 3新增的background-origin屬性 221
8.2.4 CSS 3新增的background-size屬性 222
8.2.5 CSS 3為background-repeat新增的space和round 224
8.2.6 CSS 3新增的多背景圖片 225
8.3 使用漸變背景 226
8.3.1 使用linear-gradient設置線性漸變 226
8.3.2 使用repeating-linear-gradient設置循環線性漸變 230
8.3.3 使用radial-gradient設置徑向漸變 231
8.3.4 使用repeating-radial-gradient設置循環徑向漸變 238
8.4 邊框相關屬性 239
8.4.1 CSS 3提供的漸變邊框 241
8.4.2 CSS 3提供的圓角邊框 242
8.4.3 CSS 3提供的圖片邊框 244
8.5 使用opacity控制透明度 246
8.6 padding和margin相關屬性 247
8.6.1 內填充相關屬性 247
8.6.2 外邊距相關屬性 248
8.7 本章小結 249
第9章 大小、定位、輪廓相關屬性 250
9.1 width、height相關屬性 251
9.1.1 CSS 3新增的box-sizing屬性 252
9.1.2 CSS 3新增的resize屬性 253
9.1.3 CSS 3新增的calc函數 254
9.2 定位相關屬性 255
9.3 輪廓相關屬性 257
9.4 用戶界面和濾鏡屬性 258
9.4.1 appearance屬性 259
9.4.2 使用filter屬性應用濾鏡 260
9.5 本章小結 263
第10章 盒模型與布局相關屬性 264
10.1 盒模型和display屬性 265
10.1.1 兩種最基本的盒類型 265
10.1.2 none值和visibility屬性 267
10.1.3 inline-block類型的盒模型 267
10.1.4 inline-table類型的盒模型 270
10.1.5 使用table類型的盒模型實現表格 271
10.1.6 list-item類型的盒模型 272
10.1.7 run-in類型的盒模型 273
10.2 對盒添加陰影 275
10.2.1 使用box-shadow屬性 275
10.2.2 對表格及單元格添加陰影 277
10.3 布局相關屬性 278
10.3.1 通過float屬性實現多欄布局 279
10.3.2 使用clear屬性實現換行 280
10.3.3 使用overflow設置滾動條 282
10.3.4 使用overflow-style控制滾動方式 283
10.3.5 使用clip屬性控制裁剪 284
10.4 CSS 3新增的多欄布局 285
10.4.1 使用column-width指定欄寬度 286
10.4.2 使用column-gap和column-rule控制分欄間隔 287
10.4.3 使用column-span設置跨欄 288
10.5 使用彈性盒布局 289
10.5.1 使用flex類型的盒模型 290
10.5.2 通過flex-direction指定盒內元素的排列方向 291
10.5.3 使用flex-wrap控制換行 293
10.5.4 使用order控制元素顯示順序 294
10.5.5 使用flex屬性控制子元素的縮放 295
10.5.6 使用align-items和align-self控制對齊方式 301
10.5.7 使用justify-content控制元素分布 302
10.5.8 使用align-content控制行的分布方式 304
10.6 本章小結 306
第11章 表格、列表相關屬性及media query 307
11.1 表格相關屬性 308
11.1.1 使用border-collapse、border-spacing控制單元格邊框 308
11.1.2 使用caption-side控制表格標題的位置 310
11.1.3 使用table-layout控制表格布局 311
11.2 列表相關屬性 313
11.2.1 使用list-style屬性控制列表項 313
11.2.2 使用list-style屬性控制普通元素 315
11.3 控制光標的屬性 316
11.4 media query和響應式布局 317
11.4.1 media query語法 318
11.4.2 針對瀏覽器寬度響應式布局 319
11.4.3 響應手機瀏覽器 321
11.5 本章小結 323
第12章 變形與動畫相關屬性 324
12.1 CSS 3提供的變形支持 325
12.1.1 4種基本變形 326
12.1.2 同時應用多種變形 330
12.1.3 指定變換中心點 331
12.1.4 使用矩陣變換 333
12.2 CSS 3新增的3D變換 337
12.2.1 perspective屬性 337
12.2.2 transform-style屬性 339
12.2.3 backface-visibility屬性 340
12.3 CSS 3提供的Transition動畫 341
12.3.1 多個屬性同時漸變 342
12.3.2 指定動畫速度 344
12.4 CSS 3提供的Animation動畫 345
12.4.1 同時改變多個屬性的動畫 347
12.4.2 魚眼效果 348
12.5 本章小結 349
第13章 JavaScript語法詳解 350
13.1 JavaScript簡介 351
13.1.1 運行JavaScript 352
13.1.2 導入JavaScript文件 352
13.1.3 使用script元素的defer推遲腳本執行 353
13.1.4 使用script元素的async異步執行腳本 354
13.1.5 noscript元素 355
13.2 數據類型和變量 356
13.2.1 定義變量的方式 356
13.2.2 類型轉換 357
13.2.3 變量作用域 358
13.2.4 變量提升 361
13.2.5 新增的let變量 362
13.2.6 使用const定義常量 363
13.3 基本數據類型 364
13.3.1 數值類型 364
13.3.2 字符串類型 369
13.3.3 布爾類型 372
13.3.4 undefined和null 373
13.3.5 正則表達式 374
13.4 復合類型 376
13.4.1 對象 376
13.4.2 數組 376
13.4.3 函數 379
13.5 運算符 381
13.5.1 賦值運算符 381
13.5.2 算術運算符 382
13.5.3 位運算符 383
13.5.4 加強的賦值運算符 385
13.5.5 比較運算符 385
13.5.6 邏輯運算符 386
13.5.7 三目運算符 388
13.5.8 逗號運算符 389
13.5.9 void運算符 389
13.5.10 typeof和instanceof運算符 390
13.6 語句 391
13.6.1 語句塊 391
13.6.2 空語句 391
13.6.3 異常拋出語句 392
13.6.4 異常捕捉語句 393
13.6.5 with語句 394
13.7 流程控制 395
13.7.1 分支 395
13.7.2 while循環 397
13.7.3 do while循環 398
13.7.4 for循環 398
13.7.5 for in循環 399
13.7.6 break和continue 400
13.8 函數 403
13.8.1 定義函數的3種方式 403
13.8.2 遞歸函數 406
13.8.3 局部變量和局部函數 407
13.8.4 函數、方法、對象、變量和類 409
13.8.5 函數的實例屬性和類屬性 413
13.8.6 調用函數的3種方式 415
13.8.7 函數的獨立性 416
13.8.8 函數提升 418
13.8.9 箭頭函數 421
13.9 函數的參數處理 425
13.9.1 基本類型和復合類型的參數傳遞 425
13.9.2 空參數 426
13.9.3 參數類型 427
13.10 面向對象 429
13.10.1 面向對象的概念 429
13.10.2 對象和關聯數組 430
13.10.3 繼承和prototype 431
13.10.4 構造器實現偽繼承 436
13.10.5 使用apply或call實現偽繼承 437
13.11 創建對象 437
13.11.1 使用new關鍵字調用構造器創建對象 438
13.11.2 使用Object直接創建對象 438
13.11.3 使用JSON語法創建對象 440
13.12 本章小結 443
第14章 DOM編程詳解 444
14.1 DOM模型概述 445
14.2 DOM模型和HTML文檔 446
14.2.1 HTML元素之間的繼承關系 446
14.2.2 HTML元素之間常見的包含關系 447
14.3 訪問HTML元素 448
14.3.1 根據ID訪問HTML元素 448
14.3.2 根據CSS選擇器訪問HTML元素 449
14.3.3 利用節點關系訪問HTML元素 451
14.3.4 訪問表單控件 453
14.3.5 訪問列表框、下拉菜單的選項 454
14.3.6 訪問表格子元素 455
14.4 修改HTML元素 456
14.5 增加HTML元素 458
14.5.1 創建或復制節點 458
14.5.2 添加節點 460
14.5.3 為列表框、下拉菜單添加選項 460
14.5.4 動態添加表格內容 462
14.6 刪除HTML元素 463
14.6.1 刪除節點 463
14.6.2 刪除列表框、下拉菜單的選項 464
14.6.3 刪除表格的行或單元格 465
14.7 傳統的DHTML模型 467
14.8 使用window對象 469
14.8.1 訪問頁面URL 471
14.8.2 客戶機屏幕信息 472
14.8.3 彈出新窗口 473
14.8.4 確認對話框和輸入對話框 473
14.8.5 使用定時器 474
14.8.6 桌面通知 476
14.9 navigator和地理定位 479
14.9.1 HTML 5新增的geolocation屬性 480
14.9.2 獲取地理位置 481
14.9.3 在高德地圖上定位 483
14.9.4 獲取電池信息 484
14.10 HTML 5增強的History API 485
14.11 使用document對象 490
14.11.1 動態頁面 491
14.11.2 讀寫Cookie 492
14.12 HTML 5新增的瀏覽器分析 493
14.12.1 分析時間性能 493
14.12.2 分析導航行為 495
14.13 本章小結 496
第15章 事件處理機制 497
15.1 事件模型的基本概念 498
15.2 綁定事件處理函數 499
15.2.1 綁定HTML元素屬性 499
15.2.2 綁定JavaScript對象屬性 501
15.2.3 addEventListener與attachEvent 502
15.3 事件處理函數的執行環境 505
15.3.1 事件處理函數中this關鍵字 505
15.3.2 訪問事件對象 507
15.3.3 使用返回值取消默認行為 510
15.3.4 調用順序 510
15.3.5 在代碼中觸發事件 511
15.3.6 事件傳播 512
15.3.7 取消事件的默認行為 517
15.3.8 轉發事件 519
15.4 事件類型 521
15.4.1 事件類型概述 521
15.4.2 文檔事件 523
15.4.3 鼠標滾輪事件 525
15.4.4 鍵盤事件 528
15.4.5 觸屏事件和移動設備事件 529
15.5 本章小結 534
第16章 本地存儲與離線應用 535
16.1 Web Storage 536
16.1.1 Storage接口 536
16.1.2 使用Storage存儲、讀取數據 538
16.1.3 基于Web Storage的記事本 539
16.1.4 存儲結構化數據 541
16.1.5 監聽存儲事件 543
16.2 Indexed數據庫API 545
16.2.1 使用IDBFactory打開數據庫 545
16.2.2 使用IDBDatabase創建對象存儲和索引 547
16.2.3 使用IDBTransaction(事務) 550
16.2.4 使用IDBObjectStore執行CRUD操作 551
16.2.5 使用IDBObjectStore根據主鍵檢索數據 557
16.2.6 使用IDBIndex根據索引檢索數據 559
16.2.7 使用復合索引 562
16.3 離線應用 564
16.3.1 離線應用與瀏覽器緩存的區別 564
16.3.2 構建離線應用 564
16.3.3 判斷在線狀態 566
16.3.4 applicationCache對象 567
16.3.5 離線應用的事件與監聽 569
16.4 本章小結 571
第17章 文件支持與二進制數據 572
17.1 HTML 5增強的文件上傳域 573
17.1.1 FileList對象與File對象 573
17.1.2 使用FileReader讀取文件內容 574
17.2 ArrayBuffer與TypedArray 578
17.2.1 TypedArray類 579
17.2.2 DataView類 581
17.3 Blob類 583
17.3.1 使用Blob對象 583
17.3.2 存儲Blob對象 585
17.4 本章小結 587
第18章 Web Worker多線程API 588
18.1 使用Worker創建多線程 589
18.2 與Worker線程進行數據交換 591
18.2.1 與Worker線程交換數據 591
18.2.2 Worker線程中可用的API 593
18.3 Worker線程嵌套 594
18.3.1 嵌套Worker線程 594
18.3.2 子線程之間的數據交換 596
18.4 使用SharedWorker創建共享線程 597
18.4.1 SharedWorker的用法 598
18.4.2 共享線程實例 601
18.5 Promise 603
18.5.1 Promise基本用法 603
18.5.2 鏈式調用then方法 605
18.5.3 Promise鏈 606
18.5.4 catch的用法 607
18.5.5 all和race的用法 609
18.6 本章小結 611
第19章 客戶端通信 612
19.1 跨文檔消息傳遞 613
19.1.1 postMessage與onmessage 613
19.1.2 跨文檔消息傳遞示例 614
19.1.3 發送復雜消息 616
19.1.4 使用MessageChannel通信 618
19.2 使用WebSocket與服務器通信 621
19.2.1 WebSocket接口 622
19.2.2 使用WebSocket進行通信 623
19.2.3 基于WebSocket的多人實時聊天 625
19.2.4 發送二進制數據 627
19.3 使用Server-Sent Events API 630
19.3.1 使用EventSource獲取數據 630
19.3.2 EventSource的生命周期 633
19.4 使用Beacon 635
19.5 本章小結 636
第20章 HTML 5的瘋狂俄羅斯方塊 637
20.1 俄羅斯方塊簡介 638
20.2 開發游戲界面 639
20.2.1 開發界面布局 639
20.2.2 開發游戲界面組件 640
20.3 俄羅斯方塊的數據模型 640
20.3.1 定義數據模型 641
20.3.2 初始化游戲狀態數據 641
20.4 實現游戲邏輯 644
20.4.1 處理方塊掉落 644
20.4.2 處理方塊左移 648
20.4.3 處理方塊右移 650
20.4.4 處理方塊旋轉 651
20.4.5 初始化游戲狀態 653
20.5 本章小結 654
序: