目 录
第1 章 初识jQuery 1
视频讲解:9 分钟
1.1 jQuery概述 2
1.1.1 jQuery功能 2
1.1.2 jQuery特性 3
1.1.3 jQuery优势 3
1.1.4 jQuery版本 4
1.2 使用jQuery 4
1.2.1 下载jQuery 5
1.2.2 安装jQuery 6
1.2.3 测试jQuery 6
1.3 学习资源 8
1.3.1 jQuery开发工具 8
1.3.2 jQuery参考手册 8
第2 章 解析jQuery 框架 9
视频讲解:1 小时19 分钟
2.1 设计思路 10
2.2 设计框架模型 11
2.2.1 定义类型 11
2.2.2 返回jQuery对象 12
2.2.3 设计作用域 14
2.2.4 跨域访问 15
2.2.5 设计选择器 16
2.2.6 设计迭代器 17
2.2.7 设计扩展 19
2.2.8 传递参数 21
2.2.9 设计独立空间 24
2.3 jQuery架构 26
2.3.1 jQuery结构变化概述 26
2.3.2 jQuery新框架结构 28
2.4 jQuery构造函数 32
2.4.1 jQuery([selector,[context]])接口 32
2.4.2 jQuery(html,[ownerDocument])接口 35
2.4.3 jQuery(callback)接口 38
2.5 jQuery类数组 38
2.5.1 jQuery对象 38
2.5.2 构建类数组 39
2.5.3 定位元素 40
2.6 案例实战 42
第3 章 解析Sizzle 选择器引擎 45
3.1 CSS选择器引擎历史 46
3.2 Sizzle引擎概述 46
3.2.1 Sizzle特征 47
3.2.2 Sizzle选择器功能 47
3.2.3 Sizzle代码功能 47
3.2.4 Sizzle参考 47
3.2.5 浏览器支持 48
3.2.6 Sizzle选择器 48
3.2.7 公共API 49
3.2.8 扩展API 50
3.2.9 内部API 52
3.2.10 Sizzle代码结构 52
3.3 使用Sizzle引擎 54
3.3.1 安装Sizzle 54
3.3.2 嵌入jQuery 55
3.3.3 jQuery与Sizzle协作 55
3.4 词法分析 57
3.4.1 浏览器解析概述 57
3.4.2 CSS选择器解析顺序 59
3.4.3 CSS选择器解析机制 60
3.4.4 tokenize处理器 62
3.5 选择过滤 65
3.5.1 位置关系 66
3.5.2 实现接口 66
3.5.3 匹配原则 67
3.6 编译函数 71
3.6.1 元匹配器 71
3.6.2 编译器 72
3.6.3 过滤函数 73
3.7 超级匹配 78
3.7.1 superMatcher 78
3.7.2 matcher 79
第4 章 定义jQuery 对象 86
视频讲解:47 分钟
4.1 简单选择器 87
4.1.1 ID选择器 87
4.1.2 标签选择器 88
4.1.3 类选择器 89
4.1.4 通配选择器 91
4.1.5 分组选择器 91
4.1.6 源码解析 92
4.2 关系选择器 95
4.3 伪类选择器 99
4.3.1 子选择器 99
4.3.2 位置选择器 100
4.3.3 内容选择器 101
4.3.4 可视选择器 102
4.3.5 源码解析 103
4.4 属性选择器 107
4.5 表单选择器 110
4.5.1 类型选择器 111
4.5.2 状态选择器 112
4.6 jQuery选择器优化 113
第5 章 过滤jQuery 对象 116
视频讲解:53 分钟
5.1 筛选对象 117
5.1.1 包含类 117
5.1.2 定位对象 118
5.1.3 超级过滤 119
5.1.4 包含过滤 122
5.1.5 是否包含 123
5.1.6 映射函数 124
5.1.7 排除对象 125
5.1.8 截取片段 126
5.2 结构过滤 127
5.2.1 查找后代节点 127
5.2.2 查找祖先元素 131
5.2.3 查找前面兄弟元素 137
5.2.4 查找后面兄弟元素 139
5.2.5 查找同辈元素 142
5.3 特殊操作 142
5.3.1 添加对象 142
5.3.2 合并对象 144
5.3.3 返回前面对象 145
第6 章 解析DOM 模块 146
6.1 DOM操作引擎概述 147
6.1.1 DOM操作设计原理 147
6.1.2 DOM操作API组成 147
6.1.3 创建元素设计思路 149
6.1.4 克隆元素设计思路 150
6.1.5 插入元素设计思路 151
6.1.6 移除元素设计思路 153
6.2 domManip()函数 153
6.2.1 版本演变 153
6.2.2 为什么使用domManip()函数 153
6.2.3 domManip主要功能 154
6.2.4 源码解析 157
6.3 buildFragment()函数 161
6.3.1 文档片段节点 161
6.3.2 源码解析 162
6.4 access()与DOM操作 166
6.5 DOM操作接口 170
6.5.1 after 171
6.5.2 insertAfter 171
6.5.3 before 172
6.5.4 append 173
6.5.5 prepend 173
6.5.6 replaceWith 173
6.5.7 html 174
6.5.8 text 176
6.5.9 val 177
第7 章 操作DOM 182
视频讲解:1 小时24 分钟
7.1 创建节点 183
7.1.1 创建元素 183
7.1.2 创建文本 184
7.1.3 创建属性 184
7.2 插入节点 185
7.2.1 内部插入 185
7.2.2 外部插入 189
7.3 删除节点 191
7.3.1 移出 192
7.3.2 清空 194
7.3.3 分离 195
7.4 克隆节点 197
7.4.1 使用clone() 197
7.4.2 源码解析 198
7.5 替换节点 200
7.6 包裹元素 202
7.6.1 外包 202
7.6.2 内包 203
7.6.3 总包 204
7.6.4 卸包 205
7.7 操作属性 206
7.7.1 设置属性 206
7.7.2 访问属性 208
7.7.3 删除属性 211
7.8 操作类 213
7.8.1 添加类样式 213
7.8.2 删除类样式 213
7.8.3 切换类样式 214
7.8.4 判断样式 215
7.9 操作内容 216
7.9.1 读写HTML字符串 216
7.9.2 读写文本 217
7.9.3 读写值 218
7.10 案例实战 219
7.10.1 设计复选框的全选、反选、取消、
选中输出功能 220
7.10.2 链式操作DOM 221
7.10.3 简单求和 223
7.11 在线练习 224
第8 章 使用CSS 225
视频讲解:30 分钟
8.1 CSS脚本化基础 226
8.1.1 访问行内样式 226
8.1.2 使用style 227
8.1.3 使用styleSheets 231
8.1.4 使用selectorText 234
8.1.5 修改样式 234
8.1.6 添加样式 235
8.1.7 访问渲染样式 236
8.1.8 访问媒体查询 239
8.1.9 CSS事件 241
8.2 jQuery实现 242
8.2.1 access()函数 243
8.2.2 jQuery.fn.css 245
8.3 案例实战 247
8.4 在线练习 249
第9 章 jQuery 动画 250
视频讲解:56 分钟
9.1 jQuery动画基础 251
9.1.1 显隐效果 251
9.1.2 显隐切换 254
9.1.3 滑动效果 256
9.1.4 滑动切换 257
9.1.5 淡入淡出 259
9.1.6 控制淡入淡出度 260
9.1.7 渐变切换 261
9.2 设计动画 262
9.2.1 模拟show() 263
9.2.2 自定义动画 264
9.2.3 滑动定位 267
9.2.4 停止动画 267
9.2.5 关闭动画 269
9.2.6 设置动画频率 269
9.2.7 延迟动画 270
9.3 案例实战 270
9.3.1 折叠面板 270
9.3.2 树形结构 272
9.3.3 选项卡 274
9.4 在线练习 277
第10 章 jQuery 事件 278
视频讲解:1 小时14 分钟
10.1 JavaScript事件基础 279
10.1.1 JavaScript事件发展历史 279
10.1.2 事件模型 279
10.1.3 事件传播 279
10.1.4 事件类型 280
10.1.5 绑定事件 281
10.1.6 事件监听函数 281
10.1.7 注册事件 283
10.1.8 销毁事件 285
10.1.9 event对象 287
10.1.10 事件委托 289
10.2 jQuery实现 291
10.2.1 绑定事件 291
10.2.2 事件方法 296
10.2.3 绑定一次性事件 297
10.2.4 注销事件 297
10.2.5 使用事件对象 298
10.2.6 触发事件 299
10.2.7 切换事件 301
10.2.8 使用悬停事件 302
10.2.9 事件命名空间 304
10.2.10 绑定多个事件 305
10.2.11 自定义事件 306
10.2.12 页面初始化 307
10.2.13 使用ready事件 308
10.3 案例实战 310
10.3.1 定义快捷键 310
10.3.2 设计软键盘 312
10.4 在线练习 314
第11 章 使用Ajax 315
视频讲解:1 小时21 分钟
11.1 XMLHttpRequest 1.0 基础 316
11.1.1 定义XMLHttpRequest对象 316
11.1.2 建立XMLHttpRequest连接 317
11.1.3 发送GET请求 318
11.1.4 发送POST请求 318
11.1.5 转换串行化字符串 320
11.1.6 跟踪状态 321
11.1.7 终止请求 322
11.1.8 获取XML数据 322
11.1.9 获取HTML文本 323
11.1.10 获取JavaScript脚本 324
11.1.11 获取JSON数据 325
11.1.12 获取纯文本 325
11.1.13 获取头部信息 326
11.2 XMLHttpRequest 2.0基础 327
11.2.1 请求时限 327
11.2.2 FormData数据对象 327
11.2.3 上传文件 328
11.2.4 跨域访问 328
11.2.5 响应不同类型数据 328
11.2.6 接收二进制数据 329
11.2.7 监测数据传输进度 329
11.3 jQuery实现 330
11.3.1 使用GET请求 330
11.3.2 使用POST请求 333
11.3.3 使用ajax()请求 334
11.3.4 跟踪状态 336
11.3.5 载入文件 338
11.3.6 设置Ajax选项 340
11.3.7 序列化字符串 341
11.4 案例实战 344
11.4.1 设计数据瀑布流显示 344
11.4.2 无刷新删除记录 345
11.5 在线练习 347
第12 章 jQuery 工具 348
视频讲解:1 小时53 分钟
12.1 浏览器探测 349
12.1.1 检测类型 349
12.1.2 检测版本号 350
12.1.3 检测渲染方式 351
12.1.4 综合测试 351
12.2 jQuery管理 352
12.2.1 兼容其他库 352
12.2.2 混用多个库 354
12.3 小工具 355
12.3.1 修剪字符串 355
12.3.2 序列化字符串 355
12.3.3 检测数组 356
12.3.4 遍历对象 356
12.3.5 转换数组 357
12.3.6 过滤数组 358
12.3.7 映射数组 359
12.3.8 合并数组 360
12.3.9 删除重复项 360
12.3.10 遍历jQuery对象 361
12.3.11 获取jQuery对象长度 362
12.3.12 获取选择器和选择范围 362
12.3.13 获取jQuery对象成员 363
12.4 缓存 364
12.4.1 认识缓存 364
12.4.2 定义缓存 366
12.4.3 获取缓存 366
12.4.4 删除缓存 367
12.4.5 jQuery缓存规范 368
12.5 队列 368
12.5.1 认识队列 368
12.5.2 添加队列 369
12.5.3 显示队列 370
12.5.4 更新队列 371
12.5.5 删除队列 372
12.6 延迟 373
12.6.1 认识deferred对象 373
12.6.2 Ajax链式写法 373
12.6.3 定义同一操作的多个回调函数 374
12.6.4 为多个操作定义回调函数 374
12.6.5 普通操作的回调函数接口 374
12.7 回调函数 377
12.7.1 添加回调函数 378
12.7.2 删除回调函数 378
12.7.3 判断回调函数 379
12.7.4 清空回调函数 379
12.7.5 禁用回调函数 380
12.7.6 触发回调函数 380
12.7.7 锁定回调函数 381
12.8 案例实战 383
12.9 在线练习 384
第13 章 jQuery 插件 385
视频讲解:1 小时11 分钟
13.1 jQuery插件开发基础 386
13.1.1 开发规范 386
13.1.2 设计原理 387
13.1.3 定义jQuery函数 389
13.1.4 定义jQuery方法 390
13.1.5 匹配元素 391
13.1.6 使用extend 393
13.1.7 封装插件 394
13.1.8 开放参数 395
13.1.9 开放功能 396
13.1.10 隐私保护 398
13.1.11 非破坏性实现 399
13.1.12 添加事件日志 401
13.1.13 简化设计 405
13.2 案例实战:设计文字提示插件 407
13.2.1 功能讲解 407
13.2.2 构建结构 407
13.2.3 设计思路 407
13.2.4 难点突破 410
13.2.5 代码实现 411
13.2.6 应用插件 413
13.3 在线练习 413
第14 章 案例实战:使用jQuery 设计微博系统 414
14.1 设计思路 415
14.2 设计网站结构 416
14.3 设计数据库 417
14.4 连接数据库 418
14.5 显示微博 418
14.6 发布微博 419
14.7 在线练习 421
第15 章 案例实战:使用jQuery 开发网店 422
视频讲解:60 分钟
15.1 网站策划 423
15.2 设计网站结构 424
15.2.1 定义文件结构 424
15.2.2 定义网页结构 424
15.2.3 设计效果图 424
15.3 设计网站样式 425
15.3.1 网站样式分类 425
15.3.2 编写全局样式 425
15.3.3 编写可重用样式 425
15.3.4 编写网站首页主体布局 426
15.3.5 编写详细页主体布局 426
15.4 设计首页交互行为 426
15.4.1 搜索框文字效果 426
15.4.2 网页换肤 426
15.4.3 导航效果 428
15.4.4 商品分类热销效果 428
15.4.5 产品广告效果 429
15.4.6 超链接提示 430
15.4.7 品牌活动横向滚动效果 432
15.4.8 光标滑过产品列表效果 433
15.5 设计详细页交互行为 434
15.5.1 图片放大镜效果 434
15.5.2 图片遮罩效果 435
15.5.3 小图切换大图 436
15.5.4 选项卡 438
15.5.5 产品颜色切换 439
15.5.6 产品尺寸切换 440
15.5.7 产品数量和价格联动 441
15.5.8 产品评分效果 441
15.5.9 模态对话框 442
15.6 在线练习 443
第16 章 案例实战:使用jQuery 开发Web应用 444
视频讲解:48 分钟
16.1 设计思路 445
16.1.1 案例预览 445
16.1.2 案例策划 446
16.1.3 设计XML数据 446
16.2 设计相册结构 447
16.2.1 设计基本结构 447
16.2.2 完善页面结构 448
16.3 设计相册布局和样式 449
16.3.1 基本布局思路 449
16.3.2 定义默认样式和基本框架 450
16.3.3 定义局部样式 451
16.3.4 设计皮肤 454
16.4 设计交互效果 455
16.4.1 动态更换皮肤 455
16.4.2 初始化XML DOM控件 455
16.4.3 读取并显示分类导航信息 456
16.4.4 读取并显示缩略图信息 458