想象一个场景,如果你愿意的话,你是一个中级开发人员,对编写代码相当熟悉,他觉得开发 jQuery 应该有更多的东西,而不仅仅是在文本编辑器中键入键。
你是对的;任何人都可以写代码。为了向更全面的开发人员迈出这一步,我们必须考虑更远的领域。写几十条链式语句的日子一去不复返了,这些语句需要一定程度的理解和调试,取而代之的是帮助我们做出关于使用 jQuery 的更明智的决定以及在繁忙的生活中更有效地利用时间的决定。
作为一名作者,我认为简单的解决方案通常比复杂的解决方案更有效;在这本书中,我们将研究各种各样的主题,这些主题将帮助您开发技能,让您考虑所有的选项,并且理解编写 JQuery 代码还有更多的内容。
这将是一次伟大的旅程,比侦探小说更曲折;问题是,“你准备好了吗?”如果答案是肯定的,让我们开始…
第一章安装 jQuery开启了我们掌握 jQuery 的旅程,在这里,您将了解到下载和安装 jQuery 不仅仅是使用 CDN 或本地链接。我们将看一看如何使用包管理器安装 jQuery,如何自定义下载的元素,以及如何添加源映射和更多内容来帮助微调库的副本。
第 2 章定制 jQuery更进一步,您可能会发现 jQuery 的元素并没有按照您想要的方式工作。在本章中,我们将了解如何创建和分发可以临时应用的补丁,以便扩展或更改 jQuery 中的核心功能。
第 3 章组织代码探讨了 jQuery 设计模式的使用,这是维护组织良好的代码的一个有用概念,使开发和调试更容易。我们将看一些模式示例,以及它们如何与 jQuery 相适应。
第 4 章与表单一起工作,了解表单功能的基本原理——验证表单上的响应。我们将探讨如何更有效地进行表单验证,然后在使用 AJAX 的联系人表单中使用它,并开发一个文件上传表单。
第 5 章集成了 AJAX,探讨了如何通过使用回调来帮助管理多个 AJAX 请求,从而提高静态站点上加载数据的速度。我们将了解 AJAX 最佳实践,并探索如何通过使用 jQuery 的延迟和承诺功能来最好地管理这些请求。
第 6 章、在 jQuery中制作动画,带领我们探索如何在 jQuery 中更智能地管理动画,并探索如何最好地管理 jQuery 队列以防止动画累积。我们还将学习如何实现自定义动画,以及为什么 jQuery 并不总是用于移动页面上的元素的正确工具。
第 7 章、高级事件处理考察了有多少开发人员可以简单地使用.on()或.off()来处理事件,但如果您真的想利用 jQuery,您会发现使用这些方法还有很多好处。在探索如何使用事件委派来更好地管理代码中何时调用这些事件处理程序之前,我们将创建一些自定义事件。
第 8 章使用 jQuery 特效继续我们的旅程,快速回顾在 jQuery 中使用特效的过程,我们将探索如何通过回调创建自定义特效,并学习如何更好地管理队列,队列是 jQuery 中使用特效的基础。
第 9 章使用 Web 性能 API开始了本书的第二部分,在这里我们探讨了使用 jQuery 时可以使用的一些更有趣的选项。在本章中,我们将了解如何在 jQuery 中使用页面可见性 API,并了解如何使用它来提供更平滑的外观、减少资源,以及在页面上保持复杂的动画。感兴趣的当您访问本章时,您将是!
第 10 章操作图像说明了如何使用 jQuery 和一些合理简单的数学,将各种效果应用于图像。我们可以执行一些简单的操作,比如模糊图像以创建自定义效果。然后,我们将使用其中的一些技术创建一个简单的签名页面,导出图像,并对从您自己的网络摄像头提取的图像应用各种效果。
第 11 章编写高级插件涵盖了使用 jQuery 的关键主题之一:创建和分发插件。随着越来越多的功能转移到使用插件,我们将介绍创建自己的插件背后的一些技巧和窍门;您将看到它不仅仅是编写代码!
第 12 章将 jQuery 与 Node WebKit 项目结合使用,探索了一个有趣的库,它吸收了 Node、JavaScript/jQuery、CSS 和普通 HTML 的最佳元素,并将它们结合到一起,模糊了桌面和在线世界之间的界限。我们将处理一些现有的在线代码,并将其转换为桌面应用程序,然后打包并在线下载。
第 13 章在 jQuery中提高性能,介绍了优化和提高代码性能所需的一些注意事项、技巧和技巧。您将看到,从 DOM 检查器(如 Firebug)获得基础知识,一直到使用 Grunt 自动化测试,最后开发一种策略来持续监控代码的性能是多么容易。
第 14 章测试 jQuery是我们掌握 jQuery 世界之旅的最后一章,我们将在这里了解使用 QUnit 测试我们的代码,以及如何利用 Grunt 在使用 jQuery 开发的世界中自动化一项其他常规但重要的任务。
阅读本书中的大多数示例所需的只是一个简单的文本或代码编辑器、jQuery 库的副本、Internet 访问和浏览器。我建议您安装升华文本版本 2 或 3;它与 Node 和 Grunt 配合得很好,我们将在本书的各个阶段使用它们。
一些示例使用了其他软件,例如 Node 或 Grunt 详细信息以及从源代码下载应用程序的链接包含在相应的章节中。
这本书面向的是前端开发人员,他们不仅希望编写代码,还希望探索可用于扩展 jQuery 开发技能的技巧和窍门。为了充分利用这本书,您应该对 HTML、CSS 和 JavaScript 有很好的了解,最好是在 jQuery 的中级水平。
在这本书中,你会发现许多不同类型的文本可以区分不同类型的信息。下面是这些风格的一些例子,并解释了它们的含义。
文本中的代码如下所示:“我们将首先从本书的代码下载中提取相关文件;对于本演示,我们将需要clicktoggle.css
、jquery.min.js
和clicktoggle.html
。”
代码块设置如下:
$(this).on("click", function() {
if (clicked) {
clicked = false;
return b.apply(this, arguments);
}
clicked = true;
return a.apply(this, arguments);
});
});
当我们希望提请您注意代码块的特定部分时,相关行或项目以粗体显示:
$('#section').hide(2000, 'swing', function() {
$(this).html("Animation Completed");
});
任何命令行输入或输出的编写方式如下:
npm install jquery
新术语和重要词语以粗体显示。例如,您在屏幕上、菜单或对话框中看到的文字出现在文本中,如下所示:“当我们查看页面并选择图像选项卡时,经过短暂延迟后,我们应该会看到六个新图像。”
警告或重要注释显示在这样的框中。
提示和技巧如下所示。
我们欢迎读者的反馈。让我们知道你对这本书的看法——你喜欢什么或可能不喜欢什么。读者反馈对于我们开发您真正从中获益最多的标题非常重要。
要向我们发送一般反馈,只需向<[feedback@packtpub.com](mailto:feedback@packtpub.com)>
发送电子邮件,并通过邮件主题提及书名即可。
如果您需要并希望看到我们出版一本书,请在www.packtpub.com或电子邮件<[suggest@packtpub.com](mailto:suggest@packtpub.com)>
上以建议书名的形式向我们发送一份说明。
如果您对某个主题有专业知识,并且您有兴趣撰写或贡献一本书,请参阅我们的作者指南,网址为www.packtpub.com/authors。
既然您是一本 Packt 图书的骄傲拥有者,我们有很多东西可以帮助您从购买中获得最大收益。
您可以下载您在账户购买的所有 Packt 书籍的示例代码文件 http://www.packtpub.com 。如果您在其他地方购买了本书,您可以访问http://www.packtpub.com/support 并注册,将文件直接通过电子邮件发送给您。
虽然我们已尽一切努力确保内容的准确性,但错误确实会发生。如果您在我们的一本书中发现错误——可能是文本或代码中的错误——如果您能向我们报告,我们将不胜感激。通过这样做,您可以使其他读者免于沮丧,并帮助我们改进本书的后续版本。如果您发现任何错误,请访问进行报告 http://www.packtpub.com/support ,选择您的书籍,点击勘误表提交表链接,输入您勘误表的详细信息。一旦您的勘误表得到验证,您的提交将被接受,勘误表将上传到我们的网站上,或添加到该标题勘误表部分的任何现有勘误表列表中。
要查看之前提交的勘误表,请转至https://www.packtpub.com/books/content/support 并在搜索字段中输入图书名称。所需信息将出现在勘误表部分下。
在互联网上盗版版权材料是所有媒体的一个持续问题。在 Packt,我们非常重视版权和许可证的保护。如果您在互联网上发现我们作品的任何形式的非法复制品,请立即向我们提供地址或网站名称,以便我们采取补救措施。
请致电<[copyright@packtpub.com](mailto:copyright@packtpub.com)>
与我们联系,并提供可疑盗版材料的链接。
我们感谢您在保护我们的作者方面的帮助,以及我们为您带来有价值内容的能力。
如果您对本书的任何方面有疑问,请致电<[questions@packtpub.com](mailto:questions@packtpub.com)>
与我们联系,我们将尽力解决。