Page 39 - JavaScript修炼之道
P. 39
Part 3 第三部分
UI 技巧
操作 DOM 是我们的基本工具,每个操作最终都是在操作 DOM。但实际的需求往往要比单
纯操作 DOM 更抽象,比如实现有用的用户界面(UI)特效、功能和微件,有效地处理表单等。
在这一部分,我们将开始学习这些实用的 UI 功能。
任务 12 会探讨如何制作既好看又与上下文相关的 “泡泡”提示。
尽管弹窗的效果不错,但在不能用 JavaScript 的情况下也应该要能访问那些内容才对。
在任务 13 中可以看到怎样同时处理好这两种情况(启用 JavaScript 和禁用 JavaScript)。
图片预载入并不总是能用 CSS spriting 实现(比如预载入用户提供的图片)。为了处理这
种情况,任务 14 说明了如何用 JavaScript 做到这一点。
光箱(通过暗化页面的其余部分而被突出显示的伪对话框)的合理使用可以创造简洁的
用户体验。任务 15 展示了最佳的解决方案。
有时,大数据集浏览用智能翻页实现效果更好。任务 16 阐明了这一点。
有时,你需要载入新的内容,而这些内容要加在触发载入的元素所在页面位置的上方。
为了避免页面晃动,看看任务 17。
本书后面会用框架和库来减轻工作量。一般我都用 Prototype(但光箱特效的任务用 jQuery
插件,因为它看起来是完成这个特殊任务的最佳工具)。
①
诚然,Prototype 不一定吸引每位前端开发者,所以看看本书代码的 GitHub 库吧。 我的目
的是让大家能创建对应的分支(forks),用自己最喜欢的 JavaScript 框架来改写。这样一来,你
就能得到用你喜欢的框架写的代码。如果还没人写出你喜欢的框架,你不妨自己着手写一个。
① 参见 http://github.com/tdd/pragmatic-javascript。