jQuery基础教程
分類: 图书,计算机/网络,程序设计,其他,
作者: (美)查弗,(美)斯威德伯格著,李松峰等译
出 版 社: 人民邮电出版社
出版时间: 2008-7-1字数: 458000版次: 1页数: 296印刷时间: 2008/07/01开本: 16开印次: 1纸张: 胶版纸I S B N : 9787115181107包装: 平装编辑推荐
全球第一部jQuery著作,Amazon全五星盛誉,jQuery官方网站推荐。
jQuery是功能强大却又简洁明快的轻量级JavaScript库,出自名家之手。因为在DOM操作、事件处理、Ajax特性以及动画特效等方面的出色表现,它迅速从众多JavaScript库中脱颖而出,成为一颗闪亮的明星。
本书是第一本全面深入介绍jQuery的著作,源自著名jQuery资源网站LeamingjQuery.com,深得业界好评。从中你不仅能够学到jQuery的基本知识,还能领略大量堪称典范的实例和JavaScript编程最佳实践。
内容简介
本书以通俗易懂的方式介绍了jQuery的基本概念,主要包括jQuery的选择符、事件、特效、DOM操作、AJAX、表格操作、表单函数、拖曳与旋转和插件等内容,最后几章以实例操作为主,在前面内容的基础上,提出了常见的客户端实际问题并给出了其解决方案。
本书是一本注重理论与实践结合的基础教程,适合Web开发人员阅读和参考。
作者简介
Jonathan Chaffer资深web专家,Structure互动公司CTO。著名jQuery资源站LearningjQuery.com创始人之一。他还是著名的开源CMS项目Drupal的核心开发者,开发了广受欢迎的模块Content Construction Kit(内容构建工具包)并大幅修改了菜单系统。
目录
第1章jQuery入门
1.1jQuery能做什么
1.2jQuery为什么如此出色
1.3第一个jQuery文档
1.3.1下载jQuery
1.3.2设置HTML文档
1.3.3编写jQuery代码
1.4小结
第2章选择符——取得你想要的一切
2.1DOM
2.2工厂函数$()
2.3CSS选择符
2.4XPath选择符
2.5自定义选择符
2.6DOM遍历方法
2.7访问DOM元素
2.8小结
第3章事件——扣动扳机
3.1在页面加载后执行任务
3.1.1代码执行的时机选择
3.1.2基于一个页面执行多个脚本
3.1.3缩短代码的简写方式
3.2简单的事件
3.2.1简单的样式转换器
3.2.2简写的事件
3.3复合事件
3.3.1显示和隐藏高级特性
3.3.2突出显示可单击的项
3.3.3事件的旅程
3.3.4事件冒泡的副作用
3.4限制和终止事件
3.4.1阻止事件冒泡
3.4.2移除事件处理程序
3.5模仿用户操作
3.6小结
第4章效果——为操作添加艺术性
4.1修改内联CSS
4.2基本的隐藏和显示
4.3效果和速度
4.4多重效果
4.4.1构建具有动画效果的show()
4.4.2创建一种自定义的动画效果
4.4.3理解数字的含义
4.4.4改进自定义动画效果
4.5并发与排队效果
4.5.1处理一组元素
4.5.2处理多组元素
4.6简单概括
4.7小结
第5章DOM操作——基于命令改变页面
5.1操作属性
5.2插入新元素
5.3移动元素
5.3.1标注、编号和链接到上下文
5.3.2插入脚注
5.4包装元素
5.5复制元素
5.5.1复制的深度
5.5.2通过复制创建突出引用
5.6DOM操作方法的简单归纳
5.7小结
第6章AJAX——让网站与时俱进
6.1基于请求加载数据
6.1.1追加HTML
6.1.2操作JavaScript对象
6.1.3加载XML文档
6.2选择数据格式
6.3向服务器传递数据
6.3.1执行GET请求
6.3.2执行POST请求
6.3.3序列化表单
6.4关注请求
6.5AJAX和事件
6.5.1限定事件绑定函数的作用域
6.5.2利用事件冒泡
6.6安全限制
6.7小结
第7章表格操作
7.1排序
7.1.1服务器端排序
7.1.2JavaScript排序
7.2分页
7.2.1服务器端分页
7.2.2JavaScript分页
7.3完成的代码
7.4高级行条纹效果
7.4.1三色交替模式
7.4.2三行一组交替
7.5突出显示行
7.6工具提示条
7.7折叠和扩展
7.8筛选
7.8.1筛选选项
7.8.2同其他代码整合
7.9完成的代码
7.10小结
第8章构建功能型表单
8.1渐进增强的表单设计
8.1.1图标符号
8.1.2必填字段的提示信息
8.1.3根据条件显示的字段
8.2表单验证
8.2.1即时反馈
8.2.2最终检查
8.3复选框操作
8.4完成的代码
8.5字段的占位符文本
8.6AJAX自动完成
8.6.1服务器端代码
8.6.2浏览器端脚本
8.6.3填充搜索字段
8.6.4键盘导航
8.6.5自动完成与实时搜索
8.7完成的代码
8.8输入掩码
8.8.1购物车表格结构
8.8.2拒绝非数字输入
8.9数字计算
8.9.1解析和格式化货币值
8.9.2处理小数位
8.9.3其他计算
8.10删除商品
8.11修改送货信息
8.12完成的代码
8.13小结
第9章滑移和翻转
9.1标题翻转效果
9.1.1设置页面
9.1.2取得新闻源
9.1.3设置翻转效果
9.1.4标题翻转函数
9.1.5悬停时暂停
9.1.6从不同的域中取得新闻源
9.1.7附加的内部渐变效果
9.2图像传送带
9.2.1设置页面
9.2.2通过JavaScript修改样式
9.2.3通过单击滑移图像
9.2.4添加滑移效果
9.2.5显示操作图标
9.3放大图像
9.3.1隐藏大幅封面
9.3.2更有价值的标记
9.3.3为封面放大添加动画效果
9.4完成的代码
9.5小结
第10章插件
10.1使用插件
10.2流行的插件
10.2.1Dimensions
10.2.2Form
10.2.3Interface
10.3查找插件文档
10.4开发新插件
10.4.1添加新的全局函数
10.4.2添加jQuery对象方法
10.4.3DOM遍历方法
10.4.4添加新的简写方法
10.4.5维护多事件日志
10.4.6添加选择符表达式
10.4.7创建缓动样式
10.4.8做个好公民
10.5小结
附录A在线资源
附录B开发工具
附录CJavaScript闭包
书摘插图
第1章jQuery入门
今天的万维网是一个动态的环境,Web用户对网站的设计和功能都提出了高要求。为了构建有吸引力的交互式网站,开发者们借助于像jQuery这样的JavaScript库,实现了常见任务的自动化和复杂任务的简单化。jQuery库广受欢迎的一个原因,就是它对种类繁多的开发任务都能游刃有余地提供帮助。
由于jQuery的功能如此丰富多样,找到合适的切入点似乎都成了一项挑战。不过,这个库的设计秉承了一致性与对称性原则,它的大部分概念都是从HTML和CSS(Cascading Style Sheet,层叠样式表)的结构中借用而来的。鉴于很多Web开发人员对这两种技术比对JavaScript更有经验,所以编程经验不多的设计者能够快速学会使用该库。实际上,在本书开篇第1章中,只需3行代码就能编写一个有用的jQuery程序。另一方面,经验丰富的程序设计人员也会受益于这种概念上的一致性,通过学习后面的更高级内容,你会感受到这一点。但是,在举例说明如何使用这个库之前,我们应该首先讨论一下选择它的理由。
1.1jQuery能做什么
jQuery库为Web脚本编程提供了通用的抽象层,使得它几乎适用于任何脚本编程的情形。由于它容易扩展而且不断有新插件面世增强它的功能,所以一本书根本无法涵盖它所有可能的用途和功能。抛开这些不谈,仅就其核心特性而言,jQuery能够满足下列需求:
取得页面中的元素。如果不使用JavaScript库,遍历DOM(Documem Object Model,文档对象模型)树,以及查找HTML文档结构中某个特殊的部分,必须编写很多行代码。jQuery为准确地获取需要检查或操纵的文档元素,提供了可靠而富有效率的选择符机制。
修改页面的外观。css虽然为影响文档呈现的方式提供了一种强大的手段,但当所有浏览器不完全支持相同的标准时,单纯使用CSS就会显得力不从心。jQuery可以弥补这一不足,它提供了跨浏览器的标准解决方案。而且,即使在页面已经呈现之后,jQuery仍然能够改变文档中某个部分的类或者个别的样式属性。
改变页面的内容。jQuery能够影响的范围并不局限于简单的外观变化,使用少量的代码,jQuery就能改变文档的内容。可以改变文本、插入或翻转图像、对列表重新排序,甚至,对HTML文档的整个结构都能重写和扩充——所有这些只需一个简单易用的API。
响应用户的页面操作。即使是最强大和最精心设计的行为,如果我们无法控制它何时发生,那它也毫无用处。jQuery提供了截取形形色色的页面事件(比如用户单击一个链接)的适当方式,而不需要使用事件处理程序搞舌LHTML代码。此外,它的事件处理API也消除了经常困扰Web开发人员的浏览器不一致性。
为页面添加动态效果。为了实现某种交互式行为,设计者也必须向用户提供视觉上的反馈。jQuery中内置的一批淡入、擦除之类的效果,以及制作新效果的工具包,为此提供了便利。
无需刷新页面即可从服务器获取信息。这种编程模式就是众所周知的AJAX(AsynchronousJavaScript and XML,异步JavaScript和XML),它能辅助Web开发人员创建出反应灵敏、功能丰富的网站。jQuery通过消除这一过程中的浏览器特定的复杂性,使开发人员得以专注于服务器端的功能设计。
……