文件名称:jQuery权威指南-源代码
文件大小:6.36MB
文件格式:7Z
更新时间:2016-12-01 08:23:14
jquery
书名:jQuery权威指南(系统介绍jQuery方方面面,囊括118个实例和2个综合案例,实战性强) 作者:陶国荣 著 书号:978-7-111-32543-7 定价:59.00元 出版社:机械工业出版社华章公司 出版时间:2011年1月 编辑推荐: 内容全面,系统地讲解了jQuery方方面面 实战性强,囊括118个实例和2个综合案例 资深专家亲自执笔,4大专业社区一致鼎力推荐 内容简介: jQuery是继Prototype之后的又一个优秀JavaScript框架,深受全球开发者欢迎,已经成为Web开发领域的事实标准。jQuery以其轻巧的体积、强大的选择器、出色的DOM封装、丰富的插件支持使得广大的Web前端开发者得心应手,极大地提高了他们的开发效率;此外,jQuery中完善的Ajax功能、行为与结构层的分离、可靠的事件处理机制也同样使得Web后端开发者如虎添翼,使用少量代码就可以实现复杂的功能。特别是新版本1.4.x的发布,jQuery在功能和性能方面都有质的提升,极大地满足了广大开发者提出的更高要求。因此,为了提高Web开发的效率和强化Web应用的功能,熟练使用jQuery是Web开发者必备的一种能力。 《jQuery权威指南》由国内资深Web技术专家亲自执笔,4大Web开发社区一致鼎力推荐,权威性毋庸置疑。 内容新颖,基于jQuery的最新版本撰写,所有新功能和新特性一览无余;内容全面,不仅讲解了jQuery技术本身的方方面面,而且还包括与jQuery相关的扩展知识;实战性强,不仅每个知识点都配有完整的小案例,而且还有两个综合性的案例。本书不仅能满足读者系统学习理论知识的需求,还能满足需要充分实践的需求。 全书一共分为11章,首先以示例的方式对jQuery做了全局性的介绍,以便于为读者建立jQuery的大局观,这对初学者尤为重要;其次详细讲解了jQuery的各种选择器、jQuery操作DOM的方法、jQuery中的事件与应用、jQuery中的动画和特效、Ajax在jQuery中的应用,以及各种常用的jQuery插件的使用方法和技巧,所有这些知识点都配有完整的示例(包括需求分析、代码实现和结果展示三部分);再接着对jQuery UI和jQuery实用工具函数等扩展知识,以及jQuery的开发技巧与性能优化等方面的重要知识做了详尽的阐述;最后以两个具有代表性的综合案例结束全书,希望能帮助读者将前面所学的理论知识真正贯穿于实践中,迅速进入jQuery的殿堂。 作者简介: 陶国荣,资深Web技术专家,有10余年开发经验,是国内较早专业从事Web开发的一线技术人员和培训讲师。醉心于对JavaScript、jQuery和Ajax等Web开发技术的研究与实践,并长期专注于HTML页面的优化与用户体验的研究,在页面框架搭建、数据流向分析、页面静态优化方面拥有丰富的实践经验。此外,他还是微软技术方面的专家,精通C#、ASP.NET 和SQL Server等技术,出版相关著作多部。 媒体推荐: jQuery的发展之迅速和取得的成功之巨大是其他所有开发框架都难以企及的,它已经成为Web开发者必备的核心技能之一。如果你尚未掌握jQuery或功力还不够,推荐你认真阅读这本书并付诸实践,与同类的jQuery图书相比,它有3大优势:内容非常全面,几乎包含jQuery的所有内容;基于jQuery的最新版本撰写,所有新功能特性一览无余;实战性极强,不仅有118个小型案例,而且还有两个综合案例。——jQuery中文社区 jQuery因为使用简单、功能强大、插件丰富而深受Web开发者青睐。《jQuery权威指南》不仅完整地呈现了jQuery本身所有的功能,而且讲解了jQuery UI等扩展功能;更值得一提的是,还包括最佳实践和性能优化方面的技巧,内容全面,结构合理。除此之外,本书还包括大量的实例,不仅每个知识点都配有小例子,而且还有两个综合性的案例。对于初学者而言,本书应该是学习jQuery的首选。——jQuery中文用户组 jQuery因为易于使用和功能强大著称,是所有Web开发者应该掌握的一种利器,初学者如何才能快速而有效地掌握jQuery呢?最好的方法莫过于一边学习理论,一边动手实践这些理论,本书就是按照这种思路为读者打造的,强烈推荐。——JavaScript开发者社区 jQuery从众多的Ajax框架中脱颖而出,已经成为Web开发领域的事实标准。《jQuery权威指南》除了理论知识丰富而全面外,它还有一个最大的特点就是注重实战,每个知识点都有一个完整的案例,包括需求分析、代码实现和结果展示三个部分,而且还包含两个综合性的案例,它的实践性之强是目前所有同类书都不具备的,恰好这一点又是初学者最需要的。如果能阅读本书并付诸实践,进入jQuery开发的佳境便是指日可待的事情了。——Ajax中国 前 言 “工欲善其事,必先利其器”。作为一名从事Web开发多年的工作者,我对每一种新技术的出现与应用都充满了渴望与期待,渴望它能解决现存疑难,进一步提高程序开发的效率;期待它能超越旧俗,引领技术未来的发展方向。近年来,Web开发领域的新技术和新工具层出不穷,它们的出现极大地推动了Web开发技术的发展,其中jQuery的诞生在Web技术的发展进程中具有划时代的意义。 jQuery发布于2006年,它因为易于使用、功能强大、展现优雅、兼容性极佳而迅速赢得了Web开发者的钟爱,不断地吸引着全球开发者社区的技术爱好者、精英和专家们加入其阵营。这也使得它在众多的JavaScript框架中脱颖而出,几近成为Web开发领域的事实标准。恰好是在2006年,jQuery也深深地吸引了我,令我从此深陷其中。 随着Web开发技术的发展,以及用户对应用体验的要求日益提高,当我们要开发一个Web应用时,不仅仅只是要考虑其功能是否足够完备,更重要的是要考虑如何才能提高用户的体验满意度。这是理性的回归,也是Web开发技术发展的必然趋势,而jQuery恰恰是满足这一理性需求的坚实利刃。 虽然jQuery使用简单,但它毕竟是一门新的技术,与传统的JavaScript在性能与语法上存在诸多差异,需要相应的书籍来引导开发者们迅速而有效地掌握它,并能真正付诸实践。综观现在已经出版的中文类jQuery图书,不是简单的概念性介绍,就是缺乏真正的实践指导,而且版本相对陈旧。为了让所有还没有完全掌握jQuery技术的开发者能迅速步入jQuery的殿堂,本书诞生了,相信它不会让你失望。 本书特点 与国内目前已经出版的同类书相比较,本书具有以下几个独有的特点: 基于jQuery的最新版本撰写,完美地展现了jQuery最新版本的功能和特性。 内容全面、丰富、翔实,不仅由浅入深地讲解了jQuery的所有必备基础知识,还介绍了jQuery UI等扩展知识以及jQuery开发中的技巧与性能优化方面的高级知识。 本书极其注重实战,因为动手实践才是掌握一门新技术的最有效途径。不仅书中的每一个小知识点都配有精心选择的小案例(总共100多个),而且还有两个非常实用的综合性案例。所有案例的讲解都非常详细,不仅有功能需求分析和完整实现代码,而且还有最终效果的展示,更重要的是,将所有理论知识都巧妙地贯穿于其中,非常易于读者理解。如果读者能在阅读本书的过程中逐一亲手实现这些案例,在实际开发中应该就具备相当的动手能力了。 本书面向的读者 本书适合所有希望迅速掌握jQuery并将之付诸实践的Web开发者阅读。 如何阅读本书 由于本书的结构是层进式的,章节之间有一定的关联,因此建议读者按章节的编排顺序逐章阅读。但在阅读本书的示例时,请尽量不要照抄书中的所有示例,而是重在理解代码的实现思路,自己动手开发相似功能的应用,并逐步完善其功能,这样才能真正领会示例所反映出的jQuery技术的理论本质。 联系作者 希望这部耗时数月、承载了我近4年jQuery开发心得和体会的拙著能给每一位阅读过它的读者带来技术上的提升和思路上的启发。非常希望能借本书出版的机会与国内热衷于jQuery技术的开发者交流,如果大家想联系我,欢迎给我发邮件:tao_guo_rong@163.com。 致谢 本书能顺利出版,首先要感谢机械工业出版社华章分社的编辑们,尤其是杨福川编辑。正是由于他们在我写作的整个过程中不断地给予专业的指导,才使得我整体的创作思路不断被提升和改进,使本书能保质保量地完成。同时,我还要感谢我的家人,正是他们的理解与默默支持,才使得我能全心写作、顺利完成本书的编写。 陶国荣 2010年11月 目 录 前 言 第1章 jQuery开发入门/1 1.1 jQuery概述/2 1.1.1 认识jQuery /2 1.1.2 jQuery基本功能/2 1.1.3 搭建jQuery开发环境/3 1.1.4 编写第一个简单的jQuery应用/3 1.1.5 jQuery程序的代码风格/5 1.2 jQuery的简单应用/7 1.2.1 jQuery访问DOM对象/7 1.2.2 jQuery控制DOM对象/7 1.2.3 jQuery控制页面CSS /9 1.3 本章小结/11 第2章 jQuery 选择器/12 2.1 jQuery选择器概述/13 2.1.1 什么是选择器/13 2.1.2 选择器的优势/13 2.2 jQuery选择器详解/17 2.2.1 基本选择器/18 2.2.2 层次选择器/20 2.2.3 简单过滤选择器/22 2.2.4 内容过滤选择器/25 2.2.5 可见性过滤选择器/27 2.2.6 属性过滤选择器/28 2.2.7 子元素过滤选择器/30 2.2.8 表单对象属性过滤选择器/32 2.2.9 表单选择器/34 2.3 综合案例分析—导航条在项目中的应用/37 2.3.1 需求分析/37 2.3.2 效果界面/38 2.3.3 功能实现/38 2.3.4 代码分析/40 2.4 本章小结/41 第3章 jQuery操作DOM /42 3.1 DOM基础/43 3.2 访问元素/44 3.2.1 元素属性操作/45 3.2.2 元素内容操作/49 3.2.3 获取或设置元素值/51 3.2.4 元素样式操作/53 3.3 创建节点元素/58 3.4 插入节点/60 3.4.1 内部插入节点方法/60 3.4.2 外部插入节点方法/64 3.5 复制节点/66 3.6 替换节点/68 3.7 包裹节点/69 3.8 遍历元素/71 3.9 删除元素/73 3.10 综合案例分析—数据删除和图片预览在项目中的应用/75 3.10.1 需求分析/75 3.10.2 效果界面/75 3.10.3 功能实现/77 3.10.4 代码分析/80 3.11 本章小结/81 第4章 jQuery中的事件与应用/82 4.1 事件机制/83 4.2 页面载入事件/85 4.2.1 ready()方法的工作原理/85 4.2.2 ready()方法的几种相同写法/86 4.3 绑定事件/86 4.4 切换事件/90 4.4.1 hover()方法/90 4.4.2 toggle()方法/93 4.5 移除事件/94 4.6 其他事件/96 4.6.1 方法one() /97 4.6.2 方法trigger () /98 4.7 表单应用/100 4.7.1 文本框中的事件应用/100 4.7.2 下拉列表框中的事件应用/104 4.8 列表应用/109 4.9 网页选项卡的应用/114 4.10 综合案例分析—删除数据时的提示效果在项目中的应用/116 4.10.1 需求分析/116 4.10.2 效果界面/117 4.10.3 功能实现/118 4.10.4 代码分析/121 4.11 本章小结/123 第5章 jQuery的动画与特效/124 5.1 显示与隐藏/125 5.1.1 show()与hide()方法/125 5.1.2 动画效果的show()与hide()方法/126 5.1.3 toggle()方法/128 5.2 滑动/131 5.2.1 slideDown()与slideUp方法/131 5.2.2 slideToggle()方法/134 5.3 淡入淡出/135 5.3.1 fadeIn()与fadeOut()方法/135 5.3.2 fadeTo()方法/137 5.4 自定义动画/139 5.4.1 简单的动画/140 5.4.2 移动位置的动画/141 5.4.3 队列中的动画/144 5.4.4 动画停止和延时/146 5.5 动画效果综述/148 5.5.1 各种动画方法说明/148 5.5.2 使用animate()方法代替其他动画效果/148 5.6 综合案例分析—动画效果浏览相册中的图片/149 5.6.1 需求分析/149 5.6.2 效果界面/149 5.6.3 功能实现/151 5.6.4 代码分析/155 5.7 本章小结/158 第6章 Ajax在jQuery中的应用/159 6.1 加载异步数据/160 6.1.1 传统的JavaScript方法/160 6.1.2 jQuery中的load()方法/162 6.1.3 jQuery中的全局函数getJSON()/164 6.1.4 jQuery中的全局函数getScript()/166 6.1.5 jQuery中异步加载XML文档/168 6.2 请求服务器数据/170 6.2.1 $.get()请求数据/170 6.2.2 $.post()请求数据/172 6.2.3 serialize()序列化表单/175 6.3 $.ajax()方法/177 6.3.1 $.ajax()的基本概念/177 6.3.2 $.ajaxSetup()设置全局Ajax /181 6.4 Ajax中的全局事件/184 6.4.1 Ajax全局事件的基本概念/184 6.4.2 ajaxStart与ajaxStop全局事件/184 6.5 综合案例分析—用Ajax实现新闻点评即时更新/187 6.5.1 需求分析/187 6.5.2 效果界面/187 6.5.3 功能实现/189 6.5.4 代码分析/193 6.6 本章小结/196 第7章 jQuery常用插件/197 7.1 jQuery插件概述/198 7.2 验证插件validate /198 7.3 表单插件form /202 7.4 Cookie插件cookie /205 7.5 搜索插件AutoComplete /209 7.6 图片灯箱插件notesforlightbox /213 7.7 右键菜单插件contextmenu /216 7.8 图片放大镜插件jqzoom /222 7.9 自定义jQuery插件/224 7.9.1 插件的种类/225 7.9.2 插件开发要点/225 7.9.3 开发插件示例/226 7.10 综合案例分析—使用uploadify插件实现文件上传功能 /232 7.10.1 需求分析/232 7.10.2 效果界面/233 7.10.3 功能实现/234 7.10.4 代码分析/236 7.11 本章小结/241 第8章 jQuery UI插件/242 8.1 认识jQuery UI /243 8.2 jQuery UI交互性插件/244 8.2.1 拖曳插件/244 8.2.2 放置/247 8.2.3 排序插件/250 8.3 jQuery UI微型插件/252 8.3.1 折叠面板插件/252 8.3.2 日历/255 8.3.3 选项卡插件/260 8.3.4 对话框插件/263 8.4 综合案例分析—使用jQuery UI插件以拖动方式管理相册/269 8.4.1 需求分析/269 8.4.2 效果界面/269 8.4.3 功能实现/270 8.4.4 代码分析/274 8.5 本章小结/277 第9章 jQuery实用工具函数/278 9.1 什么是工具函数/279 9.2 工具函数的分类/279 9.2.1 浏览器的检测/279 9.2.2 数组和对象的操作/284 9.2.3 字符串操作/291 9.2.4 测试操作/293 9.2.5 URL操作/297 9.3 工具函数的扩展/299 9.4 其他工具函数—$.proxy() /302 9.5 综合案例分析—使用jQuery扩展工具函数实现对字符串指定类型的检测/305 9.5.1 需求分析/305 9.5.2 效果界面/305 9.5.3 功能实现/306 9.5.4 代码分析/309 9.6 本章小结/311 第10章 jQuery性能优化与最佳实践/312 10.1 优化选择器执行的速度/313 10.1.1 优先使用ID与标记选择器/313 10.1.2 使用jQuery对象缓存/314 10.1.3 给选择器一个上下文/315 10.2 处理选择器中的不规范元素标志/317 10.2.1 选择器中含有特殊符号/317 10.2.2 选择器中含有空格符号/318 10.3 优化事件中的冒泡现象/319 10.4 使用data()方法缓存数据/321 10.5 解决jQuery库与其他库的冲突/326 10.5.1 jQuery在其他库前导入/326 10.5.2 jQuery在其他库后导入/328 10.6 使用子查询优化选择器性能/330 10.7 减少对DOM元素直接操作/332 10.8 正确区分DOM对象与jQuery对象/334 10.8.1 DOM对象与jQuery对象的定义/334 10.8.2 DOM对象与jQuery对象的类型转换/335 10.9 本章小结/337 第11章 综合案例开发/338 案例1:切割图片/339 案例2:在线聊天室/349 本章小结/365 示例目录 第1章 jQuery开发入门/1 示例1-1 编写第一个简单的jQuery程序/4 示例1-2 jQuery事件的链式写法/5 示例1-3 控制DOM对象/7 示例1-4 jQuery控制CSS样式/10 第2章 jQuery 选择器/12 示例2-1 使用JavaScript实现隔行变色/13 示例2-2 使用jQuery选择器实现隔行变色/15 示例2-3 使用JavaScript输出文字信息/16 示例2-4 使用jQuery输出文字信息/17 示例2-5 使用jQuery基本选择器选择元素/18 示例2-6 使用jQuery层次选择器选择元素/20 示例2-7 使用jQuery基本过滤选择器选择元素/22 示例2-8 使用jQuery内容过滤选择器选择元素/25 示例2-9 使用jQuery可见性过滤选择器选择元素/27 示例2-10 使用jQuery属性过滤选择器选择元素/28 示例2-11 使用jQuery子元素过滤选择器选择元素/30 示例2-12 通过表单对象属性过滤选择器获取表单对象/32 示例2-13 使用jQuery表单过滤选择器获取元素/35 综合案例分析—导航条在项目中的应用/37 第3章 jQuery操作DOM /42 示例3-1 创建一个DOM页面文档/43 示例3-2 通过attr(name)方法获取元素的属性/45 示例3-3 设置元素的属性(一)/46 示例3-4 设置元素的属性(二)/48 示例3-5 设置或获取元素的内容/50 示例3-6 设置或获取元素的值/51 示例3-7 直接设置元素样式值/54 示例3-8 增加CSS类别/55 示例3-9 类别切换/57 示例3-10 动态创建节点元素/59 示例3-11 插入节点(一)/62 示例3-12 插入节点(二)/63 示例3-13 外部插入节点/65 示例3-14 复制元素节点/66 示例3-15 替换元素节点/68 示例3-16 包裹元素节点/70 示例3-17 遍历元素/72 示例3-18 删除元素/73 综合案例分析—数据删除和图片预览在项目中的应用/75 第4章 jQuery中的事件与应用/82 示例4-1 事件中的冒泡现象/83 示例4-2 用bind方法绑定事件/87 示例4-3 用映射方式绑定不同的事件/88 示例4-4 用hover方法绑定事件/91 示例4-5 用toggle方法绑定事件/93 示例4-6 用unbind方法移除事件/94 示例4-7 用one方法绑定事件/97 示例4-8 用trigger方法绑定事件/98 示例4-9 文本框中的事件应用/100 示例4-10 下拉列表框中的事件应用/104 示例4-11 列表中的导航菜单应用/109 示例4-12 网页选项卡的应用/114 综合案例分析—删除数据时的提示效果在项目中的应用/116 第5章 jQuery的动画与特效/124 示例5-1 show()与hide()方法简介125 示例5-2 动画效果的show()与hide()方法127 示例5-3 toggle()方法的使用/129 示例5-4 slideDown()与slideUp()方法/132 示例5-5 slideToggle()方法/134 示例5-6 fadeIn()和fadeOut()方法/136 示例5-7 fadeTo()方法/138 示例5-8 简单的动画/140 示例5-9 移动位置的动画/142 示例5-10 队列中的动画/144 示例5-11 动画停止和延时/146 综合案例分析—动画效果浏览相册中的图片/149 第6章 Ajax在jQuery中的应用/159 示例6-1 传统的JavaScript方法实现Ajax功能/160 示例6-2 load()方法实现异步获取数据/162 示例6-3 全局函数getJSON()实现异步获取数据/164 示例6-4 全局函数getScript()实现异步获取数据/166 示例6-5 全局函数get()实现异步获取XML文档数据/168 示例6-6 全局函数get ()向服务器请求数据/171 示例6-7 全局函数post ()向服务器请求数据/173 示例6-8 serialize()序列化表单/175 示例6-9 用$.ajax()方法发送请求/178 示例6-10 $.ajaxSetup()方法全局设置Ajax /181 示例6-11 jQuery中的全局事件/185 综合案例分析—用Ajax实现新闻点评即时更新/187 第7章 jQuery常用插件/197 示例7-1 验证插件的使用/199 示例7-2 表单插件的使用/203 示例7-3 cookie插件的使用/206 示例7-4 搜索插件的使用/209 示例7-5 图片灯箱插件的使用/213 示例7-6 右键菜单插件的使用/217 示例7-7 图片放大镜插件的使用/222 示例7-8 对象级别插件的开发/226 示例7-9 类级别插件的开发/229 综合案例分析—使用uploadify插件实现文件上传功能 /232 第8章 jQuery UI插件/242 示例8-1 使用draggable插件实现对象的拖曳操作/245 示例8-2 使用droppable插件实现对象的放置操作/247 示例8-3 使用sortable插件实现列表中表项的拖曳排序操作/250 示例8-4 使用accordion插件实现页面中多区域的折叠操作/253 示例8-5 使用datepicker插件实现日期选择的基本操作/256 示例8-6 使用datepicker插件实现分段时间的选择/258 示例8-7 使用tabs插件展示选项卡的基本功能/261 示例8-8 使用dialog插件弹出提示和确定信息对话框/264 综合案例分析—使用jQuery UI插件以拖动方式管理相册/269 第9章 jQuery实用工具函数/278 示例9-1 browser对象的使用/280 示例9-2 boxModel对象的使用/282 示例9-3 $.each()函数遍历数组/284 示例9-4 $.each()函数遍历对象/285 示例9-5 $. grep()函数筛选数据/287 示例9-6 $. map()函数变更数据/288 示例9-7 $.inArray()函数搜索数据/290 示例9-8 $.trim()函数除掉字符串左右两边的空格符/292 示例9-9 $.isEmptyObject()函数的使用/293 示例9-10 $.isPlainObject ()函数的使用/295 示例9-11 $.contains()函数的使用/296 示例9-12 使用函数$.param()对数组进行序列化/298 示例9-13 使用函数$.extend()扩展工具函数/300 示例9-14 使用函数$.proxy()改变事件函数的作用域/302 综合案例分析—使用jQuery扩展工具函数实现对字符串指定类型的检测/305 第10章 jQuery性能优化与最佳实践/312 示例10-1 在指定的查找范围内获取DOM元素/315 示例10-2 选择器中含有空格符与不含空格符的区别/318 示例10-3 事件中的target方法优化冒泡现象/320 示例10-4 使用data()方法在元素上存取移除数据/322 示例10-5 使用data()方法在元素上存取移除JSON格式的数据/323 示例10-6 解决jQuery库先于其他库导入时,变量“$”的使用权问题/326 示例10-7 解决jQuery库后于其他库导入时,变量“$”的使用权问题/328 示例10-8 使用子查询优化选择器性能/330 示例10-9 减少对DOM元素直接操作/332 示例10-10 DOM对象与jQuery对象的类型转换/335 第11章 综合案例开发/338 案例1:切割图片/339 案例2:在线聊天室/349