第1篇 基础知识 2
第1章 Web应用开发概述 2
1.1 网络程序开发体系结构 3
1.1.1 C/S结构介绍 3
1.1.2 B/S结构介绍 3
1.1.3 两种体系结构的比较 4
1.2 Web简介 5
1.2.1 什么是Web 5
1.2.2 Web的工作原理 5
1.2.3 Web的发展历程 6
1.3 Web开发技术 7
1.3.1 客户端应用技术 7
1.3.2 服务器端应用技术 10
1.4 小结 11
第2章 JavaScript概述 12
2.1 JavaScript简述 13
2.1.1 什么是JavaScript 13
2.1.2 JavaScript的作用 13
2.1.3 JavaScript的基本特点 16
2.2 编写JavaScript的工具 17
2.2.1 记事本 17
2.2.2 FrontPage 18
2.2.3 Dreamweaver 20
2.3 编写第一个JavaScript程序 23
2.3.1 编写JavaScript程序 23
2.3.2 运行JavaScript程序 26
2.3.3 调试JavaScript程序 26
2.4 JavaScript内置对象 28
2.4.1 JavaScript的内置类框架 28
2.4.2 数组 30
2.4.3 Date对象 30
2.4.4 String对象 34
2.5 BOM对象编程 38
2.5.1 什么是BOM对象 38
2.5.2 BOM对象编程 38
2.6 JavaScript库 42
2.6.1 什么是JavaScript库 42
2.6.2 常用JavaScript库简介 43
2.7 小结 44
2.8 练习与实践 44
第3章 初识jQuery 45
3.1 jQuery简述 46
3.1.1 jQuery能做什么 46
3.1.2 jQuery的特点 47
3.1.3 jQuery的版本 48
3.2 jQuery下载与配置 50
3.2.1 下载jQuery 50
3.2.2 配置jQuery 52
3.2.3 我的第一个jQuery脚本 52
3.3 jQuery对象和DOM对象 53
3.3.1 jQuery对象和DOM对象简介 53
3.3.2 jQuery对象和DOM对象的相互转换 55
3.4 解决jQuery和其他库的冲突 57
3.4.1 jQuery库在其他库之前导入 57
3.4.2 jQuery库在其他库之后导入 58
3.5 jQuery插件简介 59
3.5.1 插件的使用 59
3.5.2 流行的插件 60
3.6 小结 62
3.7 练习与实践 63
第4章 使用jQuery选择器 64
4.1 jQuery的工厂函数 65
4.2 jQuery选择器是什么 65
4.3 jQuery选择器的优势 65
4.3.1 代码更简单 66
4.3.2 支持CSS1到CSS3选择器 66
4.3.3 完善的检测机制 66
4.4 基本选择器 68
4.4.1 ID选择器(#id) 68
4.4.2 元素选择器(element) 69
4.4.3 类名选择器(.class) 71
4.4.4 复合选择器(selector1,selector2,selectorN) 72
4.4.5 通配符选择器(*) 74
4.5 层次选择器 74
4.5.1 ancestor descendant选择器 75
4.5.2 parent>child选择器 76
4.5.3 prev+next选择器 78
4.5.4 prev~siblings选择器 79
4.6 过滤选择器 80
4.6.1 简单过滤器 81
4.6.2 内容过滤器 83
4.6.3 可见性过滤器 84
4.6.4 表单对象的属性过滤器 85
4.6.5 子元素过滤器 87
4.7 属性过滤器 87
4.8 表单选择器 88
4.9 选择器中的一些注意事项 90
4.9.1 选择器中含有特殊符号的注意事项 90
4.9.2 选择器中含有空格的注意事项 90
4.10 综合实例:隔行换色鼠标指向表格并且行变色 91
4.11 小结 93
4.12 练习与实践 93
第5章 使用jQuery操作DOM 94
5.1 DOM操作的分类 95
5.2 对元素的内容和值进行操作 95
5.2.1 对元素内容操作 96
5.2.2 对元素值操作 99
5.3 对DOM节点进行操作 100
5.3.1 创建节点 100
5.3.2 查找节点 102
5.3.3 插入节点 102
5.3.4 删除、复制与替换节点 104
5.3.5 遍历节点 108
5.3.6 包裹节点 109
5.4 对元素属性进行操作 110
5.5 对元素的CSS样式操作 111
5.5.1 通过修改CSS类实现 111
5.5.2 通过修改CSS属性实现 112
5.6 综合实例:实现我的开心小农场 112
5.7 小结 114
5.8 练习与实践 114
第2篇 核心技术 116
第6章 jQuery中的事件处理 116
6.1 JavaScript事件处理 117
6.1.1 事件与事件名称 117
6.1.2 JavaScript的常用事件 117
6.1.3 event对象 120
6.2 页面加载响应事件 123
6.3 jQuery中的事件 125
6.4 事件绑定 126
6.4.1 为元素绑定事件 126
6.4.2 移除绑定 128
6.4.3 绑定一次性事件处理 129
6.5 模拟用户操作 130
6.5.1 模拟用户的操作触发事件 131
6.5.2 模仿悬停事件 132
6.6 事件捕获与事件冒泡 133
6.6.1 什么是事件捕获与事件冒泡 133
6.6.2 事件对象 135
6.6.3 阻止事件冒泡 135
6.6.4 阻止浏览器默认行为 136
6.6.5 事件对象的属性 137
6.7 小结 139
6.8 练习与实践 139
第7章 jQuery中的动画效果 140
7.1 隐藏匹配元素 141
7.2 显示匹配元素 141
7.3 切换元素的可见状态 143
7.4 淡入淡出的动画效果 144
7.5 滑动效果 145
7.5.1 滑动显示匹配的元素 145
7.5.2 滑动隐藏匹配的元素 147
7.5.3 通过高度的变化动态切换元素的可见性 147
7.5.4 实战模拟:伸缩式导航菜单 148
7.6 自定义的动画效果 150
7.6.1 使用animate()方法创建自定义动画 150
7.6.2 使用stop()方法停止动画 151
7.6.3 判断元素是否处于动画状态 151
7.6.4 延迟动画的执行 152
7.7 综合实例:实现图片传送带效果 152
7.8 小结 155
7.9 练习与实践 155
第8章 使用jQuery处理图片和幻灯片 156
8.1 jQuery操作图片 157
8.1.1 Lightbox 157
8.1.2 使用Jcrop剪裁图片 166
8.2 jQuery实现幻灯片切换效果 171
8.2.1 交叉渐变幻灯片 171
8.2.2 滚动幻灯片 175
8.3 综合实例:使用jQuery制作下拉菜单 179
8.4 小结 180
8.5 练习与实践 180
第9章 使用jQuery操作表单 181
9.1 HTML表单概述 182
9.1.1 表单属性 183
9.1.2 输入标记<input> 184
9.1.3 文本域标记<textarea> 189
9.1.4 菜单和列表标记 190
9.2 使用jQuery操作表单元素 191
9.2.1 操作文本框 191
9.2.2 操作文本域 193
9.2.3 操作单选按钮和复选框 196
9.2.4 操作下拉框 199
9.2.5 表单验证 201
9.3 综合实例:删除记录时的提示效果 202
9.4 小结 204
9.5 练习与实践 204
第10章 使用jQuery操作表格和树 205
10.1 jQuery表格 206
10.1.1 控制表格颜色显示 206
10.1.2 表格的展开与关闭 208
10.1.3 表格内容的筛选 210
10.2 使用jQuery操作树 212
10.2.1 使用jQuery操作树 212
10.2.2 通过事件委托处理树 213
10.3 综合实例:jQuery对表格的综合操作 215
10.4 小结 219
10.5 练习与实践 219
第11章 Ajax在jQuery中的应用 220
11.1 Ajax技术简介 221
11.1.1 Ajax概述 221
11.1.2 Ajax开发模式 221
11.1.3 Ajax技术的优点 222
11.1.4 Ajax技术的缺点 222
11.2 安装Web运行环境——AppServ 223
11.3 通过JavaScript应用Ajax 225
11.4 jQuery中的Ajax应用 226
11.4.1 load()方法 227
11.4.2 使用$.get()方法请求数据 229
11.4.3 使用$.post()方法请求数据 230
11.4.4 $.getScript()方法加载js文件 231
11.4.5 $.getJSON()方法加载JSON文件 232
11.4.6 使用$.ajax()方法请求数据 234
11.4.7 使用serialize()方法序列化表单 235
11.5 Ajax的全局事件 237
11.5.1 Ajax全局事件的参数及功能 237
11.5.2 ajaxStart与ajaxStop全局事件 238
11.6 综合实例:Ajax实现留言板即时更新 239
11.7 小结 241
11.8 练习与实践 241
第3篇 高级应用 244
第12章 jQuery UI插件的使用 244
12.1 初识jQuery UI插件 245
12.1.1 jQuery UI概述 245
12.1.2 jQuery UI的下载 245
12.1.3 jQuery UI的使用 247
12.1.4 jQuery UI的工作原理 248
12.1.5 jQuery UI中的插件 250
12.2 jQuery UI的常用插件 250
12.2.1 折叠面板(Accordion)的使用 250
12.2.2 自动完成(Autocomplete)插件的使用 253
12.2.3 按钮(Button)的使用 256
12.2.4 日期选择器(Datepicker)的使用 258
12.2.5 对话框(Dialog)的使用 261
12.2.6 菜单(Menu)的使用 266
12.2.7 进度条(Progressbar)的使用 269
12.2.8 滑块(Slider)的使用 271
12.2.9 微调按钮(Spinner)的使用 274
12.2.10 选项卡(Tabs)的使用 276
12.2.11 工具提示框(Tooltip)的使用 278
12.2.12 自由拖拽类(draggable)的使用 281
12.3 小结 283
12.4 练习与实践 283
第13章 常用的第三方jQuery插件 284
13.1 jQuery插件概述 285
13.1.1 什么是jQuery插件 285
13.1.2 常用的第三方jQuery插件 285
13.1.3 如何调用第三方jQuery插件 286
13.2 常用的jQuery插件的使用 286
13.2.1 uploadify插件(文件上传) 287
13.2.2 zTree插件(树菜单) 291
13.2.3 Validation插件(表单验证) 301
13.2.4 Nivo Slider插件(图片切换) 303
13.2.5 Pagination插件(数据分页) 306
13.2 6 jQZoom插件(图片放大镜) 309
13.3 综合实例:使用ColorPicker插件制作颜色选择器 311
13.4 小结 312
13.5 练习与实践 312
第14章 jQuery必知的工具函数 313
14.1 jQuery工具函数概述 314
14.2 工具函数的分类 314
14.3 数组和对象的操作 314
14.3.1 遍历数据 314
14.3.2 数据筛选 316
14.3.3 数据检索 317
14.3.4 数据变更 319
14.4 字符串操作 320
14.5 测试操作 321
14.5.1 检测对象是否为空 321
14.5.2 检测两个节点的包含关系 322
14.5.3 检测指定参数是否为函数 323
14.5.4 检测指定对象是否为原始对象 324
14.6 URL操作 325
14.7 其他工具函数 326
14.8 工具函数的扩展 328
14.8.1 使用$.extend()扩展工具函数 328
14.8.2 使用$.extend()扩展Object对象 329
14.9 小结 330
14.10 练习与实践 330
第15章 jQuery的开发技巧 331
15.1 快速控制页面元素 332
15.1.1 获取鼠标位置 332
15.1.2 居中显示元素 333
15.2 调用jQuery中的方法 335
15.2.1 使用预加载方法预览图片 335
15.2.2 延迟加载图片 338
15.2.3 通过html()方法判断元素是否为空 339
15.3 灵活使用jQuery中的事件 340
15.3.1 屏蔽鼠标右键菜单 340
15.3.2 限制文本输入框中输入字符的个数 341
15.4 常用自定义方法 343
15.4.1 自定义选择器 343
15.4.2 自定义样式 344
15.5 其他开发技巧与方法 346
15.5.1 隐藏搜索文本框文字 346
15.5.2 统计元素个数 348
15.6 小结 349
15.7 练习与实践 349
第16章 jQuery各个版本的变化 350
16.1 jQuery1.3 版本 351
16.2 jQuery1.4 版本 352
16.3 jQuery1.5 版本 353
16.4 jQuery1.6 版本 354
16.5 jQuery1.7 版本 354
16.6 jQuery1.8 版本 355
16.7 jQuery1.9 版本 355
16.8 jQuery1.10 版本 359
16.9 小结 359
第17章 jQuery的性能优化 360
17.1 选择器性能优化 361
17.1.1 优先使用ID选择器 361
17.1.2 在class之前使用tag标记 361
17.1.3 使用jQuery的对象缓存 362
17.1.4 使用子查询优化选择器的性能 363
17.1.5 优化选择器以适用Sizzle的“从右至左”模型 365
17.1.6 利用强大的链式操作 365
17.1.7 给选择器一个上下文 365
17.2 优化DOM操作 367
17.3 事件性能的优化 368
17.3.1 将事件推迟到$(window).load() 368
17.3.2 使用delegate()方法为元素添加事件 369
17.4 使用方法优化性能 370
17.4.1 使用data方法存取普通数据 370
17.4.2 使用data方法存取JSON数据 371
17.4.3 使用target()方法优化事件中的冒泡现象 373
17.5 其他常用的jQuery性能优化建议 374
17.5.1 使用最新版本的jQuery 374
17.5.2 使用HTML5 374
17.5.3 给15个以上元素添加样式,直接给DOM元素添加style标签 374
17.5.4 避免载入多余的代码 375
17.5.5 压缩成一个JS文件,将下载次数保持到最少 375
17.5.6 必要时使用原生的JavaScript 375
17.6 小结 375
17.7 练习与实践 375
第18章 jQuery在HTML5中的应用 376
18.1 HTML5基础 377
18.1.1 HTML的发展历程 377
18.1.2 HTML5的新特性 377
18.1.3 浏览器对HTML5的支持 378
18.2 jQuery与HTML5编程 379
18.2.1 显示文件上传的进度条 379
18.2.2 Canvas绘图 383
18.2.3 jQuery+HTML5实现图片旋转效果 385
18.2.4 基于HTML5播放声音的jQuery插件audioPlay 388
18.2.5 Web Storage编程 389
18.3 综合实例:旅游信息网前台页面设计 393
18.3.1 网站预览 393
18.3.2 网站主体结构设计 397
18.3.3 HTML5结构元素的使用 397
18.3.4 网站公共部分设计 398
18.3.5 网站主页设计 403
18.3.6 “留下足迹”页面设计 406
18.4 小结 407
18.5 练习与实践 407
第19章 jQuery Mobile 408
19.1 初识jQuery Mobile 409
19.1.1 jQuery Mobile工作原理 409
19.1.2 jQuery Mobile的主要特性 409
19.2 jQuery Mobile安装和使用 410
19.3 第一个jQuery Mobile实例 410
19.4 jQuery Mobile组件 412
19.4.1 页面设计 412
19.4.2 对话框设计 415
19.4.3 弹出框 416
19.4.4 工具栏设计 421
19.4.5 按钮设计 423
19.5 列表设计 426
19.6 jQuery Mobile API接口应用 427
19.6.1 默认配置设置 427
19.6.2 方法 428
19.6.3 事件 429
19.7 小结 431
19.8 练习与实践 432
第4篇 项目实战 434
第20章 PHP+jQuery+Ajax实现产品之家 434
20.1 网站概述 435
20.2 系统设计 435
20.2.1 系统目标 435
20.2.2 系统功能结构 435
20.2.3 开发环境 436
20.2.4 网页预览 436
20.2.5 文件夹组织结构 439
20.3 数据库设计 439
20.3.1 数据库设计 439
20.3.2 数据表设计 440
20.4 公共文件设计 442
20.4.1 数据库连接、管理类文件 442
20.4.2 Smarty模板配置类文件 444
20.5 前台首页设计 444
20.5.1 广告宣传图片展示 445
20.5.2 产品图片展示 448
20.6 产品列表页面设计 449
20.6.1 产品搜索 449
20.6.2 产品列表 451
20.7 产品描述页面设计 453
20.8 产品评分页面设计 456
20.8.1 产品用户评分 456
20.8.2 推荐产品 461
20.9 代理加盟页面设计 462
20.10 后台产品管理模块 465
20.10.1 后台功能概述 465
20.10.2 产品管理模块介绍 466
20.11 运行项目 474
20.12 小结 476