疯狂HTML 5+CSS 3+JavaScript讲义(第2版)李刚 ISBN:9787121314056

李刚 2023年10月6日10:04:17
评论
348

疯狂HTML 5+CSS 3+JavaScript讲义(第2版)

书籍作者:李刚

ISBN:9787121314056

书籍语言:简体中文

连载状态:全集

电子书格式:pdf,txt,epub,mobi,azw3

下载次数:4254

运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板

内容简介

W3C于2016年11月1日正式发布了HTML5.1规范,该规范已经得到广大浏览器厂商的支持,主流的*新版本的浏览器几乎都支持该规范。与此同时,前端开发的持续火爆,使得HTML5成为目前的热门领域。本书是一本全面介绍HTML5、CSS 3和JavaScript前端开发技术的图书,系统地介绍了HTML 5常用的元素和属性、HTML5的表单元素和属性、HTML5的绘图支持、HTML5的多媒体支持、CSS 3的功能和用法、*前沿的变形与动画功能等。除此之外,本书还系统地介绍了JavaScript编程知识,包括JavaScript基本语法、DOM编程,以及HTML5新增的本地存储、Indexed数据库、离线应用、JavaScript多线程、客户端通信支持、WebSocket编程等。本书的定位是一本前端开发的“实战性”图书,因此在介绍各知识点时并不是简单地停留在知识点层面阐述,而是结合了大量实例来让读者对照练习、学以致用。本书*后还提供了一个基于HTML 5技术的小游戏:疯狂俄罗斯方块。该游戏综合运用了HTML 5的绘图支持、客户端存储等技术,具有较高的参考价值。本书提供了配套的答疑网站,如果读者在阅读本书时遇到了技术问题,可以登录疯狂Java联盟(http://www.crazyit.org)发帖,笔者将会及时予以解答。

作者简介

十多年的软件开发从业经验,疯狂软件教育中心教学总监。疯狂Java实训营创始人,疯狂Java体系原创图书作者。广东技术师范学院计算机科学系的兼职副教授,51CTO专家门诊特邀嘉宾。培训的学生已在华为、IBM、阿里软件、网易、电信盈科等名企就职。国内著名高端IT技术作家,已出版《疯狂Java讲义》《疯狂Android讲义》《轻量级Java EE企业应用实战》《疯狂iOS讲义(基础篇)(高级篇)》《疯狂 Swift讲义》《疯狂Ajax讲义》《疯狂XML讲义》《经典Java EE企业应用实战》《Struts 2.x**指南》《疯狂HTML 5/CSS 3/JavaScript讲义》等著作。其 中疯狂Java体系图书均已沉淀多年、赢得极高的市场认同、多次重印成为超级畅销图书,并被多所“985”“211”高校选作教材,不少图书已被翻译成繁体中文版、 授权到台湾地区。

编辑推荐

适读人群 :本书对HTML 5、CSS 3、JavaScript的介绍是“从零开始”的,因此阅读本书并不需要额外的基础。对于刚刚从事前端开发的新人,本书具有很好的学习价值;对于有一定工作经验的前端工程师,本书具有很高的参考价值。本书也可作为高校、培训机构的培训教材。

《疯狂 HTML5+CSS 3+JavaScript讲义(第2版)》由知名IT作家李刚老师创作

全书面向HTML5.1规范正式版,更新多个元素、拖放规范的相关知识,新增外挂字幕、点线模式等内容,着重介绍新增的手机端相关特性

详细介绍渐变背景支持、弹性盒布局、手机浏览器响应式布局、3D变换等CSS新增特性及重大改进

《疯狂HTML 5+CSS 3+JavaScript讲义(第2版)》电子书免费下载

pdf下载
txt下载
epub下载
mobi下载
azw3下载
下载暂时关闭,开启另行通知

前言

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联盟与广大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

目录

?

第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

标签

JavaScript,HTML5,CSS3

产品特色

继续阅读

→→→→→→→→→→→→→→→→→→→→查找获取

匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: