编辑推荐

适读人群:《细说DOM编程》适合有一定javaScript基础的读者学习使用,如果是零基础,建议优先学习本系列图书中的《细说JavaScript语言》。也适合对JavaScript有一定的学习,但对DOM部分比较模糊的读者,通过《细说DOM编程》的学习,您将会理解和使用DOM.《细说DOM编程》为JavaScript的中高级部分,涉及的对象知识和设计模式多一些,还讲解了许多实际项目中的常见的特效的实现。DOM知识是整个JavaScript的核心所在,也是JavaScript知识中的重难点。理解和掌握了DOM知识,我们使用JavaScript会变得更得心应手。

细说DOM编程》适合有一定javaScript基础的读者学习使用,如果是零基础,建议优先学习本系列图书中的《细说JavaScript语言》。也适合对JavaScript有一定的学习,但对DOM部分比较模糊的读者,通过《细说DOM编程》的学习,您将会理解和使用DOM.《细说DOM编程》为JavaScript的中高级部分,涉及的对象知识和设计模式多一些,还讲解了许多实际项目中的常见的特效的实现。DOM知识是整个JavaScript的核心所在,也是JavaScript知识中的重难点。理解和掌握了DOM知识,我们使用JavaScript会变得更得心应手。

内容简介

学习了JavaScript的基本语法,其实和网页并没有关系,要想使用JavaScript这门语言,让它发挥出强大的功能,实现炫酷的网页特效,就必须结合浏览器的BOM和HTML页面的DOM,尤其是DOM。JavaScript*常应用在前端HTML编程中,通过JavaScript让HTML文档变得生动形象,具有可交互性,而这一切都是BOM和DOM的功劳。《细说DOM编程》主要面向具有一定JavaScript语法基础,想让JavaScript发挥更大作用的人群。学习《细说DOM编程》,不需要具备特殊的专业知识,只需熟练掌握“跟兄弟连学HTML5系列教程”的第二《细说DOM编程》《细说JavaScript》的基本部分,就可以跟随《细说DOM编程》一起来学习DOM编程了。

作者简介

兄弟连教育,成立于2006年,专注于IT技术培训,中国PHP培训领导者,以“优秀的教学、严格的管理、职业素质课贯穿始终”闻名业界,现已开设PHP、Java、HTML5、UI、Linux、Python等众多课程,在国内开设有四十余所分校,于2016年9月在国内新三板挂牌上市(股票代码:839467),每年有数十万名学生受益于兄弟连的职业培训、出版书籍、教学视频、网络直播课、院校讲座。
“我们不仅仅是老师,更是学生的梦想守护者与职场引路人。”做一所认认真真的学校,帮助更多的年轻人实现人生价值,是我们的光荣与骄傲。

目录

第1章说说BOM和DOM1
1.1BOM简介1
1.2DOM简介2
1.3应用场景3
1.4如何学习4
第2章BOM详解5
2.1什么是BOM5
2.1.1BOM概述6
2.1.2BOM的核心之window对象6
2.2window对象全接触8
2.2.1window对象的常用属性9
2.2.2定时器和周期事件11
2.2.3其他常用方法21
2.2.4窗口操作、分帧24
2.3window下的常用子对象28
2.3.1location28
2.3.2navigator32
2.3.3history34
2.3.4screen35
2.4HTML5新特性36
2.4.1applicationCache对象36
2.4.2haschange对象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.1UI事件45
3.3.2焦点事件49
3.3.3鼠标事件50
3.3.4滚轮事件53
3.3.5键盘与文本事件55
3.4事件对象56
3.4.1DOM中的事件对象56
3.4.2IE中的事件对象59
3.5本章小结60
3.6本章习题61
第4章什么是DOM63
4.1DOM简介63
4.2DOM中的D65
4.3DOM中的O66
4.4DOM中的M67
4.5本章小结69
第5章DOM可以做什么70
5.1通过id获取标签元素70
5.2操作标签元素的内容71
5.3操作标签元素的属性73
5.4操作标签元素的CSS样式75
5.5倒计时秒杀活动实例76
5.6本章小结79
5.7本章习题79
第6章DOM节点操作80
6.1什么是节点80
6.2节点类型81
6.2.1元素节点81
6.2.2属性节点83
6.2.3文本节点84
6.2.4节点类型、名字、值速查表85
6.3通过文档对象方法获取节点86
6.3.1通过id属性获取节点86
6.3.2通过标签名字获取节点87
6.3.3通过类名获取节点90
6.3.4通过name属性值获取节点91
6.4通过层级关系获取节点92
6.4.1子节点92
6.4.2父节点98
6.4.3兄弟节点99
6.4.4节点的混合操作101
6.5节点的其他操作103
6.5.1添加节点103
6.5.2修改节点105
6.5.3删除节点107
6.6自封装函数库108
6.7QQ空间实例117
6.8本章小结122
第7章DOM表单相关操作123
7.1几种获取表单数据的方式123
7.1.1通过id属性获取表单数据124
7.1.2通过name属性获取表单数据125
7.1.3通过标签名获取表单数据129
7.2与表单相关的事件131
7.2.1焦点事件131
7.2.2onchange(改变)事件132
7.2.3表单提交事件135
7.3给表单加一些验证137
7.3.1验证长度138
7.3.2正则匹配验证139
7.4几个常见的实例141
7.4.1全选,全不选,反选141
7.4.2下拉框特效144
7.4.3城市级联特效147
7.4.4用户注册实例150
7.5本章小结153
第8章DOM中的Cookie154
8.1什么是Cookie154
8.1.1Cookie简介154
8.1.2Cookie的特点155
8.1.3Cookie的用途156
8.2如何操作Cookie156
8.2.1查看Cookie157
8.2.2添加Cookie158
8.2.3设置Cookie过期时间159
8.2.4修改Cookie160
8.2.5删除Cookie161
8.3本章小结162
第9章DOM对象的尺寸和位置163
9.1关于DOM对象的尺寸和位置的介绍163
9.2DOM文档对象的尺寸165
9.2.1obj.scrollWidth和obj.scrollHeight165

9.2.2obj.offsetWidth和obj.offsetHeight、obj.style.width和obj.style.height
的联系与区别166
9.2.3obj.clientWidth和obj.clientHeight的对比与联系168
9.3DOM文档对象的位置169
9.3.1obj.offsetTop和obj.offsetLeft、obj.style.top和obj.style.left
的对比与联系169
9.3.2obj.clientTop和obj.clientLeft173
9.3.3obj.scrollTop和obj.scrollLeft174
9.4移动端DOM对象的尺寸和位置的运用175
9.4.1像素的概念175
9.4.2移动端手势库――hammer.js176
9.4.3移动端实例1――完成一个置顶效果177
9.4.4移动端实例2――完成向左向右滑动导航条实例180
9.5本章小结183
第10章DOM相关属性和方法184
10.1document(文档)对象184
10.1.1document对象集合184
10.1.2document对象属性189
10.1.3document对象方法192
10.2element(元素)对象194
10.2.1element对象属性194
10.2.2element对象方法208
10.3attribute(属性)对象216
10.3.1attribute对象属性216
10.3.2attribute对象方法217
10.3.3避免使用的属性和方法218
10.4event(事件)对象219
10.4.1事件句柄219
10.4.2鼠标键盘属性223
10.4.3标准event属性和方法226
10.5本章小结232

第11章DOM实例篇233
11.1打字游戏233
11.1.1需求分析234
11.1.2知识点整理234
11.1.3实战235
11.2使用JavaScript实现PPT效果244
11.2.1需求分析244
11.2.2知识点整理244
11.2.3实战245
11.3自定义鼠标右键菜单250
11.3.1需求分析251
11.3.2知识点整理251
11.3.3实战252
11.4放大镜效果256
11.4.1需求分析256
11.4.2知识点整理257
11.4.3实战258
11.5拖拽效果266
11.5.1需求分析266
11.5.2知识点整理266
11.5.3实战267
11.6淘宝评价效果273
11.6.1需求分析274
11.6.2知识点整理274
11.6.3实战274
11.7轮播图效果279
11.7.1需求分析279
11.7.2知识点整理281
11.7.3实战281

前言/序言

随着HTML5标准化逐渐成熟,以及互联网的飞速发展和移动端的应用不断创新,再加上微信公众号、小程序的应用飙升,原生APP向WebAPP和混合APP的转变,用户对视觉效果和操作体验的要求越来越高,HTML5成为移动互联网的主要技术,也是目前的主流技术之一。HTML5是超文本标记语言(HTML)的第5次修订,是近年来Web标准的巨大飞跃。Web是一个内涵极为丰富的平台,和以前版本不同的是,HTML5并非仅仅用来表示Web内容,在这个平台上还能非常方便地加入视频、音频、图像、动画,以及与计算机的交互。HTML5的意义在于它带来了一个无缝的网络,无论是PC、平板电脑,还是智能手机,都能非常方便地浏览基于HTML5的各类网站。对用户来说,手机上的APP会越来越少,用HTML5实现的一些应用不需要下载安装,就能立即在手机界面中生成一个APP图标,使用手机中的浏览器来运行,新增的导航标签也能更好地帮助小屏幕设备和视力障碍人士使用。HTML5拥有服务器推送技术,给用户带来了更便捷的实时聊天功能和更快的网游体验。
HTML5对于开发者来说更是福音。HTML5本身是由W3C推荐的,也就意味着每一个浏览器或每一个平台都可以实现,这样可以节省开发者花在浏览器页面展现兼容性上的时间。另外,HTML5是Web前端技术的一个代名词,其核心技术点还是JavaScript。如HTML5的服务器推送技术,再结合JavaScript编程,能够帮助我们实现服务器将数据“推送”到客户端的功能,客户端与服务器之间的数据传输将更加高效。基于SVG、Canvas、WebGL及CSS3的3D功能,会让用户惊叹在浏览器中所呈现的各种炫酷的视觉效果。以往在iPhoneiPad上不支持的Flash将来都有可能通过HTML5华丽地呈现在用户的iOS设备上。
本套图书介绍
为了让前端初学者少走弯路,快速而轻松地学习HTML5和JavaScript编程,我们结合新技术和兄弟连多年的教学经验积累,再通过对企业实际应用的调研,编写了一整套HTML5系列图书,共5本,包括《细说网页制作》、《细说JavaScript》、《细说DOM编程》、《细说AJAX与jQuery》和《细说HTML5高级API》,每一《细说DOM编程》都是不同层次的完整内容,不仅给初学者安排了循序渐进的学习过程,也便于不同层次的读者选择;既适合没有编程基础的前端初学者作为入门教程,也适合正在从事前端开发的人员作为技术提升参考资料。本套图书编写的初衷是为了紧跟新技术和兄弟连IT教育HTML5学科的教学发展,作为本校培训教程使用,也可作为大、中专院校和其他培训学校的教材使用。同时,对于前端开发爱好者,《细说DOM编程》也有较高的参考价值。
《细说网页制作》
作为“跟兄弟连学HTML5系列教程”的第一《细说DOM编程》,主要带领HTML5初学者一步步完成精美的页面制作。《细说DOM编程》内容包括HTML应用、CSS应用、HTML5的新技术、各种主流的页面布局方法和一整套页面开发实战技能,让读者可以使用多种方法完成PC端的页面制作、移动端的页面制作,以及响应式布局页面的制作,不仅能做出页面,还能掌握如何做好页面。
《细说JavaScript》
这是“跟兄弟连学HTML5系列教程”的第二《细说DOM编程》,在学习《细说DOM编程》之前需要简单了解一下第一《细说DOM编程》中的HTML和CSS内容。《细说DOM编程》内容是纯JavaScript语言部分,和浏览器无关,包括JavaScript基本语法、数据类型、流程控制、函数、对象、数组和内置对象,所有知识点都是为了学习DOM编程、Node.js、JS框架等JavaScript高级部分做准备。《细说DOM编程》虽然是JavaScript的基础部分,但《细说DOM编程》内容都需要牢牢掌握,才能更好地晋级学习。
《细说DOM编程》
这是“跟兄弟连学HTML5系列教程”的第三《细说DOM编程》,《细说DOM编程》内容都和浏览器相关,在学习《细说DOM编程》之前需要掌握前两《细说DOM编程》的技术。《细说DOM编程》内容包括BOM和DOM两个关键技术点,并且全部以PC端和移动端的Web特效为主线,以实例贯穿全部知识点进行讲解。学完《细说DOM编程》的内容,不仅可以用JavaScript原生的语法完成页面的特效编写,也为学习后面的JavaScript框架课程做好了准备。《细说DOM编程》内容是Web前端课程的核心,需要读者按书中的实例多加练习,能熟练地进行浏览器中各种特效程序的开发。
《细说AJAX与jQuery》
这是“跟兄弟连学HTML5系列教程”的第四《细说DOM编程》,其内容是建立在第三《细说DOM编程》之上的,包括服务器端开发语言Node.js、异步传输AJAX和jQuery框架三部分。其中,Node.js部分是为了配合AJAX完成客户端向服务器端的异步请求;jQuery是目前主流的前端开发框架,其目的是让开发者用尽量少的代码完成尽可能多的功能。AJAX和jQuery是目前前端开发的必备技术,《细说DOM编程》从基本应用开始学起,用实例分解方式讲解技术点,让读者完全掌握这些必备的技能。
《细说HTML5高级API》
这是“跟兄弟连学HTML5系列教程”的第五《细说DOM编程》,是前端开发的应用部分,主要讲解HTML5高级API的相关内容,包括画布、Web存储、应用缓存、服务器发送事件等,可以用来开发移动端的WebAPP项目。《细说DOM编程》重点讲解了Cordova技术,它提供了一组与设备相关的API,通过这组API,移动应用就能够通过JavaScript访问原生的设备功能,如摄像头、麦克风等。Cordova还提供了一组统一的JavaScript类库,以及与这些类库所用的设备相关的原生后台代码。通过编写HTML5程序,再用Cordova打包出混合APP的项目,可以安装在Android和iOS等设备上。
本套图书的特点
1.内容丰富,由浅入深
本套图书在内容组织上本着“起点低,重点高”的原则,内容几乎涵盖前端开发的所有核心技能,对于某一方面的介绍再从多角度进行延伸。为了让读者更加方便地学习本套图书的内容,在每《细说DOM编程》的每个章节中都提供了一些实际的项目案例,便于读者在实践中学习。
2.结构清晰,讲解到位
每个章节都环环相扣,为了让初学者更快地上手,本套图书精心设计了学习方式。对于概念的讲解,都是先用准确的语言总结概括,再用直观的图示演示过程,接着以详细的注释解释代码,最后用形象的比喻帮助记忆。对于框架部分,先提取核心功能快速掌握框架的应用,再用多个对应的实例分别讲解每个模块,最后逐一讲解框架的每个功能。对于代码部分,先演示程序效果,再根据需求总结出涉及的知识点逐一讲解,然后组合成实例,最后总结分析重点功能的逻辑实现。
3.完整案例,代码实用
为了便于读者学习,本套图书的全部案例都可以在商业项目中直接运用,丰富的案例几乎涵盖前端应用的各个方面。所有的案例都可以通过对应的二维码扫描,直接在手机上查看运行结果,读者可以通过仔细研究其效果,最大限度地掌握开发技术。另外,扫描每个章节中的资源下载二维码,可以获得下载链接,点击链接即可获取所有案例的完整源代码。
4.视频精致,立体学习
字不如表,表不如图,图不如视频,每《细说DOM编程》都配有详细讲解的教学视频,由兄弟连名师精心录制,不仅能覆盖书中的全部知识点,而且远远超出书中的内容。通过参考本套图书,再结合教学视频学习,可以加快对知识点的掌握,加快学习进度。读者可以扫描每个章节中提供的教学视频二维码,获取视频列表直接在手机上观看,也可以直接登录“猿代码(www.ydma.cn)”平台在PC端观看,逐步掌握每个技术点。
5.电子教案,学教通用
每《细说DOM编程》都提供了和章节配套的电子教案(PPT)。对于学生来说,可以作为学习笔记使用,是知识点的浓缩和重点内容的记录。由于本套图书可以作为高校相关课程的教材或课外辅导书,所以可以方便教师教学使用。读者可以通过扫描对应章节的二维码,下载或在线观看电子教案。《细说DOM编程》也为部分章节提供了一些扩展文章,也可以通过扫描二维码的方式下载或在线观看。
6.实时测试,寓学于练
每章最后都提供了专门的测试习题,供读者检验所学知识是否牢固掌握。通过扫描测试习题对应的二维码,可以查看答案和详细的讲解。
7.技术支持,服务到位
为了帮助读者学到更多的HTML5技术,在兄弟连论坛(bbs.itxdl.cn)中还可以下载常用的技术手册和所需的软件。笔者及兄弟连IT教育(新三板上市公司,股票代码:839467)的全体讲师和技术人员也会及时回答读者的提问,与读者进行在线技术交流,并为读者提供各类技术文章,帮助读者提高开发水平,解决读者在开发中遇到的疑难问题。
本套图书的读者群:
有审美,喜欢编程,并且怀揣梦想的有志青年。
打算进入前端编程大门的新手,阶梯递进,由浅入深。
专业培训机构前端课程授课教材,有体系地掌握全部前端技能。
各大院校的在校学生和相关的授课老师,课件、试题、代码丰富实用。
前端页面、WebAPP、网页游戏、微信公众号等开发的前沿程序员,是专业人员的开发工具。
其他方向的编程爱好者,需要前端技术配合,或转向前端开发的程序员。


其他推荐