第1章模块加载 1
1.1加载包和模块 4
1.2加载SimpleYUI 6
1.3识别和加载独立模块 8
1.4加载不同的默认皮肤 10
1.5加载Gallery模块 11
1.6加载YUI 2组件 13
1.7加载本地寄宿的代码 14
1.8创建你自己的模块 17
1.9创建有依赖的模块 19
1.10创建真正可重用的模块 22
1.11定义自定义模块组 24
1.12重用YUI配置 28
1.13定义你自己的包 31
1.14加载j Query作为一个YUI模块 32
1.15根据浏览器能力加载模块 35
1.16实时修补YUI 39
1.17按需加载模块 41
1.18在用户操作的时候启用预加载 43
1.19绑定YUI实例到iframe上 47
1.20实现静态加载 49
第2章DOM操作 53
2.1获取元素引用 54
2.2操作CSS类 57
2.3获取和设置DOM属性 59
2.4改变元素里面的内容 61
2.5处理元素集合 62
2.6创建新元素 64
2.7添加自定义方法到节点上 66
2.8添加自定义属性到节点上 68
第3章用户界面效果和交互 71
3.1隐藏元素 72
3.2淡出一个元素 73
3.3移动元素 76
3.4创建系列过渡 78
3.5定义你自己的罐装过渡 80
3.6创建一个无限滚动效果 82
3.7拖曳元素 84
3.8创建可调整大小的节点 87
3.9实现可拖曳排序的表格 89
第4章事件 93
4.1响应鼠标滑过、单击和其他用户操作 94
4.2响应元素和页面生命周期事件 97
4.3控制事件传播和冒泡 99
4.4阻止默认行为 101
4.5委托事件 102
4.6发出和捕获自定义事件 104
4.7用自定义事件驱动应用程序 106
4.8使用对象方法作为事件处理器 111
4.9分离事件订阅 113
4.10控制事件处理器执行顺序 115
4.11创建合成DOM事件 118
4.12用另一个方法响应一个方法调用 120
第5章Ajax 123
5.1获取和显示XHR数据 124
5.2数据传输期间处理错误 128
5.3直接加载内容到节点 131
5.4用XHR提交表单数据 134
5.5用XHR上传文件 136
5.6用脚本节点获取JSON数据(JSONP) 138
5.7用YQL获取和显示数据 141
5.8用YQL分解HTML 143
5.9用DataSource查询数据 145
5.10用DataSchema标准化DataSource响应 149
第6章CSS 153
6.1标准化浏览器样式不一致性 154
6.2重建统一的基础样式 155
6.3应用一致的字体 156
6.4用网格布局铺设内容 158
6.5为响应设计使用网格 161
6.6创建一致的按钮 163
第7章基础结构 165
7.1用属性管理状态 167
7.2用Y.extend()创建基本元件 171
7.3用YBase.create()创建Base元件 174
7.4创建一个基本的组件 176
7.5用渐进增强创建组件 182
7.6用Widget渲染远程数据 185
7.7创建一个简单的插件 189
7.8创建一个插件更改宿主行为 191
7.9给组件绑定CSS作为一个CSS模块 193
7.10给组件绑定CSS作为一个皮肤 195
7.11用模型表示数据 198
7.12用同步层持久化模型数据 200
7.13用同步模型列表管理模型 205
7.14用视图渲染HTML 209
7.15用视图渲染模型 211
7.16用视图渲染模型列表 215
7.17在URL中保存状态变化 218
7.18定义和执行路由 221
第8章使用组件 227
8.1实例化、渲染和配置组件 228
8.2创建一个遮盖 231
8.3对齐和居中遮盖 235
8.4让遮盖可拖曳 237
8.5创建一个简单的美化的信息面板 239
8.6创建一个模态对话框或表单 240
8.7从一个遮盖创建一个工具提示 243
8.8从遮盖创建一个灯箱效果 246
8.9创建一个滑块 251
8.10创建一个标签视图 254
8.11创建一个基本的数据表格 257
8.12格式化数据表格的外观 259
8.13在数据表格里显示远程JSON数据源 262
8.14在图表里绘制数据 263
8.15用日历选择日期 265
8.16定义日历规则 268
8.17创建一个基本的自动完成 271
8.18高亮和过滤自动完成结果 273
8.19使用远程数据自动完成 278
8.20自定义自动完成结果列表 282
第9章工具 285
9.1决定变量的类型 286
9.2遍历数组和对象 289
9.3过滤数组 291
9.4合并对象 292
9.5从其他对象组合和继承 294
9.6自动缓存函数调用结果 296
9.7用简单的字符串替换做模板 298
9.8格式化数字 299
9.9格式化日期 301
9.10解析任意的XML 302
9.11转换颜色值 303
9.12管理历史和后退按钮 303
9.13转义用户输入 308
9.14给复选框组分配特殊的行为 309
9.15实现简单的键盘操作和导航 311
9.16可靠地检测输入框变化 313
9.17管理和验证表单 314
第10章服务器端的YU I 317
10.1在服务器上安装和运行YUI 318
10.2在服务器上同步加载模块 320
10.3在命令行里使用YUI 321
10.4在服务器上调用YQL 324
10.5使用YUI REPL 325
10.6用YUI、 YQL和Handlebars构造和服务页面 329
第11章通用访问 331
11.1预防无样式内容闪烁 332
11.2给表单错误消息增加ARIA 335
11.3用ARIA构建组件 337
11.4用ARIA插件改造组件 340
11.5定义翻译过的字符串 343
11.6国际化组件 346
第12章专业工具 351
12.1启用调试日志 353
12.2在页面上渲染调试日志输出 356
12.3编写单元测试 360
12.4组织单元测试为套件 364
12.5通过模拟事件测试事件处理器 367
12.6模仿对象 370
12.7用wait()异步测试 374
12.8收集和发布测试结果 378
12.9在多个浏览器中预提交测试 382
12.10在移动设备上测试 385
12.11测试服务器端的JavaScript 388
12.12压缩你的代码 389
12.13文档化你的代码 394
索引 399