JavaScript DOM 编程艺术

JavaScript DOM 编程艺术
畅销书升级版 详解开发 Web 应用的基石 W3C 的 DOM 标准 国际知名 web 设计师 倡导 Web 标准的领军人物执笔 揭示了前端开发的真谛
编辑推荐
超级畅销书升级版,首版销量保证。
书中详解开发 Web 应用的基石——W3C 的 DOM 标准,由倡导 Web 标准的大牛领军人物执笔精心撰写,揭示了前端开发的真谛,是学习 JavaScript 和 DOM 开发的必读之作。
纵情释放 JavaScript 和 DOM 编程的惊人潜力,内容全年涵盖 HTML5、jQuery。
内容简介
JavaScript 是 Web 开发中重要的一门语言,它强大而优美。无论是桌面开发,还是移动应用。JavaScript 都是必须掌握的技术。W3C 的 DOM 标准是开发 Web 应用的基石。已经得到所有现代浏览器的支持,这使得跨平台 Web 开发成了一件轻松惬意的事。
《JavaScript DOM 编程艺术(第 2 版)》是超级畅销书的升级版,由倡导 Web 标准的领军人物执笔,揭示了前端开发的真谛,是学习 JavaScript 和 DOM 开发的必读之作。
《JavaScript DOM 编程艺术(第 2 版)》在简洁明快地讲述 JavaScript 和 DOM 的基本知识之后,通过几个实例演示了专业水准的网页开发技术,透彻阐述了平稳退化等一批至关重要的 JavaScript 编程原则和实践,并全面探讨了 HTML5 以及 jQuery 等 JavaScript 库。读者将看到 JavaScript、HTML5 和 CSS 如何协作来创建易用的、与标准兼容的 Web 设计,掌握使用 JavaScript 和 DOM 通过客户端动态效果和用户控制的动画来加强 Web 页面的必备技术;同时,还将对如何利用库提高开发效率有全面深入的理解。
作者简介
Jeremy Keith,国际知名的 Web 设计师,Web 标准项目组成员,DOM Scripting 任务组负责人之一,任职于 Web 咨询公司 Clearleft。除本书外,还著有 HTML5 for Web Designers、Bulletproof Ajax。可通过其个人网站 adactio.com 与他联系。
Jeffrey Sambells,平面设计师,Web 开发人员,创办了软件公司 We-Create 并担任研发总监。除本书外,还著有《JavaScript 高级程序设计》和 Beginning Google Maps Applications with PHP and Ajax 等多部畅销书。
精彩书评
★本书不愧为经典。文笔清新,深入浅出,不知不觉让你掌握编程原则,明白为什么要遵守标准。
——Slashdot
★我要隆重推荐本书。它前所未有地演示了 DOM 脚本编程的真正潜力。无论你是 JavaScript 新手还是专家,本书都值得你拥有。
——Garrett Dimon,Digital-Web.com 杂志专栏作家
目录
第 1 章 JavaScript 简史
- 1.1 JavaScript 的起源
- 1.2 DOM
- 1.3 浏览器战争
- 1.3.1 DHTML
- 1.3.2 浏览器之间的冲突
- 1.4 制定标准
- 1.4.1 浏览器以外的考虑
- 1.4.2 浏览器战争的结局
- 1.4.3 崭新的起点
- 1.5 小结
第 2 章 JavaScript 语法
- 2.1 准备工作
- 2.2 语法
- 2.2.1 语句
- 2.2.2 注释
- 2.2.3 变量
- 2.2.4 数据类型
- 2.2.5 数组
- 2.2.6 对象
- 2.3 操作
- 2.4 条件语句
- 2.4.1 比较操作符
- 2.4.2 逻辑操作符
- 2.5 循环语句
- 2.5.1 while 循环
- 2.5.2 for 循环
- 2.6 函数
- 2.7 对象
- 2.7.1 内建对象
- 2.7.2 宿主对象
- 2.8 小结
第 3 章 DOM
- 3.1 文档:DOM 中的"D"
- 3.2 对象:DOM 中的"O"
- 3.3 模型:DOM 中的"M"
- 3.4 节点
- 3.4.1 元素节点
- 3.4.2 文本节点
- 3.4.3 属性节点
- 3.4.4 CSS
- 3.4.5 获取元素
- 3.4.6 盘点知识点
- 3.5 获取和设置属性
- 3.5.1 get Attribute
- 3.5.2 set Attribute
- 3.6 小结
第 4 章 案例研究:JavaScript 图片库
- 4.1 标记
- 4.2 JavaScript
- 4.2.1 非 DOM 解决方案
- 4.2.2 最终的函数代码清单
- 4.3 应用这个 JavaScript 函数
- 4.4 对这个函数进行扩展
- 4.4.1 child Nodes 属性
- 4.4.2 node Type 属性
- 4.4.3 在标记里增加一段描述
- 4.4.4 用 JavaScript 改变这段描述
- 4.4.5 node Value 属性
- 4.4.6 first Child 和 last Child 属性
- 4.4.7 利用 node Value 属性刷新这段描述
- 4.5 小结
第 5 章 最佳实践
- 5.1 过去的错误
- 5.1.1 不要怪罪 JavaScript
- 5.1.2 Flash 的遭遇
- 5.1.3 质疑一切
- 5.2 平稳退化
- 5.2.1 “javascript:“伪协议
- 5.2.2 内嵌的事件处理函数
- 5.2.3 谁关心这个
- 5.3 向 CSS 学习
- 5.3.1 结构与样式的分离
- 5.3.2 渐进增强
- 5.4 分离 JavaScript
- 5.5 向后兼容
- 5.5.1 对象检测
- 5.5.2 浏览器嗅探技术
- 5.6 性能考虑
- 5.6.1 尽量少访问 DOM 和尽量减少标记
- 5.6.2 合并和放置脚本
- 5.6.3 压缩脚本
- 5.7 小结
第 6 章 案例研究:图片库改进版
- 6.1 快速回顾
- 6.2 它支持平稳退化吗
- 6.3 它的 JavaScript 与 HTML 标记是分的吗
- 6.3.1 添加事件处理函数
- 6.3.2 共享 onload 事件
- 6.4 不要做太多的假设
- 6.5 优化
- 6.6 键盘访问
- 6.7 把 JavaScript 与 CSS 结合起来
- 6.8 DOM Core 和 HTML-DOM
- 6.9 小结
第 7 章 动态创建标记
- 7.1 一些传统方法
- 7.1.1 document. write
- 7.1.2 inner HTML 属性
- 7.2 DOM 方法
- 7.2.1 create Element 方法
- 7.2.2 append Child 方法
- 7.2.3 create Text Node 方法
- 7.2.4 一个更复杂的组合
- 7.3 重回图片库
- 7.3.1 在已有元素前插入一个新元素
- 7.3.2 在现有方法后插入一个新元素
- 7.3.3 图片库二次改进版
- 7.4 Ajax
- 7.4.1 XML Http Request 对象
- 7.4.2 渐进增强与 Ajax
- 7.4.3 Hijax
- 7.5 小结
第 8 章 充实文档的内容
- 8.1 不应该做什么
- 8.2 把"不可见"变成"可见”
- 8.3 内容
- 8.3.1 选用 HTML、XHTML 还是 HTML5
- 8.3.2 CSS
- 8.3.3 JavaScript
- 8.4 显示"缩略语列表”
- 8.4.1 编写 display Abbreviations 函数
- 8.4.2 创建标记
- 8.4.3 一个浏览器"地雷"
- 8.5 显示"文献来源链接表"
- 8.6 显示"快捷键清单"
- 8.7 检索和添加信息
- 8.8 小结
第 9 章 CSS-DOM
- 9.1 三位一体的网页
- 9.1.1 结构层
- 9.1.2 表示层
- 9.1.3 行为层
- 9.1.4 分离
- 9.2 style 属性
- 9.2.1 获取样式
- 9.2.2 设置样式
- 9.3 何时该用 DOM 脚本设置样式
- 9.3.1 根据元素在节点树里的位置来设置样式
- 9.3.2 根据某种条件反复设置某种样式
- 9.3.3 响应事件
- 9.4 class Name 属性
- 9.5 小结
第 10 章 用 JavaScript 实现动画效果
- 10.1 动画基础知识
- 10.1.1 位置
- 10.1.2 时间
- 10.1.3 时间递增量
- 10.1.4 抽象
- 10.2 实用的动画
- 10.2.1 提出问题
- 10.2.2 解决问题
- 10.2.3 CSS
- 10.2.4 JavaScript
- 10.2.5 变量作用域问题
- 10.2.6 改进动画效果
- 10.2.7 添加安全检查
- 10.2.8 生成 HTML 标记
- 10.3 小结
第 11 章 HTML5
- 11.1 HTML5 简介
- 11.2 来自朋友的忠告
- 11.3 几个示例
- 11.3.1 Canvas
- 11.3.2 音频和视频
- 11.3.3 表单
- 11.4 HTML5 还有其他特性吗
- 11.5 小结
第 12 章 综合示例
- 12.1 项目简介
- 12.1.1 原始资料
- 12.1.2 站点结构
- 12.1.3 页面结构
- 12.2 设计
- 12.3 CSS
- 12.3.1 颜色
- 12.3.2 布局
- 12.3.3 版式
- 12.4 标记
- 12.5 JavaScript
- 12.5.1 页面突出显示
- 12.5.2 JavaScript 幻灯片
- 12.5.3 内部导航
- 12.5.4 JavaScript 图片库
- 12.5.5 增强表格
- 12.5.6 增强表单
- 12.5.7 压缩代码
- 12.6 小结
- 附录 JavaScript 库