第1章 认识HTML 1
1.1 HTML基本介绍 1
1.2 HTML常用标签 2
1.3 HTML表单 3
1.4 HTML和CSS的简单交互 4
第2章 语义化标签 5
2.1 什么是语义化标签 5
2.2 header标签 6
2.3 footer标签 8
2.4 nav标签 9
2.5 article标签 10
2.6 section标签 12
2.7 aside标签 13
第3章 视频和音频 15
3.1 音频播放器——audio 15
3.1.1 audio标签的使用 15
3.1.2 如何获取音频文件的URL 16
3.1.3 autoplay属性 17
3.1.4 loop属性 18
3.1.5 preload属性 18
3.1.6 audio标签支持的音频文件 18
3.2 视频播放器——video 19
3.2.1 video标签的使用 19
3.2.2 video标签的属性 20
3.3 Media事件 23
3.3.1 HTML 5中audio和video的方法 23
3.3.2 HTML 5中audio和video的属性 26
3.3.3 HTML 5中audio和video的事件 36
第4章 存储 38
4.1 本地存储 39
4.2 localStorage对象 39
4.2.1 通过localStorage设置存储元素 40
4.2.2 获取数据 43
4.2.3 删除数据 44
4.2.4 清除数据 45
4.3 sessionStorage 48
4.3.1 存储数据 48
4.3.2 获取数据 50
4.3.3 删除数据 51
4.3.4 清除数据 51
4.4 storage对象 52
4.5 storage事件 53
4.6 应用程序缓存 54
4.7 本地数据库 57
4.7.1 创建/打开数据库 57
4.7.2 执行操作 58
第5章 即时通信 61
5.1 概述 61
5.1.1 Web端即时通信技术 61
5.1.2 实现Web端即时通信的方法 62
5.1.3 四种Web即时通信技术比较 63
5.2 短轮询原理与实现 63
5.2.1 原理 63
5.2.2 实现 63
5.3 长轮询原理与实现 64
5.3.1 原理 64
5.3.2 实现 64
5.4 长连接的原理与实现 66
5.4.1 原理 66
5.4.2 实现 67
5.5 WebSocket原理与前端API 68
5.5.1 原理 68
5.5.2 前端API 68
第6章 Canvas绘图 69
6.1 Canvas基础 69
6.1.1 基本Canvas创建 69
6.1.2 开始在Canvas上绘制元素 71
6.1.3 绘制一条直线 71
6.1.4 为直线设定样式 72
6.1.5 绘制多条直线 73
6.2 使用Canvas绘制图形 76
6.2.1 绘制矩形 76
6.2.2 绘制圆形 78
6.3 图形变换 85
6.4 图形的组合 89
6.4.1 绘制两个图形 89
6.4.2 新图形和原图形之间的关系 90
6.4.3 加色处理 91
6.5 图像处理 91
6.5.1 加载图像 92
6.5.2 图像剪裁 94
6.5.3 像素处理 95
第7章 CSS选择器 97
7.1 基本选择器 97
7.1.1 id选择器 97
7.1.2 class选择器 98
7.1.3 元素选择器 103
7.2 基本选择器综合使用 104
7.2.1 选择器的嵌套 104
7.2.2 基本选择器优先级问题 109
7.2.3 同时设定多个元素样式 110
7.3 伪类选择器 111
7.3.1 状态选择器 111
7.3.2 :before和:after 116
7.4 位置选择器 120
7.4.1 :first-child 120
7.4.2 :last-child 121
7.4.3 :nth-child(n) 122
7.4.4 :nth-of-type(n) 123
7.5 属性选择器 123
7.5.1 [attribute] 123
7.5.2 [attribute=value] 124
7.5.3 [attribute~=value] 125
7.6 其他选择器 126
第8章 元素定位 127
8.1 static 127
8.2 relative 129
8.3 absolute 130
8.4 fixed 132
8.5 float浮动布局 133
第9章 移动元素单位 137
9.1 px 137
9.1.1 需求描述一 138
9.1.2 需求描述二 140
9.2 em 143
9.3 rem 144
9.3.1 需求描述一 145
9.3.2 需求描述二 146
第10章 盒模型 148
10.1 内容 149
10.1.1 text-align 149
10.1.2 line-height 150
10.1.3 字体 152
10.1.4 截断 153
10.2 内边距边界 155
10.3 边框边界 156
10.4 外边距边界 161
第11章 Flex布局——FlexBox 162
第12章 使用CSS3新特性 188
12.1 transform属性 188
12.2 translate方法 189
12.3 rotate方法 194
12.4 scale()方法 196
12.5 skew()方法 197
12.6 transition方法 203
12.7 帧动画 212
第13章 DOM操作 229
13.1 DOM是什么 229
13.2 通过DOM获取文档元素 230
13.2.1 getElementById()方法 230
13.2.2 innerHTML方法 230
13.2.3 getElementsByTagName()方法 233
13.2.4 getElementsByClassName()方法 234
13.3 DOM节点 236
13.3.1 节点之间的关系 236
13.3.2 节点的属性 240
13.4 DOM事件 245
13.4.1 鼠标单击事件onclick 246
13.4.2 表单改变事件onchange() 247
13.4.3 完成加载事件onload 248
第14章 JavaScript对象 249
14.1 数组 249
14.1.1 Array对象的属性 250
14.1.2 Array对象的方法 250
14.1.3 数组遍历 254
14.2 字符串对象 254
14.2.1 String对象的属性 254
14.2.2 String对象的方法 255
14.3 日期 257
14.3.1 初始化一个日期 258
14.3.2 获取日期参数 258
第15章 JavaScript基本语法 261
15.1 开始使用JavaScript 261
15.2 变量 265
15.3 基本数据类型 265
15.4 基本语句 266
15.4.1 if else语句 266
15.4.2 循环语句 267
15.5 函数 267
15.6 对象 268
第16章 Window对象 270
16.1 setInterval()方法和clearInterval()方法 270
16.2 setTimeout()方法和clearTimeout()方法 274
16.3 Location对象 277
第17章 函数 279
17.1 函数的定义 279
17.1.1 初识函数 279
17.1.2 匿名函数 280
17.1.3 自我调用函数 280
17.2 函数调用 281
17.3 函数的作用域 281
17.4 函数的参数 283
第18章 jQuery中的选择器 284
18.1 选取所有元素 284
18.2 基本选择器 288
18.2.1 id选择器 288
18.2.2 class选择器 288
18.2.3 元素选择器 291
18.2.4 组合使用基本选择器 292
18.3 位置选择器 293
18.3.1 选择特殊位置 293
18.3.2 任意位置选择器 295
18.4 属性选择器 297
18.5 表单选择器 299
18.5.1 根据type选择对应的input 299
18.5.2 状态选择器 300
18.6 灵活使用各种选择器 301
第19章 jQuery中的DOM方法 303
19.1 获取上层元素 303
19.1.1 parent()方法 303
19.1.2 parents()方法 305
19.1.3 parentsUntil()方法 306
19.2 获取后代元素 307
19.2.1 children()方法 307
19.2.2 find()方法 309
19.3 选择兄弟节点 310
19.3.1 siblings()方法 310
19.3.2 next()方法、nextAll()方法和nextUntil()方法 312
19.4 jQuery与JavaScript的DOM选择对比 314
19.5 jQuery中其他DOM节点选择方法 315
19.5.1 first()和last() 315
19.5.2 eq() 315
19.5.3 filter()方法和not()方法 316
第20章 jQuery操纵CSS样式 318
20.1 css()方法——直接控制元素样式 318
20.1.1 获取某个元素的CSS属性值 318
20.1.2 设置元素的CSS属性 319
20.2 其他CSS方法 323
20.2.1 和元素尺寸相关的方法 323
20.2.2 和位置相关的方法 324
第21章 jQuery中的动画效果 328
21.1 基本动画效果 328
21.1.1 显示和隐藏 328
21.1.2 淡入和淡出 331
21.1.3 滑动 333
21.2 复杂动画效果 335
21.3 jQuery中的动画队列 342
21.4 停止动画 344
第22章 jQuery中的AJAX 348
22.1 环境搭建 349
22.2 load()方法 350
22.3 $.get()方法和$.post()方法 352
22.3.1 $.get()方法和$.post()方法的原理和使用 352
22.3.2 实战训练 356
22.4 ajax()方法 360
22.5 ajaxStart()和aj axComplete()方法 364
第23章 jQuery Mobile组件 367
23.1 定义一个移动应用界面——page组件 367
23.1.1 指定一个页面 367
23.1.2 为页面划分不同的区域 368
23.2 添加功能按钮——button组件 369
23.2.1 按钮组件的定义方式 369
23.2.2 按钮组件样式设定 371
23.2.3 按钮组 373
23.3 菜单栏 374
23.4 定义可滑动的面板——panel组件 376
23.5 弹框组件 379
23.5.1 定义基本弹框 379
23.5.2 装饰弹窗 381
23.6 在移动应用中添加响应式表格 385
23.6.1 回流表格 385
23.6.2 列切换表格 387
第24章 jQuery Mobile的触摸事件 389
24.1 开始使用jQuery Mobile 390
24.2 jQuery Mobile事件 390
24.3 触摸事件 391
24.3.1 tap——手指单击一次 391
24.3.2 taphold——手指长按事件 393
24.3.3 swipe——滑动事件 394
24.3.4 设备转动事件 396
24.3.5 屏幕滚动事件 398
24.3.6 页面事件 399
第25章 jQuery Mobile表单 401
25.1 jQuery Mobile中表单的基本结构 401
25.2 表单样式 402
25.2.1 隐藏标签内容 402
25.2.2 为输入框添加小图标 403
25.3 表单的种类 404
25.3.1 搜索框 405
25.3.2 滑块输入 405
25.3.3 单选框和复选框 407
第26章 jQuery Mobile列表 410
26.1 简单列表 410
26.2 复杂样式的列表 414
26.2.1 气泡数字 414
26.2.2 列表图标 417
26.2.3 复杂结构的列表 418
26.2.4 为列表添加功能 420
第27章 jQuery Mobile项目结构 425
27.1 基本结构 425
27.2 页面间的过渡 427
27.2.1 淡入过渡——fade 427
27.2.2 翻转过渡——flip 428
27.2.3 抛出效果——flow 429
27.2.4 滑动效果——slide 430
27.2.5 弹窗效果——pop 432
第28章 项目实战:聊天APP的开发 434
28.1 移动界面编写 434
28.1.1 聊天列表页面框架搭建 434
28.1.2 聊天列表制作 435
28.1.3 页面头部和底部的编写 437
28.2 聊天详情页面搭建 439