第1章 说说BOM和DOM 1
1.1 BOM简介 1
1.2 DOM简介 2
1.3 应用场景 3
1.4 如何学习 4
第2章 BOM详解 5
2.1 什么是BOM 5
2.1.1 BOM概述 6
2.1.2 BOM的核心之window对象 6
2.2 window对象全接触 8
2.2.1 window对象的常用属性 9
2.2.2 定时器和周期事件 11
2.2.3 其他常用方法 21
2.2.4 窗口操作、分帧 24
2.3 window下的常用子对象 28
2.3.1 location 28
2.3.2 navigator 32
2.3.3 history 34
2.3.4 screen 35
2.4 HTML5新特性 36
2.4.1 applicationCache对象 36
2.4.2 haschange对象 36
2.5 本章小结 37
2.6 本章习题 37
第3章 JavaScript事件处理 38
3.1 什么是事件 38
3.1.1 事件类型 39
3.1.2 事件源 40
3.1.3 事件处理程序 40
3.2 事件绑定 40
3.2.1 在DOM元素中直接绑定 40
3.2.2 在JavaScript代码中绑定 42
3.2.3 绑定事件监听函数 43
3.3 事件的类型 45
3.3.1 UI事件 45
3.3.2 焦点事件 49
3.3.3 鼠标事件 50
3.3.4 滚轮事件 53
3.3.5 键盘与文本事件 55
3.4 事件对象 56
3.4.1 DOM中的事件对象 56
3.4.2 IE中的事件对象 59
3.5 本章小结 60
3.6 本章习题 61
第4章 什么是DOM 63
4.1 DOM简介 63
4.2 DOM中的D 65
4.3 DOM中的O 66
4.4 DOM中的M 68
4.5 本章小结 70
第5章 DOM可以做什么 71
5.1 通过id获取标签元素 71
5.2 操作标签元素的内容 72
5.3 操作标签元素的属性 74
5.4 操作标签元素的CSS样式 76
5.5 倒计时秒杀活动实例 77
5.6 本章小结 80
5.7 本章习题 80
第6章 DOM节点操作 81
6.1 什么是节点 81
6.2 节点类型 82
6.2.1 元素节点 82
6.2.2 属性节点 84
6.2.3 文本节点 85
6.2.4 节点类型、名字、值速查表 86
6.3 通过文档对象方法获取节点 87
6.3.1 通过id属性获取节点 87
6.3.2 通过标签名字获取节点 88
6.3.3 通过类名获取节点 91
6.3.4 通过name属性值获取节点 92
6.4 通过层级关系获取节点 93
6.4.1 子节点 93
6.4.2 父节点 99
6.4.3 兄弟节点 100
6.4.4 节点的混合操作 102
6.5 节点的其他操作 104
6.5.1 添加节点 104
6.5.2 修改节点 106
6.5.3 删除节点 108
6.6 自封装函数库 109
6.7 QQ空间实例 118
6.8 本章小结 123
第7章 DOM表单相关操作 124
7.1 几种获取表单数据的方式 124
7.1.1 通过id属性获取表单数据 125
7.1.2 通过name属性获取表单数据 126
7.1.3 通过标签名获取表单数据 130
7.2 与表单相关的事件 132
7.2.1 焦点事件 132
7.2.2 onchange(改变)事件 133
7.2.3 表单提交事件 136
7.3 给表单加一些验证 138
7.3.1 验证长度 139
7.3.2 正则匹配验证 140
7.4 几个常见的实例 142
7.4.1 全选,全不选,反选 142
7.4.2 下拉框特效 145
7.4.3 城市级联特效 147
7.4.4 用户注册实例 151
7.5 本章小结 153
第8章 DOM中的Cookie 155
8.1 什么是Cookie 155
8.1.1 Cookie简介 155
8.1.2 Cookie的特点 156
8.1.3 Cookie的用途 157
8.2 如何操作Cookie 157
8.2.1 查看Cookie 158
8.2.2 添加Cookie 159
8.2.3 设置Cookie过期时间 160
8.2.4 修改Cookie 161
8.2.5 删除Cookie 162
8.3 本章小结 163
第9章 DOM对象的尺寸和位置 164
9.1 关于DOM对象的尺寸和位置的介绍 164
9.2 DOM文档对象的尺寸 166
9.2.1 obj.scrollWidth和obj.scrollHeight 166
9.2.2 obj.offsetWidth和obj.offsetHeight、obj.style.width和obj.style.height的联系与区别 167
9.2.3 obj.clientWidth和obj.clientHeight的对比与联系 169
9.3 DOM文档对象的位置 170
9.3.1 obj.offsetTop和obj.offsetLeft、obj.style.top和obj.style.left的对比与联系 170
9.3.2 obj.clientTop和obj.clientLeft 174
9.3.3 obj.scrollTop和obj.scrollLeft 175
9.4 移动端DOM对象的尺寸和位置的运用 176
9.4.1 像素的概念 176
9.4.2 移动端手势库——hammer.js 177
9.4.3 移动端实例1——完成一个置顶效果 178
9.4.4 移动端实例2——完成向左向右滑动导航条实例 181
9.5 本章小结 183
第10章 DOM相关属性和方法 184
10.1 document(文档)对象 184
10.1.1 document对象集合 184
10.1.2 document对象属性 189
10.1.3 document对象方法 192
10.2 element(元素)对象 194
10.2.1 element对象属性 194
10.2.2 element对象方法 208
10.3 attribute(属性)对象 215
10.3.1 attribute对象属性 215
10.3.2 attribute对象方法 216
10.3.3 避免使用的属性和方法 217
10.4 event(事件)对象 218
10.4.1 事件句柄 218
10.4.2 鼠标键盘属性 222
10.4.3 标准event属性和方法 225
10.5 本章小结 230
第11章 DOM实例篇 232
11.1 打字游戏 232
11.1.1 需求分析 233
11.1.2 知识点整理 233
11.1.3 实战 234
11.2 使用JavaScript实现PPT效果 242
11.2.1 需求分析 242
11.2.2 知识点整理 243
11.2.3 实战 244
11.3 自定义鼠标右键菜单 249
11.3.1 需求分析 250
11.3.2 知识点整理 250
11.3.3 实战 251
11.4 放大镜效果 254
11.4.1 需求分析 255
11.4.2 知识点整理 256
11.4.3 实战 256
11.5 拖拽效果 265
11.5.1 需求分析 265
11.5.2 知识点整理 265
11.5.3 实战 266
11.6 淘宝评价效果 272
11.6.1 需求分析 273
11.6.2 知识点整理 273
11.6.3 实战 273
11.7 轮播图效果 278
11.7.1 需求分析 278
11.7.2 知识点整理 280
11.7.3 实战 280