第1章 代码重用和优化 1
1.1 快速运行 4
1.2 优化什么,何时优化? 4
1.3 自定义代码性能测试 7
1.4 优化JavaScript 8
1.4.1 查找表 8
1.4.2 位操作、整数和二进制数 12
1.5 优化jQuery和DOM交互 20
1.5.1 优化CSS格式变化 20
1.5.2 优化DOM插入 22
1.6 其他资源 23
第2章 DHTML基础 24
2.1 创建DHTML sprite 24
2.1.1 图像动画 25
2.1.2 封装和画图抽象 27
2.1.3 最小化DOM插入和删除 27
2.1.4 sprite代码 27
2.1.5 一个简单的sprite应用程序 29
2.1.6 一个更动态的sprite应用程序 31
2.2 转为一个jQuery插件 35
2.3 定时器、速度和帧速率 37
2.3.1 使用setInterval和setTimeout 38
2.3.2 定时器精度 39
2.3.3 保持速度一致 40
2.4 IE6背景图像缓存 45
第3章 滚动 46
3.1 纯CSS滚动特效 46
3.2 用JavaScript滚动 50
3.2.1 背景图像滚动 50
3.2.2 基于块的图像滚动 52
第4章 高级UI 68
4.1 HTML5表单 68
4.2 使用JavaScript UI库 70
4.3 从头创建UI元素 78
第5章 JavaScript游戏介绍 89
5.1 游戏对象概述 90
5.2 游戏代码 92
5.2.1 游戏变量 92
5.2.2 读取键盘输入 93
5.2.3 移动所有物体 95
5.2.4 一个简单的动画 96
5.2.5 碰撞检测 97
5.2.6 外星人 102
5.2.7 玩家 107
5.2.8 护甲 110
5.2.9 神秘飞碟 111
5.2.10 游戏 112
5.2.11 所有代码 116
第6章 HTML5画布 119
6.1 画布的支持 120
6.2 位图、矢量图,或两者兼而有之? 120
6.3 画布限制 121
6.4 画布与SVG的对比 121
6.5 画布与Adobe Flash的对比 122
6.6 画布导出器 123
6.7 画布绘制基础 125
6.7.1 画布元素 125
6.7.2 绘图环境 125
6.7.3 绘制矩形 126
6.7.4 绘制直线和曲线的路径 126
6.7.5 绘制位图图像 133
6.7.6 颜色、描边和填充 134
6.8 使用画布创建动画 138
6.9 画布和递归绘图 140
6.10 用画布sprites取代DHTMLsprite 143
6.10.1 新CanvasSprite对象 143
6.10.2 其他的代码更改 144
6.11 一个图形使用画布的WebSockets聊天应用 145
6.11.1 WebSockets优势 146
6.11.2 WebSockets支持和安全 146
6.11.3 聊天应用程序 147
第7章 游戏和模拟中的向量 159
7.1 向量运算 162
7.1.1 加法和减法 163
7.1.2 缩放 163
7.1.3 标准化 163
7.1.4 旋转 163
7.1.5 向量的点乘 164
7.2 创建一个JavaScript向量对象 165
7.3 使用向量的大炮模拟 166
7.3.1 模拟范围的变量 167
7.3.2 炮弹 168
7.3.3 大炮 168
7.3.4 背景 170
7.3.5 主循环 171
7.3.6 页面布局 171
7.4 火箭模拟 172
7.4.1 游戏对象 173
7.4.2 障碍物对象 174
7.4.3 火箭物体 175
7.4.4 背景 178
7.4.5 碰撞检测和反馈 178
7.4.6 页面代码 180
7.4.7 可能的改进方案 182
第8章 谷歌可视化 183
8.1 限制 185
8.2 相关术语表 186
8.3 图像图表 187
8.3.1 数据格式及图表分辨率 190
8.3.2 使用动态数据 194
8.3.3 总结 197
8.4 交互式图表 197
第9章 使用jQuery Mobile为移动设备开发 206
9.1 jQuery Mobile 207
9.2 TilePic:移动友好的网络应用程序 209
9.2.1 TilePic游戏概述 209
9.2.2 TilePic游戏代码 211
9.3 PhoneGap 220
第10章 用PhoneGap创建Android应用 222
10.1 安装PhoneGap 223
10.1.1 安装Java开发工具包(JDK) 223
10.1.2 安装Android软件开发工具包(SDK) 224
10.1.3 安装Eclipse 225
10.1.4 安装Android开发工具 226
10.1.5 安装PhoneGap 227
10.2 在Eclipse中创建一个PhoneGap项目 227
10.2.1 更改App.java文件 229
10.2.2 改变AndroidManifest.xml文件 230
10.2.3 创建和测试一个简单的Web应用程序 231
10.2.4 测试TilePic应用程序 232