第1篇jQuery核心库快速掌握和内核分析篇 3
第1章 使用jQuery开发Web应用程序 3
1.1使用jQuery核心库——jQuery Core 4
1.1.1第一个jQuery范例 5
1.1.2基本语法 6
1.1.3为什么要使用jQuery 7
1.1.4源代码解析——jQuery库的闭包定义 9
1.1.5源代码解析——使用单体模式创建jQuery实例 9
1.2解决jQuery冲突 10
1.2.1源代码解析——冲突的解决 12
1.2.2源代码解析——jQuery类的声明技巧 12
1.3优化——关于开发效率和运行效率 13
第2章jQuery对象和jQuery选择器——使用jQuery选择器构建jQuery对象 15
2.1选择器基本语法——从源头谈起 16
2.1.1转义和保留字符 16
2.1.2快速掌握jQuery选择器 17
2.2使用选择器 19
2.2.1基本选择器 19
2.2.2层级选择器 20
2.2.3属性选择器 22
2.2.4子元素过滤选择器 23
2.2.5基本过滤选择器 26
2.2.6内容过滤选择器 27
2.2.7可视化选择器 28
2.2.8表单选择器 28
2.3 Sizzle选择器引擎 29
2.4增强的jQuery()函数使用 29
2.4.1使用DOM元素构造jQuery对象 30
2.4.2克隆jQuery对象 31
2.4.3解析HTML字符串为jQuery对象 31
2.4.4解析单个HTML元素字符串为jQuery对象 32
2.5 jQuery XPath选择器 33
2.5.1支持的轴运算符 33
2.5.2支持的条件谓词 34
第3章jQuery对象和jQuery选择器——jQuery对象结构和处理方法 37
3.1关于jQuery对象的结构 38
3.2处理jQuery对象 39
3.2.1迭代jQuery对象 39
3.2.2使用索引获取jQuery集合中的元素 40
3.2.3获取指定元素的索引值 43
3.2.4过滤jQuery对象 44
3.2.5检查是否包含指定特征的元素 47
3.2.6转换jQuery对象为数组 48
3.3其他jQuery对象处理方法 49
3.3.1添加元素到jQuery对象 49
3.3.2通过合并构建jQuery对象 49
3.3.3使用jQuery对象缓存 51
第4章 处理DOM结构(DOM树) 53
4.1属性节点处理 54
4.1.1按照Core DOM规范处理属性 54
4.1.2按照HTML DOM规范处理属性 56
4.1.3删除属性 57
4.1.4处理class属性 58
4.2处理元素内容 60
4.2.1获取和改变元素的HTML格式内容 61
4.2.2获取和改变元素的文本格式内容 62
4.3处理表单元素的值 62
4.4 DOM树遍历 65
4.4.1匹配子元素 65
4.4.2匹配后代元素 66
4.4.3匹配祖辈元素 67
4.4.4匹配同辈元素 69
4.5改变DOM树 71
4.5.1插入元素节点 71
4.5.2替换元素节点 76
4.5.3删除元素节点 78
4.5.4克隆元素节点 79
4.5.5封装元素节点 80
第5章CSS样式处理 83
5.1基本的CSS样式处理方法 84
5.2其他几个快捷方法 86
5.2.1获取和设置元素的定位 86
5.2.2处理滚动条位置 88
5.2.3高度和宽度计算 89
5.3 CSS 3新增的样式属性以及浏览器特定的扩展样式属性 91
第6章 触发事件 93
6.1绑定事件和事件处理函数 94
6.1.1实现事件绑定的基本方法 94
6.1.2解除事件绑定 96
6.1.3单次事件绑定 96
6.1.4实时追加事件绑定 97
6.2事件绑定的快捷方法 99
6.3其他快捷方法 100
6.3.1监测鼠标在目标对象上的活动 100
6.3.2监测交替单击 101
6.4 .ready()方法 102
6.5手动委派事件 103
6.6事件委托 104
6.6.1实现委托 104
6.6.2解除委托 105
6.7关于事件处理函数和jQuery Event对象 106
6.7.1使用jQuery Event对象 106
6.7.2自定义jQuery Event对象 108
第7章 动画效果 109
7.1特效全局设置 110
7.2基本特效——隐藏和显示 110
7.3淡入淡出特效 112
7.4滑动特效 114
7.5自定义特效 115
7.5.1根据CSS设置执行自定义的动画效果 115
7.5.2关于CSS 3的过渡效果属性 116
7.6动画队列管理 119
7.6.1使用.queue()和jQuery.queue()方法获取队列 120
7.6.2使用.dequeue()和jQuery.dequeue()方法执行队列的下一个函数 121
7.6.3延迟动画队列执行 122
7.6.4使用.clearQueue()方法清除队列 122
7.6.5使用.stop()方法停止队列 123
7.7关于新的动画实现方法——requestAnimationFrame()方法 124
7.7.1基本使用方法 124
7.7.2 requestAnimationFrame()方法对jQuery动画队列的影响 126
第8章 使用Ajax 127
8.1 jQuery实现Ajax请求的基础方法 128
8.1.1 Ajax处理过程和回调函数的顺序 135
8.1.2了解jqXHR和XMLHttpRequest 136
8.1.3 jqXHR请求的数据类型 138
8.1.4使用JSONP 139
8.1.5便捷的Ajax请求方法 140
8.1.6便捷的全局事件监听 142
8.2发送数据到服务器 143
8.2.1编码表单 144
8.2.2序列化一个数组或对象 145
8.3全局设置 147
8.3.1设置Ajax全局默认选项 147
8.3.2预处理Ajax请求 147
第9章 工具方法 149
9.1内核方法 150
9.1.1 jQuery.holdReady()——暂停或恢复.ready()事件处理函数的执行 150
9.1.2 jQuery.sub(()——创建jQuery副本 150
9.1.3 jQuery.error()——抛出异常 151
9.2侦测浏览器特性 151
9.2.1 jQuery.support——侦测浏览器特性 151
9.2.2 jQuery.boxModel——侦测浏览器BOX模型 152
9.2.3 jQuery.browser和jQuery.browser.version——侦测浏览器标识和版本 153
9.3基本操作 153
9.3.1 jQuery.now()——当前时间的时间戳 153
9.3.2 jQuery.parseJSON()——解析JSON字符串 153
9.3.3 jQuery.parseXML()——解析XML字符串 153
9.4数组和对象处理 154
9.4.1 jQuery.each()——迭代对象和数组 154
9.4.2 jQuery.extend()——合并对象 155
9.4.3 jQuery.grep()——查找匹配的数组元素 156
9.4.4 jQuery.makeArray()——将对象转换为数组 156
9.4.5 jQuery.map()——将对象转换为数组 157
9.4.6 jQuery.merge()——合并数组 158
9.4.7 jQuery.noop()——空函数 159
9.4.8 jQuery.proxy()——代理 159
9.4.9 jQuery.trim()——删除字符串起始和结尾的空白 160
9.4.10 jQuery.unique()——删除数组中的重复元素 160
9.4.11 jQuery.inArray()——索引指定元素 160
9.5类型检查 160
9.5.1 jQuery.isArray() 160
9.5.2 jQuery.isEmptyObject() 161
9.5.3 jQuery.isFunction() 161
9.5.4 jQuery.isPlainObject() 161
9.5.5 jQuery.isWindow() 161
9.5.6 jQuery.isXMLDoc() 162
9.5.7 jQuery.type() 162
9.6其他工具方法 162
9.6.1 jQuery.contains()——检查元素包含 162
9.6.2 jQuery.globalEval()——执行JavaScript代码 163
9.7数据处理 163
9.7.1使用.data()和jQuery.data()方法存储和获取数据 163
9.7.2关于HTML5的data属性 164
9.7.3使用.removeData()和jQuery.removeData()方法移除数据 165
9.7.4 jQuery.hasData()——检查是否绑定了数据 165
第10章 延迟处理——Deferred对象和Promise 167
10.1注册回调函数 168
10.2状态的变化 169
10.2.1改变状态 170
10.2.2检测状态 170
10.3结合jQuery.when()方法使用 171
10.4使用Promise 172
10.4.1执行过滤 174
10.4.2对jQuery对象应用Promise 174
第2篇jQuery UI和经典插件实战篇 179
第11章 使用jQuery UI插件(1)——基本使用方法 179
11.1下载和引用jQuery UI插件库 180
11.1.1独立使用 181
11.1.2集成方式 182
11.1.3自定义集成方式 182
11.2使用jQuery UI插件的基本 183
方式 183
11.2.1使用选项自定义UI插件 183
11.2.2为UI插件绑定事件 183
11.2.3调用UI插件的方法 184
11.3交互功能插件 184
11.3.1 Resizable插件——调整元素大小 184
11.3.2 Selectable插件——选择分组中的元素 186
11.3.3 Sortable插件——对元素就地排序 188
11.3.4 Draggable插件和Droppable插件——实现拖放操作 190
11.3.5 HTML 5实现拖放操作 193
11.3.6范例——使用拖放操作实现购物车 199
11.4动画效果插件 202
11.4.1增强的.animate()方法 202
11.4.2通过改变类实现过渡效果 203
11.4.3增强的隐藏和显示特效 204
11.4.4对可视元素施加特效 205
第12章 使用jQuery UI插件(2)——Widget部件 207
12.1 Accordion插件 208
12.1.1同时打开多个内容板 210
12.1.2 HTML 5的details和summa元素实现Accordion 210
12.2 AutoComplete插件——自动完成(自动提示) 211
12.3 Button插件——按钮和按钮组 213
12.3.1为按钮定义图标 214
12.3.2单选按钮组 215
12.3.3多选按钮组 216
12.3.4切换按钮 217
12.4 DatePicker插件——日期选择器 217
12.4.1使用区域化功能 218
12.4.2格式化日期 219
12.4.3 HTML 5的日期类型控件 220
12.5 Dialog插件——对话框 221
12.6 ProgressBar插件——进度条 222
12.7 Slider插件——滑动条 224
12.8 Tabs插件——选项卡 226
第13章 美化jQuery UI插件 229
13.1使用样式主题美化jQuery UI插件 230
13.2自定义CSS美化jQuery UI插件 231
第14章 创建自己的jQuery插件 233
14.1创建自己的插件 234
14.2使用jQuery UI Widget Factory编写有状态的插件 237
14.2.1给插件添加方法 239
14.2.2设置和获取选项值 240
14.2.3添加回调功能 241
第15章 常用的第三方jQuery插件 243
15.1水平Accordion 244
15.2 Tree插件 245
15.3 NumericStepper插件 247
15.4 MenuBar插件(导航菜单) 248
15.5 DataGrid插件 251
15.6图片居中放大显示插件 253
15.7图片局部放大插件 255
15.8图片局部剪切插件 256
15.9图片滚动新闻、图片滚动AD插件 257
15.10调色盘1插件 258
15.11调色盘2插件 259
15.12向导插件 260
第3篇 使用jQuery Mobile设计网站和开发移动Web应用 265
第16章 使用jQuery Mobile UI插件(1)——基本使用方法 265
16.1使用jQuery Mobile插件 266
16.1.1第一个jQuery Mobile范例 266
16.1.2怎样在“内容页”间导航 269
16.1.3使用超链接 269
16.1.4定义页面过渡效果 270
16.1.5定义样式主题(theme) 270
16.1.6创建对话框 271
16.1.7固定页眉和页脚 272
16.1.8全屏效果 273
16.2导航模型——j Query Mobile的 273
核心机制 273
16.2.1页面导航的基本规则 274
16.2.2自动生成的“内容页”和子书签地址 275
16.2.3注意事项 276
第17章 使用jQuery Mobile UI插件(2)——Widget 277
17.1定义工具按钮 278
17.1.1定义按钮 278
17.1.2指定按钮图标 279
17.1.3自定义按钮图标 279
17.1.4行内级按钮和块级按钮 280
17.1.5按钮分组 280
17.1.6导航条 280
17.1.7添加返回按钮 283
17.2定义列表视图 284
17.2.1有序列表 284
17.2.2嵌套列表 285
17.2.3分割按钮列表 286
17.2.4列表项分组 287
17.2.5缩略图和图标 288
17.2.6对列表进行边缘修饰 290
17.2.7只读列表 290
17.2.8文字格式和计数泡 292
17.2.9过滤列表项 292
17.3内容布局 293
17.3.1网格布局 293
17.3.2可折叠内容 296
17.4定义jQuery Mobile表单 298
17.4.1表单控件的布局容器 300
17.4.2切换开关控件 301
17.4.3滑动条控件(slider) 301
17.4.4单选按钮和复选框控件 302
17.4.5水平开关键控件 303
17.4.6选项菜单控件 304
17.4.7表单提交 308
第18章 使用Ajax和程序动态控制jQuery Mobile 309
18.1 jQuery Mobile的自定义事件 310
18.2使用工具方法 312
18.3 jQuery Mobile初始化配置 316
18.3.1关于mobileinit事件 317
18.3.2配置选项 317
18.3.3其他全局配置项 319
第4篇jQuery经典网站设计——借鉴与灵感(见光盘) 323
附录A准备jQuery Mobile UI插件创作环境和测试环境 323
A.1使用Mobile Safari测试网页 324
A.1.1 iPhone Simulator的安装 324
A.1.2使用Mobile Safari 325
A.2使用IEMobile测试网页 327
A.2.1 Windows Phone 7 Emulator的安装 327
A.2.2使用IEMobile 328
A.3使用Chrome Lite测试网页 330
A.3.1 Android Emulator的安装 330
A.3.2使用Chrome Lite 336
A.4使用BlackBerry浏览器测试网页 338
A.4.1 B1ackBerry模拟器的安装 338
A.4.2使用BlackBerry模拟器 339
A.5安装和设置Web服务器 341
A.5.1安装IIS 341
A.5.2了解Web服务器根目录 343
附录B准备Visual Studio和Aptana Studio 345
B.1使用Visual Studio 346
B.2使用Aptana Studio 348
B.2.1安装Aptana Studio 348
B.2.2使用和配置Aptana Studio 348
B.2.3使用Aptana Studio编写JavaScript 349
B.2.4使用jQuery代码提示功能 352
附录C参考文献以及资料来源 355
参考网址 356
参考图书 357
参考规范及标准 358