0%

基本信息

名称: JavaScript权威指南(第5版)
作者信息: 作者: 弗拉纳根 [ 中文 pdf ]

简单介绍

《JavaScript权威指南(第5版)》由机械工业出版社出版。

目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
第一章 JavaScript概述
1.1 对JavaScript的误解
1.2 JavaScript的版本
1.3 客户端JavaScript
1.4 其他环境中的JavaScript
1.5 客户端的JavaScript:网页中的可执行内容
1.6 客户端JavaScript的特性
1.7 JavaScript的安全性
1.8 例子:用JavaScript计算借贷支出
1.9 如何使用本书其余的部分
1.10 JavaScript探秘

第一部分 JavaScript的核心 第二章 词法结构 2.1 字符集 2.2 大小写敏感性 2.3 空白符和换行符 2.4 可选的分号 2.5 注释 2.6 直接量 2.7 标识符 2.8 保留字

第三章 数据类型和值 3.1 数字 3.2 字符串 3.3 布尔值 3.4 函数 3.5 对象 3.6 数组 3.7 null 3.8 Undefined 3.9 Date对象 3.10 正则表达式 3.11 Error对象 3.12 基本数据类型的包装对象

第四章 变量 4.1 变量的类型 4.2 变量的声明 4.3 变量的作用域 4.4 基本类型和引用类型 4.5 无用存储单元的收集 4.6 作为属性的变量 4.7 深入理解变量作用域

第五章 表达式和运算符 5.1 表达式 5.2 运算符概述 5.3 算术运算符 5.4 相等运算符 5.5 关系运算符 5.6 字符串运算符 5.7 逻辑运算符 5.8 逐位运算符 5.9 赋值运算符 5.10 其他运算符

第六章 语句 6.1 表达式语句 6.2 复合语句 6.3 if语句 6.4 else if语句 6.5 switch语句 6.6 while语句 6.7 do/while语句 6.8 for语句 6.9 for/in 6.10 标签语句 6.11 break语句 6.12 continue语句 6.13 var语句 6.14 function语句 6.15 return语句 6.16 throw语句 6.17 try/catch/finally 6.18 with语句 6.19 空语句 6.20 JavaScript语句小结

第七章 函数 7.1 函数的定义和调用 7.2 作为数据的函数 7.3 函数的作用域:调用对象 7.4 函数的实际参数:Arguments对象 7.5 函数的属性和方法

第八章 对象 8.1 对象和属性 8.2 构造函数 8.3 方法 8.4 原型对象和继承 8.5 面向对象的JavaScript 8.6 作为关联数组的对象 8.7 对象的属性和方法

第九章 数组 9.1 数组和数组元素 9.2 数组的方法

第十章 使用正则表达式的模式匹配 10.1 正则表达式的定义 10.2 用于模式匹配的String方法 10.3 RegExp对象

第十一章 JavaScript的更多主题 11.1 数据类型转换 11.2 使用值和使用引用 11.3 无用存储单元收集 11.4 词法作用域和嵌套函数 11.5 Function()构造函数和函数直接量 11.6 Netscape公司的JavaScript1.2的不兼容性

第二部分 客户端JavaScript 第十二章 Web浏览器中的JavaScript 12.1 Web浏览器环境 12.2 在HTML中嵌入JavaScript 12.3 JavaScript程序的执行

第十三章 窗口和框架 13.1 Window对象概述 13.2 简单的对话框 13.3 状态栏 13.4 超时设定和时间间隔 13.5 错误处理 13.6 Navigator对象 13.7 Screen对象 13.8 Window对象的控制方法 13. 9 Location对象 13.10 History对象 13.11 多窗口和多框架

第十四章 Document对象 14.1 Document对象概览 14.2 动态生成的文档 14.3 Document对象的颜色属性 14.4 Document对象的信息属性 14.5 表单 14.6 图像 14.7 链接 14.8 锚 14.9 小程序 14.10 嵌入式数据

第十五章 表单和表单元素 15.1 Form对象 15.2 定义表单元素 15.3 脚本化表单元 15.4 表单验证示例

第十六章 脚本化cookie 16.1 cookie概览 16.2 cookie的储存 16.3 cookie的读取 16.4 cookie示例

第十七章 文档对象模型 17.1 DOM概览 17.2 使用DOM的核心API 17.3 DOM与Internet Explorer 4的兼容性 17.4 DOM与Netscape 4的兼容性 17.5 简便方法:Traversal和Range API

第十八章 级联样式表和动态HTML 18.1 CSS的样式和样式表 18.2 用CSS进行元素定位 18.3 脚本祥式 18.4 第四代浏览器中的DHTML 18.5 关于样式和样式表的其他DOM API

第十九章 事件和事件处理 19.1 基本事件处理 19.2 2级DOM中的高级事件处理 19.3 Internet Explorer事件模型 19.4 Netscape 4事件模型

第二十章 兼容性 20.1 平台和浏览器的兼容性 20.2 语言版本的兼容性 20.3 非JavaScript浏览器的兼容性.

第二十一章 JavaScript的安全性 21.1 JavaScript与安全性 21.2 受限制的特性 21.3 同源策略 21.4 安全区和签名脚本

第二十二章 在JavaScript中使用Java 22.1 脚本化Java小程序 22.2 在Java中使用JavaScript 22.3 直接使用Java类 22.4 LiveConnect数据类型 22.5 LiveConnect数据转换 22.6 JavaObJect对象在JavaScript中的转换 22.7 从Java到JavaScript的数据转换

第三部分 JavaScript核心参考手册 JavaScript核心参考手册

第四部分 客户端JavaScript参考手册 客户端JavaScript参考手册

亚马逊链接

基本信息

名称: Java软件结构与数据结构(第3版)
作者信息: 作者: John Lewis [ 中文 pdf ]

简单介绍

《Java软件结构与数据结构(第3版)》的写作方法是建立在一些我们强烈推荐的重要原则之上的。首先,我们以一种连贯叙述的方式介绍在《Java软件结构与数据结构(第3版)》中将要考察的各种集合。其次,我们强调完美软件设计技巧的重要性。第三,我们对《Java软件结构与数据结构(第3版)》结构加以组织以支持和强化《Java软件结构与数据结构(第3版)》的重要目标:即数据结构与算法的学习。我们将更深入地考察这些原则。

目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
第1章 概述 1
1.1 软件质量 1
1.1.1 正确性 2
1.1.2 可靠性 2
1.1.3 健壮性 3
1.1.4 可用性 3
1.1.5 可维护性 3
1.1.6 可重用性 4
1.1.7 可移植性 4
1.1.8 运行效率 4
1.1.9 质量问题 5
1.2 数据结构 5
1.2.1 一个物理示例 5
1.2.2 以集装箱作为对象 7
关键概念小结 7
自测题 8
练习题 8
自测题答案 8

第2章 算法分析 9 2.1 算法效率分析 9 2.2 增长函数与大O记法 10 2.3 增长函数的比较 12 2.4 时间复杂度分析 13 2.4.1 循环运行的复杂度分析 13 2.4.2 嵌套循环的复杂度分析 14 2.4.3 方法调用的复杂度分析 15 关键概念小结 16 自测题 16 练习题 17 自测题答案 17 参考文献 18

第3章 集合 19 3.1 概述 19 3.1.1 抽象数据类型 20 3.1.2 Java集合API 21 3.2 栈集合 22 3.3 主要的面向对象概念 23 3.3.1 继承 24 3.3.2 类层次 25 3.3.3 Object类 26 3.3.4 多态性 27 3.3.5 引用与类层次 28 3.3.6 泛型 29 3.4 栈ADT 30 接口 30 3.5 使用栈计算后缀表达式 32 3.6 异常 38 3.6.1 异常消息 39 3.6.2 try语句 39 3.6.3 异常传播 40 3.7 用数组实现栈 41 管理容量 41 3.8 ArrayStack类 42 3.8.1 构造函数 43 3.8.2 push操作 44 3.8.3 pop操作 45 3.8.4 peek操作 46 3.8.5 其他操作 46 关键概念小结 46 自测题 47 练习题 48 程序设计项目 48 自测题答案 49

第4章 链式结构 51 4.1 链接作为引用 51 4.2 管理链表 53 4.2.1 访问元素 53 4.2.2 插入结点 54 4.2.3 删除结点 55 4.2.4 哑结点 55 4.3 无链接的元素 56 双向链表 56

4.4 用链表实现栈 57 4.4.1 LinkedStack类 57 4.4.2 push操作 60 4.4.3 pop操作 61 4.4.4 其他操作 62 4.5 使用栈来穿越迷宫 62 4.6 java.util.Stack类实现栈 67 4.6.1 独有的操作 68 4.6.2 继承与实现 68 关键概念小结 69 自测题 69 练习题 69 程序设计项目 70 自测题答案 70

第5章 队列 72 5.1 概述 72 5.2 使用队列:代码密钥 75 5.3 使用队列:售票口模拟 77 5.4 用链表实现队列 81 5.4.1 enqueue操作 83 5.4.2 dequeue操作 84 5.4.3 其他操作 85 5.5 用数组实现队列 85 5.5.1 enqueue操作 88 5.5.2 dequeue操作 90 5.5.3 其他操作 90 关键概念小结 90 自测题 91 练习题 91 程序设计项目 92 自测题答案 92

第6章 列表 94 6.1 概述 94 6.1.1 迭代器 96 6.1.2 往列表添加元素 97 6.1.3 接口与多态性 98 6.2 有序列表使用示例:联赛主办者 104 6.3 索引列表使用示例:Josephus问题 109

6.4 使用数组实现列表 111 6.4.1 remove操作 112 6.4.2 contains操作 114 6.4.3 iterator操作 115 6.4.4 有序列表的add操作 117 6.4.5 无序列表的特有操作 118 6.4.6 无序列表的addAfter操作 118 6.5 使用链表实现列表 119 6.5.1 remove操作 119 6.5.2 双向链表 121 6.5.3 iterator操作 124 6.6 Java集合API中的列表 126 6.6.1 Cloneable接口 126 6.6.2 Serializable接口 127 6.6.3 RandomAccess接口 127 6.6.4 java.util.Vector接口 127 6.6.5 java.util.ArrayList接口 129 6.6.6 java.util.LinkedList接口 130 关键概念小结 132 自测题 133 练习题 133 程序设计项目 134 自测题答案 134

第7章 递归 136 7.1 递归地思考 136 7.1.1 无穷递归 137 7.1.2 数学中的递归 138 7.2 递归地编程 138 7.2.1 递归与迭代 140 7.2.2 直接递归与间接递归 140 7.3 使用递归 141 7.3.1 穿越迷宫 141 7.3.2 汉诺塔 145 7.4 递归算法分析 149 关键概念小结 150 自测题 151 练习题 151 程序设计项目 152 自测题答案 153

第8章 排序与查找 154 8.1 查找 154 8.1.1 静态方法 155 8.1.2 泛型方法 155 8.1.3 线性查找法 156 8.1.4 二分查找法 157 8.1.5 查找算法的比较 159 8.2 排序 160 8.2.1 选择排序法 162 8.2.2 插入排序法 164 8.2.3 冒泡排序法 165 8.2.4 快速排序法 167 8.2.5 归并排序法 170 8.3 基数排序法 171 关键概念小结 175 自测题 176 练习题 176 程序设计项目 177 自测题答案 177

第9章 树 178 9.1 概述 178 树的分类 179 9.2 实现树的策略 180 9.2.1 树的数组实现之计算策略 180 9.2.2 树的数组实现之模拟链接策略 181 9.2.3 树的分析 182 9.3 树的遍历 182 9.3.1 前序遍历 183 9.3.2 中序遍历 183 9.3.3 后序遍历 184 9.3.4 层序遍历 184 9.4 二叉树 185 9.5 使用二叉树:表达式树 188 9.6 用链表实现二叉树 197 9.6.1 find方法 199 9.6.2 iteratorInOrder方法 201 9.7 用数组实现二叉树 202 9.7.1 find方法 203 9.7.2 iteratorInOrder方法 204 关键概念小结 205 自测题 205 练习题 206 程序设计项目 206 自测题答案 206

第10章 二叉查找树 208 10.1 概述 208 10.2 用链表实现二叉查找树 211 10.2.1 addElement操作 211 10.2.2 removeElement操作 213 10.2.3 removeAllOccurrences操作 216 10.2.4 removeMin操作 217 10.3 用数组实现二叉查找树 218 10.3.1 addElement操作 219 10.3.2 removeElement操作 221 10.3.3 replace操作 223 10.3.4 removeAllOccurrences操作 227 10.3.5 removeMin操作 227 10.4 用有序列表实现二叉查找树 228 BinarySearchTreeList实现的分析 231 10.5 平衡二叉查找树 232 10.5.1 右旋 233 10.5.2 左旋 233 10.5.3 右左旋 234 10.5.4 左右旋 234 10.6 实现二叉查找树:AVL树 235 10.6.1 AVL树的右旋 235 10.6.2 AVL树的左旋 236 10.6.3 AVL树的右左旋 236 10.6.4 AVL树的左右旋 236 10.7 实现二叉查找树:红黑树 237 10.7.1 红黑树中的元素插入 237 10.7.2 红黑树中的元素删除 239 10.8 实现二叉查找树:Java集合API 241 关键概念小结 243 自测题 244 练习题 245 程序设计项目 245 自测题答案 246 参考文献 247

第11章 优先队列与堆 248 11.1 堆 248 11.1.1 addElement操作 250 11.1.2 removeMin操作 251 11.1.3 findMin操作 252 11.2 使用堆:优先级队列 252 11.3 用链表实现堆 256 11.3.1 addElement操作 257 11.3.2 removeMin操作 259 11.3.3 findMin操作 261 11.4 用数组实现堆 261 11.4.1 addElement操作 262 11.4.2 removeMin操作 263 11.4.3 findMin操作 265 11.5 使用堆:堆排序 265 关键概念小结 266 自测题 267 练习题 267 程序设计项目 268 自测题答案 268

第12章 多路查找树 270 12.1 整合树的概念 270 12.2 2-3树 270 12.2.1 往2-3树中插入元素 271 12.2.2 从2-3树中删除元素 273 12.3 2-4树 275 12.4 B树 276 12.4.1 B*树 277 12.4.2 B+树 277 12.4.3 B树的分析 278 12.5 B树的实现策略 278 关键概念小结 279 自测题 279 练习题 279 程序设计项目 280 自测题答案 280 参考文献 281

第13章 图 282 13.1 无向图 282 13.2 有向图 284 13.3 网络 285 13.4 常用的图算法 286 13.4.1 遍历 286 13.4.2 测试连通性 289 13.4.3 最小生成树 290 13.4.4 判定最短路径 293 13.5 图的实现策略 293 13.5.1 邻接列表 293 13.5.2 邻接矩阵 294 13.6 用邻接矩阵实现无向图 295 13.6.1 addEdge方法 298 13.6.2 addVertex方法 299 13.6.3 expandCapacity方法 300 13.6.4 其他方法 300 关键概念小结 300 自测题 301 练习题 301 程序设计项目 302 自测题答案 302 参考文献 303

第14章 散列 304 14.1 概述 304 14.2 散列函数 305 14.2.1 余数法 306 14.2.2 折叠法 306 14.2.3 平方取中法 307 14.2.4 基数转换法 307 14.2.5 数字分析法 307 14.2.6 长度相关法 307 14.2.7 Java语言中的散列函数 308 14.3 解决冲突 308 14.3.1 链地址法 308 14.3.2 开放地址法 310 14.4 从散列表删除元素 312 14.4.1 从链地址实现中删除 312 14.4.2 从开放地址实现中删除 312 14.5 Java集合API中的散列表 313 14.5.1 Hashtable类 313 14.5.2 HashSet类 314 14.5.3 HashMap类 315 14.5.4 IdentityHashMap类 316 14.5.5 WeakHashMap类 317 14.5.6 LinkedHashSet与LinkedHashMap 318 关键概念小结 319 自测题 319 练习题 320 程序设计项目 320 自测题答案 321

第15章 Set与Map集合 323 15.1 Set集合 323 15.2 使用Set:bingo程序 326 15.3 用数组实现Set 329 15.3.1 add操作 330 15.3.2 addAll操作 332 15.3.3 removeRandom操作 332 15.3.4 remove操作 333 15.3.5 union操作 334 15.3.6 contains操作 335 15.3.7 equals操作 336 15.3.8 其他操作 337 15.3.9 UML描述 337 15.4 用链表实现Set 338 15.4.1 add操作 338 15.4.2 removeRandom操作 339 15.4.3 remove操作 340 15.4.4 其他操作 341 15.5 Map集合与Java集合API 341 关键概念小结 342 自测题 343 练习题 343 程序设计项目 343 自测题答案 344

附录A UML 346 A.1 统一建模语言 346 A.2 UML类图 346 A.3 UML关系 347 关键概念小结 349 自测题 350 练习题 350 自测题答案 350

附录B 面向对象设计 351 B.1 概述 351 B.2 使用对象 351 B.2.1 抽象 352 B.2.2 创建对象 353 B.3 类库与包 354 import声明 355 B.4 状态与行为 355 B.5 类 356 实例数据 359 B.6 封装 359 B.6.1 可见性修饰符 360 B.6.2 局部数据 361 B.7 构造函数 361 B.8 方法重载 362 B.9 再谈引用 363 B.9.1 空引用 363 B.9.2 this引用 364 B.9.3 别名 365 B.9.4 垃圾回收 367 B.9.5 将对象作为参数传递 367 B.10 static修饰符 368 B.10.1 静态变量 368 B.10.2 静态方法 369 B.11 包装类 369 B.12 接口 370 B.12.1 Comparable接口 371 B.12.2 Iterator接口 372 B.13 继承 372 B.13.1 派生类 373 B.13.2 protected修饰符 375 B.13.3 super引用 375 B.13.4 重载方法 376 B.14 类的层次结构 376 B.14.1 Object类 377 B.14.2 抽象类 378 B.14.3 接口的层次结构 379 B.15 多态性 379 B.15.1 引用和类的层次结构 380 B.15.2 基于继承的多态性 381 B.15.3 基于接口的多态性 382 B.16 泛型 384 B.17 异常 385 B.17.1 异常消息 385 B.17.2 try语句 386 B.17.3 异常传播 387 B.17.4 异常类的层次结构 387 关键概念小结 388 自测题 390 练习题 390 程序设计项目 391 自测题答案 392

亚马逊链接

基本信息

名称: iphone3开发基础教程
作者信息: 作者: 马克(Dave Mark) [ 中文 pdf ]

简单介绍

《iphone3开发基础教程》是Amazon计算机榜首图书,创造销售奇迹的经典著作,针对iPhoe SDK 3新特性全面改版,从这里,拥抱软件开发的未来。Apple公司的iPflone开创了移动平台新纪元!而最新版iPhone 3做了不少改进,如强化应用程序对GPS的支持,还增加了众多新功能,如全系统搜索、支持复制和粘贴、收发多媒体信息等。iPhone 3与App Store的绝配为全世界的程序员提供了一个施展才华的全新大舞台。只要有新奇的创意,你完全有可能像开发iStloot游戏的Ethan Nicliolas(日收入2万多美元)和开发Trism游戏的Steve Demmeter(月收入超过10万美元)那样,单枪匹马即可赢得全球市场,成功创业,改变自己的人生。上一版英文原版问世以来在Anlazor、计算机图书排行榜持续雄踞榜首,总排名一度在20名左右,被奉为经典。而中文版出版后也迅速荣登各大网店排行榜榜首,并创造了半年内印刷四次的销售奇迹。书中从到Apple网站注册账号,下载和安装免费iPhone SDK开始,清晰透彻地讲述了创建iPhone应用程序的全过程。作者在探讨基本概念和各个关键特性(iPhone界面元素、数据保存、SQLite3、Quarrtz和OpenGL ES、手势支持、本地化、Core Location等)时,提供了丰富的实例。更难得的是,《iphone3开发基础教程》始终强调iPhone开发中的各种最佳实践,即使是有经验的开发人员,也会因此受益匪浅。《iphone3开发基础教程》新版针对iPhone SDK 3做了大幅修订,力求使新老读者都能觉得物有所值。作者在纠正上一版错误的基础上,不仅更新了所有项目代码,使之兼容新旧SDK,还新增了不少内容,进一步阐明一些读者反馈的比较难懂的主题。此外,书中还为Core Data增加了一个新项目。立即展卷阅读,开始神奇的iPhone开发之旅吧。

目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
第1章 欢迎来到iPhone的世界 1
1.1 关于本书 1
1.2 必要条件 1
1.3 必备知识 3
1.4 编写iPhone应用程序有何不同 4
1.4.1 只有一个正在运行的应用程序 4
1.4.2 只有一个窗口 4
1.4.3 受限访问 5
1.4.4 有限的响应时间 5
1.4.5 有限的屏幕大小 5
1.4.6 有限的系统资源 5
1.4.7 不支持垃圾收集 6
1.4.8 新功能 6
1.4.9 与众不同的方法 6
1.5 本书内容 6
1.6 本次更新的内容 7
1.7 准备开始吧 7

第2章 创建基本项目 8 2.1 在Xcode中设置项目 8 2.2 Interface Builder简介 13 2.2.1 nib文件的构成 14 2.2.2 在视图中添加标签 15 2.3 美化iPhone应用程序 17 2.4 小结 20

第3章 处理基本交互 21 3.1 MVC范型 21 3.2 创建项目 22 3.3 创建视图控制器 22 3.3.1 输出口 23 3.3.2 操作 24 3.3.3 将操作和输出口添加到视图控制器 24 3.3.4 将操作和输出口添加到实现文件 26 3.4 使用应用程序委托 30 3.5 编辑MainWindow.xib 33 3.6 编辑Button_FunViewController.xib 34 3.6.1 在Interface Builder中创建视图 34 3.6.2 连接所有元素 36 3.6.3 测试 39 3.7 小结 39

第4章 更丰富的用户界面 40 4.1 满是控件的屏幕 40 4.2 活动、静态和被动控件 42 4.3 创建应用程序 42 4.3.1 导入图像 42 4.3.2 实现图像视图和文本字段 43 4.3.3 添加图像视图 44 4.3.4 添加文本字段 47 4.3.5 设置第二个文本字段的属性 50 4.3.6 连接输出口 50 4.4 构建和运行 51 4.4.1 完成输入后关闭键盘 51 4.4.2 通过触摸背景关闭键盘 52 4.5 实现滑块和标签 54 4.5.1 确定输出口 54 4.5.2 确定操作 54 4.5.3 添加输出口和操作 54 4.5.4 添加滑块和标签 55 4.5.5 连接操作和输出口 56 4.6 实现开关、按钮和分段控件 57 4.6.1 确定输出口 57 4.6.2 确定操作 57 4.6.3 添加开关、按钮和分段控件 59 4.6.4 连接开关输出口和操作 60 4.6.5 添加按钮 61 4.7 实现操作表和警报 62 4.7.1 遵从操作表委托方法 62 4.7.2 显示操作表 62 4.7.3 操作表委托和创建警报 64 4.8 美化按钮 66 4.8.1 viewDidLoad方法 66 4.8.2 控件状态 67 4.8.3 可拉伸图像 67 4.9 成为出色的内存使用者 67 4.10 小结 68

第5章 自动旋转和自动调整大小 70 5.1 使用自动调整属性处理旋转 71 5.1.1 指定旋转支持 71 5.1.2 使用自动调整属性设计界面 73 5.1.3 自动调整属性 74 5.1.4 设置按钮的自动调整属性 75 5.2 在旋转时重构视图 76 5.2.1 声明和连接输出口 77 5.2.2 在旋转时移动按钮 77 5.3 切换视图 79 5.3.1 确定输出口 80 5.3.2 确定动作 80 5.3.3 声明动作和输出口 80 5.3.4 设计两个视图 81 5.3.5 实现交换和动作 82 5.4 小结 84

第6章 多视图应用程序 85 6.1 View Switcher应用程序 87 6.2 多视图应用程序的体系结构 88 6.3 构建View Switcher 88 6.3.1 创建视图控制器和nib文件 89 6.3.2 修改应用程序委托 91 6.3.3 SwitchViewController.h 92 6.3.4 修改MainWindow.xib 92 6.3.5 编写SwitchViewController.m 95 6.3.6 实现内容视图 98 6.4 制作转换动画 101 6.5 小结 103

第7章 标签栏与选取器 104 7.1 Pickers应用程序 104 7.2 委托和数据源 106 7.3 建立工具栏框架 106 7.3.1 创建文件 107 7.3.2 添加根视图控制器 108 7.4 实现日期选取器 112 7.5 实现单个组件选取器 114 7.5.1 声明输出口和操作 114 7.5.2 构建视图 115 7.5.3 将控制器实现为数据源和委托 115 7.6 实现多组件选取器 120 7.6.1 声明输出口和操作 120 7.6.2 构建视图 120 7.6.3 实现控制器 121 7.7 实现独立组件 123 7.8 使用自定义选取器创建简单游戏 130 7.8.1 编写控制器头文件 130 7.8.2 构建视图 130 7.8.3 添加图像资源 131 7.8.4 实现控制器 131 7.8.5 spin方法 134 7.8.6 viewDidLoad方法 135 7.8.7 最后的细节 137 7.8.8 链接Audio Toolbox框架 140 7.9 小结 141

第8章 表视图简介 142 8.1 表视图基础 142 8.2 实现一个简单的表 145 8.2.1 设计视图 145 8.2.2 编写控制器 146 8.3 添加一个图像 149 8.4 附加配置 151 8.4.1 设置缩进级别 152 8.4.2 处理行的选择 152 8.4.3 更改字体大小和行高 154 8.4.4 委托还能做什么 155 8.5 定制表视图单元 155 8.5.1 单元应用程序 155 8.5.2 向表视图单元添加子视图 156 8.5.3 使用UITableViewCell的自定义子类 159 8.6 分组分区和索引分区 163 8.6.1 构建视图 163 8.6.2 导入数据 164 8.6.3 实现控制器 164 8.6.4 添加索引 168 8.7 实现搜索栏 168 8.7.1 重新考虑设计 168 8.7.2 深层可变副本 169 8.7.3 更新控制器头文件 170 8.7.4 修改视图 171 8.7.5 修改控制器实现 173 8.8 小结 183

第9章 导航控制器和表视图 184 9.1 导航控制器 184 9.1.1 栈的性质 184 9.1.2 控制器栈 185 9.2 由6个部分组成的分层应用程序:Nav 185 9.3 构建Nav应用程序的骨架 188 9.3.1 创建第一级视图控制器 188 9.3.2 设置导航控制器 189 9.4 第一个子控制器:展示按钮视图 194 9.5 第二个子控制器:校验表 201 9.6 第三个子控制器:表行上的控件 205 9.7 第四个子控制器:可移动的行 211 9.7.1 编辑模式 211 9.7.2 创建一个新的二级控制器 212 9.8 第五个子控制器:可删除的行 217 9.9 第六个子控制器:可编辑的详细窗格 222 9.9.1 创建数据模型对象 222 9.9.2 创建控制器 224 9.9.3 创建详细视图控制器 227 9.10 其他内容 240 9.11 小结 243

第10章 应用程序设置和用户默认设置 244 10.1 设置束 244 10.2 AppSettings应用程序 245 10.3 创建项目 247 10.4 使用设置束 248 10.4.1 在项目中添加设置束 248 10.4.2 设置属性列表 249 10.4.3 添加文本字段设置 250 10.4.4 添加安全文本字段设置 252 10.4.5 添加多值字段 252 10.4.6 添加拨动开关设置 253 10.4.7 添加滑块设置 254 10.4.8 添加子设置视图 255 10.5 读取应用程序中的设置 256 10.6 更改应用程序中的默认设置 260 10.7 小结 263

第11章 基本数据持久性 264 11.1 应用程序的沙盒 264 11.1.1 获取Documents目录 265 11.1.2 获取tmp目录 266 11.2 文件保存策略 266 11.2.1 单个文件持久性 266 11.2.2 多个文件持久性 267 11.3 持久保存应用程序数据 267 11.4 持久性应用程序 268 11.4.1 创建持久性项目 269 11.4.2 设计持久性应用程序视图 269 11.4.3 编辑持久性类 270 11.4.4 对模型对象进行归档 273 11.4.5 实现NSCopying 275 11.5 归档应用程序 276 11.5.1 实现FourLines类 277 11.5.2 实现PersistenceView-Controller类 278 11.6 使用iPhone的嵌入式SQLite3 280 11.7 使用Core Data 289 11.7.1 实体和托管对象 291 11.7.2 键/值编码 292 11.7.3 在上下文中结合它们 292 11.7.4 创建新托管对象 293 11.7.5 检索托管对象 293 11.7.6 设计数据模型 294 11.7.7 创建持久视图和控制器 297 11.7.8 将持久视图控制器设置为应用程序的根控制器 302 11.8 小结 303

第12章 使用Quartz和OpenGL绘图 304 12.1 图形世界的两个视图 304 12.2 本章的绘图应用程序 305 12.3 Quart绘图方法 305 12.3.1 Quartz 2D的图形上下文 305 12.3.2 坐标系 306 12.3.3 指定颜色 307 12.3.4 在上下文中绘制图像 308 12.3.5 绘制形状:多边形、直线和曲线 309 12.3.6 Quartz 2D工具示例:模式、梯度、虚线模式 309 12.4 构建QuartzFun应用程序 309 12.4.1 创建随机颜色 310 12.4.2 定义应用程序常量 311 12.4.3 实现QuartzFunView框架 312 12.4.4 向视图控制器中添加输出口和操作 314 12.4.5 更新QuartzFunViewContro-ller.xib 316 12.4.6 绘制直线 317 12.4.7 绘制矩形和椭圆形 319 12.4.8 绘制图像 320 12.4.9 优化QuartzFun应用程序 322 12.5 一些OpenGL ES基础知识 325 12.5.1 构建GLFun应用程序 326 12.5.2 设计Nib、添加框架、运行应用程序 335 12.6 小结 335

第13章 轻击、触摸和手势 336 13.1 多触摸术语 336 13.2 响应者链 337 13.3 多触摸体系结构 338 13.4 触摸浏览器应用程序 339 13.5 Swipes应用程序 342 13.6 实现多个轻扫动作 345 13.7 检测多次轻击 347 13.8 检测捏合操作 351 13.9 自己定义手势 354 13.10 小结 358

第14章 使用Core Location定位功能 359 14.1 位置管理器 359 14.1.1 设置所需的精度 360 14.1.2 设置距离筛选器 360 14.1.3 启动位置管理器 360 14.1.4 更明智地使用位置管理器 360 14.2 位置管理器委托 361 14.2.1 获取位置更新 361 14.2.2 使用CLLocation获取纬度和经度 361 14.2.3 错误通知 362 14.3 尝试使用Core Location 363 14.3.1 更新位置管理器 367 14.3.2 确定移动距离 367 14.4 小结 368

第15章 加速计 369 15.1 加速计物理学 369 15.2 访问加速计 370 15.2.1 UIAcceleration 370 15.2.2 实现accelerometer: didAccelerate:方法 371 15.3 摇动与击碎 373 15.3.1 用于击碎的代码 373 15.3.2 加载模拟文件 376 15.3.3 完好如初——复原触摸 377 15.4 滚弹珠程序 377 15.4.1 实现Ball View控制器 378 15.4.2 编写Ball View 379 15.4.3 计算小球运动 382 15.5 小结 385

第16章 iPhone照相机和照片库 386 16.1 使用图像选取器和UIImagePicker-Controller 386 16.2 实现图像选取器控制器委托 387 16.3 实际测试照相机和库 389 16.3.1 设计界面 390 16.3.2 实现照相机视图控制器 390 16.4 小结 394

第17章 应用程序本地化 395 17.1 本地化体系结构 395 17.2 使用字符串文件 396 17.3 现实中的iPhone:本地化应用程序 398 17.3.1 查看当前区域设置 401 17.3.2 测试LocalizeMe 401 17.3.3 本地化nib文件 402 17.3.4 查看本地化的项目结构 403 17.3.5 本地化图像 405 17.3.6 本地化应用程序图标 406 17.3.7 生成和本地化字符串文件 406 17.4 小结 409

第18章 未来之路 410 18.1 别陷进单一的思路里 410 18.1.1 苹果公司的文档 410 18.1.2 邮件列表 411 18.1.3 论坛 411 18.1.4 网站 411 18.1.5 博客 412 18.1.6 Dave和Jeff的博客及Twitter 412 18.1.7 参考图书 412 18.1.8 如果仍未解决问题 412 18.2 再会 412

亚马逊链接

基本信息

名称: Web编程入门经典 HTML、XHTML和CSS(第2版)
作者信息: 作者: 达科特(Jon Duckett) [ 中文 pdf ]

简单介绍

《Web编程入门经典:HTML、XHTML和CSS(第2版)》是由清华大学出版社出版的。

目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
第1章 创建结构化文档
1.1 结构化文档组成的Web
1.2 XHTML简介
1.3 核心元素和属性
1.3.1 元素
1.3.2 元素
1.3.3 元素
1.3.4 元素
1.4 属性组
1.4.1 核心属性
1.4.2 国际化属性
1.4.3 UI事件
1.5 基本文本格式
1.5.1 空格和流
1.5.2 使用hn元素创建题头
1.5.3 使用 元素创建段落 1.5.4 使用 元素创建换行 1.5.5 使用

元素创建预先格式化的文本
1.6 表现元素
1.6.1 元素
1.6.2 元素 1.6.3 元素(逐渐淘汰) 1.6.4 元素和元素(逐渐淘汰) 1.6.5 元素 1.6.6 元素 1.6.7 元素 1.6.8 元素 1.6.9 元素 1.6.10 元素 1.7 短语元素 1.7.1 元素添加强调 1.7.2 元素添加着重强调 1.7.3 用于缩写词的元素 1.7.4 用于首字母缩写词的元素 1.7.5 用于特殊术语的元素 1.7.6 用于引用文本的 元素 1.7.7 用于短引用的元素 1.7.8 用于引证的元素 1.7.9 用于代码的元素 1.7.10 用于通过键盘输入的文本的元素 1.7.11 用于编程变量的元素 1.7.12 用于程序输出的元素 1.7.13 用于地址的 元素 1.8 列表 1.8.1 利用 元素创建无序列表 1.8.2 有序列表 1.8.3 定义列表 1.8.4 列表的嵌套 1.9 编辑文本 1.9.1 使用 元素指示新添加的文本 1.9.2 使用 元素指示删除的文本 1.10 利用字符实体表示特殊字符 1.11 注释 1.12 元素(逐渐淘汰) 1.13 理解块级元素和内联元素 1.14 利用 元素和元素分组元素 1.15 本章小结 1.16 练习 第2章 链接和导航 2.1 基本链接 2.1.1 链接到其他文档 2.1.2 链接到e-mail地址 2.2 理解目录和目录结构 2.2.1 链接的目标位置 2.2.2 URL的组成 2.2.3 绝对URL和相对URL 2.2.4 元素 2.3 利用元素创建链接 2.3.1 利用href属性创建源锚点 2.3.2 利用name和id属性创建目的地锚点(链接到页面的特定部分) 2.3.3 元素的其他属性 2.4 高级e-mail链接 2.5 本章小结 2.6 练习 第3章 图像和对象 3.1 在站点中添加图像 3.1.1 图像格式的类型 3.1.2 位图图像 3.1.3 矢量图像 3.1.4 使用元素添加图像 3.2 利用元素添加其他对象 3.2.1 元素的属性 3.2.2 元素 3.2.3 在页面中添加Flash电影 3.3 使用图像作为链接 3.4 图像映射 3.4.1 服务器端图像映射 3.4.2 客户端图像映射 3.5 本章小结 3.6 练习 第4章 表 4.1 表简介 4.2 基本表元素和属性 4.2.1 创建表的元素创建表单 5.2.1 action属性 5.2.2 method属性 5.2.3 id属性 5.2.4 name属性(逐渐淘汰) 5.2.5 onsubmit属性 5.2.6 onreset属性 5.2.7 enctype属性 5.2.8 accept-charset属性 5.2.9 accept属性 5.2.10 target属性 5.2.11 空白和 元素 5.3 表单控件 5.3.1 文本输入 5.3.2 按钮 5.3.3 复选框 5.3.4 单选按钮 5.3.5 选项框 5.3.6 文件选项框 5.3.7 隐藏控件 5.3.8 对象控件 5.4 利用元素为控件创建标签 5.5 利用 元素和元素结构化表单 5.6 焦点 5.6.1 焦点移动顺序 5.6.2 访问键 5.7 禁用的或只读的控件 5.8 向服务器发送表单数据 5.8.1 HTTPget 5.8 2HTTPpost 5.9 本章小结 5.10 练习 第6章 框架 6.1 框架集简介 6.2 使用框架的时机 6.3 元素 6.3.1 cols属性 6.3.2 rows属性 6.3.3 针对元素的浏览器专用扩展 6.4 元素 6.4.1 src属性 6.4.2 name属性 6.4.3 frameborder属性 6.4.4 marginwidth属性和marginheight属性 6.4.5 noresize属性 6.4.6 scrolling属性 6.4.7 longdesc属性 6.5 元素 6.6 创建框架之间的链接 6.7 框架集的嵌套 6.8 利用<iframe>元素创建浮动框架或内联框架 6.9 本章小结 6.10 练习 第7章 层叠样式表 7.1 CSS简介 7.1.1 一个基本的示例 7.1.2 继承 7.2 添加CSS规则的位置 7.2.1 <link>元素 7.2.2 <style>元素 7.2.3 外部CSS样式表的优点 7.3 CSS特性 7.4 控制字体 7.4.1 font-family特性 7.4.2 font-size特性 7.4.3 font-weight特性 7.4.4 font-style特性 7.4.5 font-variant特性 7.4.6 font-stretch特性 7.4.7 font-size.adiust特性 7.5 文本格式化 7.5.1 color特性 7.5.2 text-align特性 7.5.3 vertical-align特性 7.5.4 text-decoration特性 7.5.5 text-indent特性 7.5.6 text-shadow特性 7.5.7 text-transform特性 7.5.8 letter-spacing特性 7.5.9 word-spacing特性 7.5.10 white-space特性 7.5.11 direction特性 7.5.12 unicode-bidi特性 7.6 文本伪类 7.6.1 first-letter伪类 7.6.2 first-line伪类 7.7 选择器 7.7.1 通用选择器 7.7.2 类型选择器 7.7.3 类选择器 7.7.4 id选择器 7.7.5 子选择器 7.7.6 后继选择器 7.7.7 相邻兄弟选择器 7.7.8 利用子选择器和相邻兄弟选择器降低标记中类的相关性 7.7.9 属性选择器 7.8 长度 7.8.1 绝对单位 7.8.2 相对单位 7.8.3 百分比 7.9 框模型简介 7.9.1 演示框模型的示例 7.9.2 Border特性 7.9.3 padding特性 7.9.4 margin特性 7.9.5 面积 7.10 本章小结 7.11 练习 第8章 更多层叠样式表 8.1 链接 8.2 背景 8.2.1 background-color特性 8.2.2 background-image特性 8.2.3 background-repeat特性 8.2.4 background-position特性(用于固定背景的位置) 8.2.5 background-attachment特性(用于水印) 8.2.6 background特性(获得良好支持的简写形式) 8.3 列表 8.3.1 list-style-type特性 8.3.2 list-style-position特性 8.3.3 list-style-image特性 8.3.4 list-style特性(简写形式) 8.3.5 marker-offset特性 8.4 表 8.4.1 表的特性 8.4.2 border-collapse特性 8.4.3 border-spacing特性 8.4.4 caption.side特性 8.4.5 empty-cells特性 8.4.6 table-layout特性 8.5 外边框 8.5.1 outline-width特性 8.5.2 outline-style特性 8.5.3 outline-color特性 8.5.4 outline特性(简写形式) 8.6 :focus伪类和:active伪类 8.7 生成的内容 8.7.1 :before和:after伪元素 8.7.2 content特性 8.8 其他特性 8.8.1 cursor特性 8.8.2 display特性 8.8.3 visibility特性 8.9 额外的规则 8.9.1 @import规则:模块化的样式表 8.9.2 @charset规则 8.9.3 1important规则 8.10 CSS的定位功能 8.10.1 普通流 8.10.2 position特性 8.10.3 框偏移特性 8.10.4 相对定位 8.10.5 绝对定位 …… 第9章 页面布局 第10章 设计问题 第11章 学习JavaScript 第12章 应用JavaScript 第13章 在Web上发布站点 附录 </div> <h3 class="productDescriptionSource">序言</h3> <div class="productDescriptionWrapper"> 目前关于设计和构建Web页面的书籍很多,因此首先感谢您选择阅读本书。本书与其他书籍的不同点是什么呢?Web概念已经出现了十多年,在这期间引入了大量用于创建Web页面的技术,其中一些技术目前还在使用,而其他技术已经消失。许多介绍如何编写Web页面的书籍是相同书籍早期版本的修订,因此仍然采用与以前版本相同的介绍方法。而本书的目的是介绍如何为当今以及将来的Web创建页面。因此,读者阅读完本书之后,仍可将其作为一本有用的参考书放在身边,在需要时随时翻阅。 曾经有一段时间,编写Web页面的程序员仅需要掌握一种编程语言,即HTML语言。但是随着Web技术的发展,为了创建有效并吸引人的Web页面,程序员需要学习更多的技术,需要掌握多种不同语言,主要包括: ·HTML和XHTML:HTML和XHTML用于解释Web页面的结构。它们用于指明哪些文本作为题头,段落的起始位置和结束位置在何处,哪些图像应当出现在文档中,以及指定不同页面之间的链接。不应当将。HTML和XHTML看作是两种独立的语言。相反,可以将XHTML看作是与HTML的最新版本非常相似的语言。 ·CSS:CSS用于控制文档的外观。例如,可以使用CSS指定字型应该是较大的、粗体的Arial字型,或者指定页面的背景应该是亮绿色。另外,还可以使用CSS控制不同项在页面上的位置。例如,利用CSS将文本放置在同一个页面的两列中。 ·JavaScript:利用JavaScript可以在创建的Web页面上添加交互性,并且可以操作显示Web页面的浏览器。 尽管事实上需要掌握多种语言(而不只是HTML),但是可以将HTML看作熟悉Web的好机会,因为HTML中用于创建Web页面的许多技术拥有成熟的、有利的方法;或者将其看作“最佳实践”,因为可以利用它创建完整的Web站点。本书简介 本书将介绍如何利用HTML和XHTML控制Web页面的结构,如何利用CSS赋予Web页面样式,如何利用JavaScfipt添加交互性。但是,只是学习最新的技术并不能确保编写出优秀的Web页面。由于用于编写Web页面的技术不断改进,因此浏览器(用于访问Web的程序和设备)也在改进。浏览器反映——并且有时甚至是通知——用于创建Web页面的语言的发展方向。问题在于并不是每个人都在其计算机上安装了最新软件,因此人们不仅希望编写出的Web页面能够充分利用浏览器的最新功能,而且希望确保Web页面能够在当今仍然流行的较老浏览器上正确显示。 </div> <h3 class="productDescriptionSource">文摘</h3> <div class="productDescriptionWrapper"> 插图: <img src=http://g-ec4.images-amazon.com/images/G/28/cn-legacy/b/b0036wstq6_01_amzn.jpg> 工作原理 您已经多次遇到这段代码中的大部分内容。但是,这段代码主要关注于<img/>元素,每一个<img/>元素添加一幅新图像。在这个示例中存在3个<img/>元素。 <imgsrc="images/apple.jpg"alt="Phot00fredapple"width=="130"height="130"/> 其中src属性指示图像的URL。这个示例中的URL都是相对于images目录的URL,images目录包含在与示例页面相同的目录中。在第2章中提到,组织文件结构非常重要——在这里可以了解这种重要性的原因(可以清晰地表明图像应当位于站点结构中)。 编写的每一个<img/>元素中都应当使用alt属性。如果浏览器无法加载图像,则将显示该属性的内容,并且如果访问者视力受损,该属性值也能告诉他们图像的内容。 width属性和height属性用于告诉浏览器图像的显示大小。通过包含这些属性,浏览器能够更快地布局页面,因为它能够在不等待图像下载完成的情况下显示页面中的其他项。虽然可以使用这两个属性放大或缩小图像,但最好让图像具有希望使用的尺寸。如果让图像更小,应该保存它的一个新版本,而不只是使用这两个属性,这样能够节省访问者的时间和带宽。 3.2 利用<object>元素添加其他对象 W3C在。HTML4中引入了<object>元素,目的是利用它在文档中嵌入所有类型的媒体,除了图像之外,还包括MP3文件、Flash电影、QuickTime电影、JavaScfipt对象、Java小程序等。W3C甚至希望最终可以利用<object>元素在文档中包含图像。 虽然我们习惯于浏览器支持GIF、JPEG图像甚至最近出现的:PNG图像,但并不习惯于其支持MP3声音文件、Flash电影、QuickTime电影或者Java应用程序。当然,对于后面的几种媒体,通常可以使用<object>元素在页面中包含其他一些类型的软件,以便播放或加载相应的媒体文件。例如: ·利用Flash播放器播放:Flash电影; ·利用Windows MediaPlayer播放Windows媒体文件; ·可以在多种播放器中播放MP3,包括。Flash播放器、windows Media播放器、 Quick TimePlayer。 因此,当需要在Web页面中嵌入声音、视频或Java/JavaScript应用程序时,不仅需要具有相应的文件,而且需要选择一种应用程序嵌入到页面中,用于播放/运行该文件。 在页面中包含正确的工具是一项复杂的操作,因为并不是所有的计算机都安装希望使用的应用程序。另外,每一种播放器都具有很多不同的版本。在编写本书时,在Web页面中嵌入移动图形和视频的最常用方式是使用Flash(Flash用于服务站点中的大多数视频和音频文件,例如YouTube站点和MySpace站点)。但是,虽然Flash通常被认为已经在世界上超过95%的计算机上安装,但Flash播放器仅在最新的版本中才支持播放音频和视频。 </div> </div> </div> <script type="text/javascript"> amznJQ.available("jQuery", function() { var seeAllCustomerImage = jQuery("#see-all-customer-image-and-share"); var seeAllCustomerImagelinkHtml = '<a href="/gp/customer-media/upload/B0036WSTQ6?ie=UTF8&rnd=1387986207">共享你的图片</a>'; seeAllCustomerImage.append(seeAllCustomerImagelinkHtml); }); </script> <script type="text/javascript"> amznJQ.onCompletion('amznJQ.criticalFeature', function() { var imageBlockData = eval("("+'{"linkArgs":{"seeAllCustomerMediaAndShare":"共享你的图片","seeAllImagesAndVideoText":"查看所有 1 张图片","asin":"B0036WSTQ6","customerImageNum":0},"imageData":{"x":{"seeAllMediaLinkHtml":"<a href=\\"#\\" onclick=\\"return false;\\"> 查看所有 1 张图片 </a>","thumbHeight":32,"largeHeight":"300","thumbWidth":32,"hasAnnotations":0,"totalCount":1,"seeAllImagesAndVideoText":"查看所有 1 张图片","imgsWithAnnotations":[],"videoCount":0,"hiResHeight":1500,"thumbImageSpace":7,"medias":[{"largeImage":"http://ec4.images-amazon.com/images/I/51nWDd%2BQrXL._SL500_PIsitb-sticker-arrow-big,TopRight,35,-73_OU28_AA300_.jpg","largeImageId":"main_image_0","thumbImageHtml":"\\n\\n\\n\\n <div id=\\"thumb_image_0\\" class=\\"thumb selected\\"><img alt=\\"\\" src=\\"http://ec4.images-amazon.com/images/I/51nWDd%2BQrXL._SL75_AA32_.jpg\\"></div>\\n\\n\\n\\n\\n\\n\\n","stretchyImages":null,"originalLargeImage":"http://ec4.images-amazon.com/images/I/51nWDd%2BQrXL._SL500_PIsitb-sticker-arrow-big,TopRight,35,-73_OU28_.jpg","largeImageHtml":"\\n\\n\\n \\n<div id=\\"main_image_0\\" class=\\"main-image-shot\\">\\n <div class=\\"main-image-outer-wrapper\\">\\n <div class=\\"main-image-middle-wrapper\\">\\n <div class=\\"main-image-inner-wrapper\\">\\n <img src=\\"http://ec4.images-amazon.com/images/I/51nWDd%2BQrXL._SL500_PIsitb-sticker-arrow-big,TopRight,35,-73_OU28_AA300_.jpg\\"\\n />\\n </div>\\n </div>\\n </div>\\n</div>\\n\\n\\n\\n\\n\\n\\n","originalWidth":386,"hiResImage":null,"originalHeight":550,"thumbImage":"http://ec4.images-amazon.com/images/I/51nWDd%2BQrXL._SL75_AA32_.jpg","imageId":"image_0","caption":"","type":"productImage","clickAction":"open_iv","thumbImageId":"thumb_image_0"}],"hiResWidth":1500,"productImageCount":1,"customerImageCount":0,"isUploadCustomerImageDisable":0,"largeWidth":"300"}},"productTitle":"Web编程入门经典:HTML、XHTML和CSS(第2版)","hasAnnotations":0,"productGroupID":"book_display_on_website","initialSetIndex":"x","ivResources":{"ivStaticImages":{"spinner":"http://g-ec4.images-amazon.com/images/G/28/ui/loadIndicators/loading-large_labeled._V200622904_.gif","zoomOut":"http://g-ec4.images-amazon.com/images/G/28/detail-page/cursors/zoom-out._V199309491_.bmp","boxSpinner":"http://g-ec4.images-amazon.com/images/G/28/ui/loadIndicators/loading-large_boxed._V200459489_.gif","videoSWFPath":"http://g-ec4.images-amazon.com/images/G/28/misc/untranslatable-image-id.jpg","noWordsSpinner":"http://g-ec4.images-amazon.com/images/G/28/ui/loadIndicators/loading-large._V201045688_.gif","zoomIn":"http://g-ec4.images-amazon.com/images/G/28/detail-page/cursors/zoom-in._V199309503_.bmp","arrow":"http://g-ec4.images-amazon.com/images/G/28/javascripts/lib/popover/images/light/sprite-vertical-popover-arrow._V176699844_.png","videoThumbIcon":"http://g-ec4.images-amazon.com/images/G/28/Quarterdeck/en_US/images/video.gif"},"ivStaticStrings":{"playVideo":"点击上面播放视频","images":"图片","video":"视频","videos":"视频","close":"关闭","pleaseSelect":"请选择","clickToExpand":"点击打开扩展视图","allMedia":"全部格式"}},"allCustomerImagesWithAnnotaion":[],"videoPlayerConfig":{"swf":"http://g-ec4.images-amazon.com/images/G/28/misc/untranslatable-image-id.jpg"},"maxImageHeight":"300","asin":"B0036WSTQ6","useIV":1,"arrowButtonImageSet":{"deactivatedBack":"http://g-ec4.images-amazon.com/images/G/28/x-locale/image-block/hori-deactivated-left._V394121828_.png","clickedNext":"http://g-ec4.images-amazon.com/images/G/28/x-locale/image-block/hori-clicked-right._V394121831_.png","deactivatedNext":"http://g-ec4.images-amazon.com/images/G/28/x-locale/image-block/hori-deactivated-right._V394121831_.png","normalNext":"http://g-ec4.images-amazon.com/images/G/28/x-locale/image-block/hori-normal-right._V394121833_.png","clickedBack":"http://g-ec4.images-amazon.com/images/G/28/x-locale/image-block/hori-clicked-left._V394121832_.png","normalBack":"http://g-ec4.images-amazon.com/images/G/28/x-locale/image-block/hori-normal-left._V394121829_.png"},"placeHolderImageUrl":"http://g-ec4.images-amazon.com/images/G/28/nav2/dp/no-image-no-ciu._V192234541_AA300_.gif","hasVideo":0,"useTwister":0,"disableNoImageMessage":1,"isUploadCustomerImageDisable":0,"imageSize":{"thumbHeight":32,"hiResHeight":1500,"hiResWidth":1500,"largeWidth":"300","largeHeight":"300","thumbWidth":32},"useChromelessVideoPlayer":0,"isTablets":0}'+")"); amznJQ.available("jQuery", function() { var seeAllMedialink = jQuery("#see-all-image-and-video"); seeAllMedialink.empty(); var seeAllMedialinkHtml = '<a href="#" onclick="return false;"> 查看所有 1 张图片 </a>'; seeAllMedialink.append(seeAllMedialinkHtml); var IVLoadingSpinner =jQuery("<img></img>"); IVLoadingSpinner.attr("id", "loadingImage"); IVLoadingSpinner.attr("src", imageBlockData.ivResources.ivStaticImages["noWordsSpinner"]); IVLoadingSpinner.css({"position":"absolute","z-index": "200", "top":"0px", "left":"0px", "display":"none"}); IVLoadingSpinner.insertBefore(jQuery("#image-block-widget")); }); amznJQ.available("defaultInit", function() { new ImageBlockInit({'data':imageBlockData}); }); }); </script> <script type="text/javascript"> if (window.amznJQ) { amznJQ.onCompletion('amznJQ.criticalFeature', function() { var precacheDetailImages = function(imageUrls, pids) { function transformUrl(imgUrl, pid) { var suffix = '._SL500_AA300_.jpg', defaultApparel = '._AA300_.jpg', imgUrlSplit = imgUrl.split("._"); if (imgUrlSplit.length) { var prefix = imgUrlSplit[0]; if ((!pid && storeName == "books") || pid == "books_display_on_website") { if (imgUrl.match("PIsitb-sticker-arrow")){ var OUID = imgUrl.substr(imgUrl.indexOf('_OU'), 6); var lookInsideSticker = '._BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA300_SH20'+ OUID +'.jpg'; urls.push(prefix + lookInsideSticker); } else { urls.push(prefix + suffix); } } else if ((!pid && storeName == "apparel") || pid == "apparel_display_on_website") { urls.push(prefix + defaultApparel); } else if ((!pid && storeName == "shoes") || pid == "shoes_display_on_website") { urls.push(prefix + defaultApparel); } else { urls.push(prefix + suffix); } } }; var urls = [], numImgsPreload = Math.min(6, imageUrls.length), storeName = "books"; for (var i = 0; i < numImgsPreload; i++){ var currPid = (pids && pids.length) ? pids[i] : ""; transformUrl(imageUrls[i], currPid); } for (var j = 0; j < urls.length; j++) { var img = new Image(); img.src = urls[j]; } }; var win = jQuery(window); var feature = jQuery("#purchaseShvl"); var shvlPresent = feature.length > 0 ? 1:0; var lastCheck = 0; var pending = 0; var onScrollPrecache = function() { if (pending) { return; } var lastCheckDiff = new Date().getTime() - lastCheck; var checkDelay = (lastCheckDiff < 200 ? 200 - lastCheckDiff : 10); pending = 1; var u = function() { if(shvlPresent && (win.scrollTop() + win.height() > feature.offset().top + 200)) { var p = precacheDetailImages, $ = jQuery; if (p) { var selector = "#purchaseButtonWrapper"; var imgElems = $(selector).find("a > div > img"); var pgs, imgs = [], i = imgElems.length; while (i-- > 0) { imgs[i] = $(imgElems[i]).attr('src'); } p(imgs,pgs); } // unbind listening on scroll once pre-caching completed $(window).unbind('scroll', onScrollPrecache); return; } pending = 0; //precache not execute yet, wait next invoke lastCheck = new Date().getTime(); }; setTimeout(u, checkDelay); return; }; jQuery(window).bind('scroll', onScrollPrecache); }); } </script> <div style="clear: left; padding-bottom: 4px;"> <span class="caretback">&#139;&nbsp;</span> <a href="http://www.amazon.cn/Web%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8%E7%BB%8F%E5%85%B8-HTML-XHTML%E5%92%8CCSS-%E8%BE%BE%E7%A7%91%E7%89%B9/dp/B0036WSTQ6">返回商品介绍页</a> </div> <br /> <div id="navFooter" role="contentinfo"><table class="navFooterVerticalColumn" cellspacing="0" align="center"><tr><td class="navFooterLinkCol"><div class="navFooterColHead">了解我们</div><ul><li class="nav_first"><a href="/careers" class="nav_a">人才招聘</a></li><li><a href="/b?ie=UTF8&node=292590071" class="nav_a">关于我们</a></li><li class="nav_last"><a href="/gp/press" class="nav_a">新闻中心</a></li></ul></td><td class="navFooterColSpacerInner"></td><td class="navFooterLinkCol"><div class="navFooterColHead">合作信息</div><ul><li class="nav_first"><a href="http://kaidian.amazon.cn/?ld=AZCNSOAFooter" class="nav_a">我要开店</a></li><li><a href="http://kaidian.amazon.cn/services/fulfilment-by-amazon/benefit/?ld=AZCNFBA-Footer" class="nav_a">亚马逊物流</a></li><li><a href="/lianmeng/default.asp" class="nav_a">加入联盟</a></li><li class="nav_last"><a href="/gp/feature.html?ie=UTF8&docId=192638" class="nav_a">合作伙伴</a></li></ul></td><td class="navFooterColSpacerInner"></td><td class="navFooterLinkCol"><div class="navFooterColHead">购物资讯</div><ul><li class="nav_first"><a href="/gp/sitemap/ts_aps_a" class="nav_a">潜力搜索</a></li><li><a href="/gp/sitemap/tp_aps_a" class="nav_a">潜力商品</a></li><li><a href="/gp/sitemap/sg_a" class="nav_a">购物指南</a></li><li class="nav_last"><a href="/gp/sitemap/p_a" class="nav_a">热门促销</a></li></ul></td><td class="navFooterColSpacerInner"></td><td class="navFooterLinkCol"><div class="navFooterColHead">帮助服务</div><ul><li class="nav_first"><a href="/gp/help/customer/display.html?ie=UTF8&nodeId=200345350" class="nav_a">付款与退款</a></li><li><a href="/mn/remitlist" class="nav_a">汇款单招领</a></li><li><a href="/gp/help/customer/display.html?ie=UTF8&nodeId=200345620" class="nav_a">发货与配送</a></li><li><a href="/gp/css/returns/homepage.html" class="nav_a">退货与换货</a></li><li class="nav_last"><a href="/gp/help/customer/display.html" class="nav_a">帮助</a></li></ul></td></tr></table> <div class="navFooterLine navFooterLogoLine"><a href="/"><img src="http://g-ec4.images-amazon.com/images/G/28/gno/images/general/navAmazonLogoFooter._V169459411_.gif" width="137" alt="amazon.cn" height="19" border="0" /></a></div> <div class="navFooterLine navFooterLinkLine navFooterPadItemLine navFooterLineDivider"><ul><li class="nav_first"><a href="http://www.amazon.com/" class="nav_a">美国</a></li><li><a href="http://www.amazon.ca/" class="nav_a">加拿大</a></li><li><a href="http://www.amazon.com.br" class="nav_a">巴西</a></li><li><a href="http://www.amazon.com.mx/" class="nav_a">墨西哥</a></li><li><a href="http://www.amazon.co.uk/" class="nav_a">英国</a></li><li><a href="http://www.amazon.fr/" class="nav_a">法国</a></li><li><a href="http://www.amazon.it/" class="nav_a">意大利</a></li><li><a href="http://www.amazon.es/" class="nav_a">西班牙</a></li><li><a href="http://www.amazon.de/" class="nav_a">德国</a></li><li><a href="http://www.amazon.co.jp/" class="nav_a">日本</a></li><li><a href="http://www.amazon.in/" class="nav_a">印度</a></li><li class="nav_last"><a href="http://www.amazon.com.au" class="nav_a">澳大利亚</a></li></ul>&nbsp;亚马逊家族网站:<ul><li class="nav_first nav_last"><a href="http://www.shopbop.com/cn/welcome" class="nav_a">Shopbop</a></li></ul></div> <div class="navFooterLine navFooterLinkLine navFooterPadItemLine navFooterLineDivider"><ul><li class="nav_first"><a href="/gp/help/customer/display.html?ie=UTF8&nodeId=200347160" class="nav_a">使用条件</a></li><li class="nav_last"><a href="/gp/help/customer/display.html?ie=UTF8&nodeId=200347130" class="nav_a">隐私声明</a></li></ul>&nbsp;© 1999-2013 Amazon.com, Inc. or its affiliates<ul></ul></div> <div class="navFooterLine navFooterLinkLine navFooterPadItemLine"><ul><li class="nav_first nav_last">互联网药品信息服务资格证书 (京)-非经营性-2012-0005</li></ul></div> <div class="navFooterLine navFooterLinkLine navFooterPadItemLine"><ul><li class="nav_first">京公网安备110105004167号</li><li>增值电信业务经营许可证:</li><li><a href="/gp/redirect.html?location=http://www.miibeian.gov.cn/&token=109E030170D6ED5EEB5D2C65F846C7F93C688EB9" class="nav_a">合字 B2-20090004</a></li><li class="nav_last"><a href="http://qyxy.baic.gov.cn/kscx/kscxAction%21view.dhtml?kscxModel.reg_bus_ent_id=716FD6738F544098A5D9948C83BC228D&flag_cer=0" class="nav_a">营业执照:110105001308484</a></li></ul></div> </div> <!-- whfh-6gpcvaN+/yZs8u4WFGoarZpl8Ny8W2cKi54b2Zz9HiE= rid-18K0K21FNAMSSG4HST14 --> <!--AMZNJQFINAL--> <div id="amznCompressDiv"> </div> <script type="text/javascript"> if (window.amznJQ) { amznJQ.onReady('jQuery', function () { document.cookie="GZ=0;path=/"; setTimeout(function() { jQuery('#amznCompressDiv').append('<iframe id="amznCompressIframe" width="0" height="0" frameborder="0" style="display:none"> </iframe>'); jQuery('#amznCompressIframe').attr('src', '/gp/compression/base/detail'); }, 3000); }); } </script> </div> </body> </html> </style></iframe> 元素 4.2.2 包含表行的 元素 4.2.3 表示表单元格的 元素和 元素 4.3 高级表 4.3.1 将表划分为表头、表主体和表尾 4.3.2 在表中添加 4.3.3 使用colspan属性跨越多列 4.3.4 使用rowspan属性跨越多行 4.3.5 使用 元素分组列 4.3.6 利用 元素让列共享样式 4.4 表的可访问性问题 4.4.1 表的线性化 4.4.2 用于布局的表线性化 4.4.3 用于数据的表线性化 4.5 本章小结 4.6 练习 第5章 表单 5.1 表单简介 5.2 利用

亚马逊链接

基本信息

名称: Java消息服务(第2版)(Java消息服务英文)
作者信息: 作者: 布朗(Mark Richards) [ 中文 pdf ]

简单介绍

《Java消息服务(第2版·影印版)》由东南大学出版社出版。

目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
Foreword
Preface
1. Messaging Basics
The Advantages of Messaging
Heterogeneous Integration
Reduce System Bottlenecks
Increase Scalability
Increase End User Productivity
Architecture Flexibility and Agility
Enterprise Messaging
Centralized Architectures
Decentralized Architectures
Hybrid Architectures
Centralized Architecture As a Model
Messaging Models
Point-to-Point
Publish-and-Subscribe
JMS API
Point-to-Point API
Publish-and-Subscribe API
Real-World Scenarios
Service-Oriented Architecture
Event-Driven Architecture
Heterogeneous Platform Integration
Enterprise Application Integration
Business-to-Business
Geographic Dispersion
Information Broadcasting
Building Dynamic Systems
RPC Versus Asynchronous Messaging
Tightly Coupled RPC
Enterprise Messaging

Developing a Simple Example The Chat Application Getting Started with the Chat Example Examining the Source Code Sessions and Threading Anatomy of a JMS Message Headers Automatically Assigned Headers Developer-Assigned Headers Properties Application-Specific Properties JMS-Defined Properties Provider-Specific Properties Message Types Message TextMessage ObjectMessage BytesMessage StreamMessage MapMessage Read-Only Messages Client-Acknowledged Messages Interoperability and Portability of Messages Point-to-Point Messaging Point-to-Point Overview When to Use Point-to-Point Messaging The QBorrower and QLender Application Configuring and Running the Application The QBorrower Class The QLender Class Message Correlation Dynamic Versus Administered Queues Load Balancing Using Multiple Receivers Examining a Queue Publish-and-Subscribe Messaging Publish-and-Subscribe Overview When to Use Publish-and-Subscribe Messaging The TBorrower and TLender Application Configuring and Running the Application The TLender Class The TBorrower Class Durable Versus Nondurable Subscribers Dynamic Versus Administered Subscribers Unsubscribing Dynamic Durable Subscribers Temporary Topics Message Filtering Message Selectors Identifiers Literals Comparison Operators Arithmetic Operators Declaring a Message Selector Message Selector Examples Managing Claims in an HMO Notification of Certain Bids on Inventory Priority Handling Stock Trade Order Auditing Not Delivered Semantics Design Considerations Guaranteed Messaging and Transactions Guaranteed Messaging Message Autonomy Store-and-Forward Messaging Message Acknowledgments and Failure Conditions Message Acknowledgments AUTO_ACKNOWLEDGE DUPS_OK_ACKNOWLEDGE CLIENT_ACKNOWLEDGE Message Groups and Acknowledgment Handling Redelivery of Messages in an Application Message Groups Example Message Grouping and Multiple Receivers Transacted Messages Creating and Using a JMS Transaction Transacted Session Example Distributed Transactions Lost Connections The ExceptionListener Example Dead Message Queues Java EE and Message-Driven Beans Java EE Overview Enterprise JavaBeans Enterprise JavaBeans 3.0 (EJB3) Overview Simplified Bean Development Dependency Injection Simplified Callback Methods Programmatic Defaults Interceptors Java Persistence API JMS Resources in Java EE The JNDI Environment Naming Context (ENC) Message-Driven Beans Concurrent Processing and Scalability Defining Message-Driven Beans Message-Driven Bean Use Cases Message Facade Transformation and Routing Spring and JMS Spring Messaging Architecture JmsTemplate Overview Send Methods convertAndSend Methods receive and receiveSelected Methods receiveAndConvert Methods Connection Factories and JMS Destinations Using JNDI Using Native Classes Sending Messages Using the send Method Using the convertAndSend Method Using a Nondefault JMS Destination Receiving Messages Synchronously Message-Driven POJOs The Spring Message Listener Container MDP Option 1: Using the MessageListener Interface MDP Option 2: Using the SessionAwareMessageListener Interface MDP Option 3: Using the MessageListenerAdapter Message Conversion Limitations The Spring JMS Namespace [jms:listener-container] Element Properties [jms:listener] Element Properties Deployment Considerations Performance, Scalability, and Reliability Determining Message Throughput Requirements Testing the Real-World Scenario To Multicast or Not to Multicast TCP/IP UDP IP Multicast Messaging Over IP Multicast The Bottom Line Security Authentication Authorization Secure Communication Firewalls and HTTP Tunneling Connecting to the Outside World Bridging to Other Messaging Systems Messaging Design Considerations Internal Versus External Destination Internal Destination Topology External Destination Topology Request/Reply Messaging Design Messaging Design Anti-Patterns Single-Purpose Queue Message Priority Overuse Message Header Misuse The Java Message Service API Message Headers Message Properties Installing and Configuring ActiveMQ Index

亚马逊链接

基本信息

名称: jQuery攻略
作者信息: 作者: 哈瓦尼(B.M.Harwani) [ 中文 pdf ]

简单介绍

《jQuery攻略》:jQuery是目前应用最广泛的。JavaScript框架之一,已经成为微软ASP.NET、Visual Studio和诺基亚Web Run Time等主流开发平台的重要组成部分。借助jQuery的魔力,数十行。JavaScrip代码可以被神奇地压缩成区区几行。诸多Web开发人员就是在那一瞬间深深迷恋上了这个方便快捷、功能完备的利器。《jQuery攻略》从实际应用角度出发,介绍了使用jQuery的方方面面。不仅包括处理字符串等比较基础的内容。还涉及表单验证、视觉特效等进阶知识,以及如何使用它来实现Ajax功能。如何使用插件得到更高的开发效率,等等,几乎囊括了在使用jQuery的过程中遇到的各类问题。此外。作者按照“问题描述——解决方案——知其所以然”的思路组织全书内容,将各种实用的jQuery技巧穿插在案例中,使读者轻松掌握jQuery。 jQuery专家力作 jQuery实用技巧大全 深入浅出,切中肯綮

目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
第1章 jQuery基础知识 1
1.1 jQuery的安装 1
1.2 选择DOM节点 2
1.3 延迟JavaScript的执行 3
1.4 把CSS应用到元素上 3
1.5 选择一系列非标准的HTML元素 4
1.6 计数DOM节点和显示其文本 5
1.7 获得一个元素的HTML代码 7
1.8 改变DOM节点的内容 8
1.9 快速创建DOM节点 9
1.10 为不同HTML元素分配相同类名并对它们应用样式 12
1.11 小结 13

第2章 数组和字符串 14 2.1 利用数组在列表中显示名字 14 2.2 操作数组元素 17 2.3 筛选数组元素,只显示所需的数据 19 2.4 字符串数组和数值数组的排序 22 2.5 拆分数组 24 2.6 合并数组 26 2.7 把数值数组转换成字符串,并查找其子字符串 27 2.8 创建对象数组 28 2.9 为对象数组排序 30 2.10 小结 32

第3章 事件处理 33 3.1 查找被点击的按钮 34 3.2 自动触发事件 37 3.3 点击之后禁用按钮 39 3.4 处理鼠标事件 40 3.5 查明哪个鼠标键被按下 43 3.6 查找鼠标按下时的屏幕坐标 44 3.7 动态地突出显示文本 45 3.8 随着鼠标移动使图像明亮或模糊 47 3.9 查明元素何时获得和失去焦点 49 3.10 在按钮上应用悬停效果 50 3.11 切换应用一个CSS类 52 3.12 创建基于图像的变换 54 3.13 为响应事件而添加和删除文本 57 3.14 应用样式作为对事件的响应 58 3.15 显示文字气球 60 3.16 创建“返回顶部”链接 63 3.17 提供“更多……”链接 64 3.18 以动画效果显示文本 67 3.19 以滑动效果来替换文本 70 3.20 使图像滚动 71 3.21 确定被按下的键 75 3.22 防止事件冒泡 77 3.23 链接多个活动 80 3.24 小结 81

第4章 表单验证 82 4.1 确认必需字段不留空 82 4.2 验证数字字段 84 4.3 验证电话号码 88 4.4 验证用户ID 90 4.5 验证日期 92 4.6 验证电子邮件地址 94 4.7 检查复选框是否被选中 96 4.8 检查单选按钮是否被选中 99 4.9 检查select元素中的选项是否被选中 101 4.10 把样式应用到选项和表格按钮 104 4.11 一步选择或取消所有的复选框 107 4.12 验证两个字段 110 4.13 验证密码和确认密码字段是否匹配 113 4.14 禁用某些字段 116 4.15 验证整个表单 118 4.16 表单数据序列化 128 4.17 小结 132

第5章 页面导航 133 5.1 编写面包屑菜单 133 5.2 把悬停效果添加到菜单项 135 5.3 创建上下文菜单 137 5.4 创建具有快捷键的导航菜单 140 5.5 创建一个右键单击上下文菜单 144 5.6 创建具有独立菜单项的两个菜单 147 5.7 建立包含子菜单项的两个菜单 149 5.8 创建折叠式菜单 153 5.9 创建动态可视化菜单 156 5.10 小结 161

第6章 视觉特效 162 6.1 水平和垂直显示图片 162 6.2 创建水平滑动的图片浏览器 165 6.3 显示一幅图片,点击时向左滚动并消失 166 6.4 创建图片,使它向左滚动消失,然后从右侧重新出现 169 6.5 使图片在浏览器窗口中间滚动 171 6.6 在鼠标悬停时依次显示图片 172 6.7 垂直滚动图片 175 6.8 水平滚动图片 179 6.9 创建新闻滚动浏览器 183 6.10 在鼠标悬停时显示放大的图片 188 6.11 按页显示图片 193 6.12 在任意两个方向上切换图片 196 6.13 编写钟摆式滚动器 199 6.14 使用数组来滚动图片 202 6.15 小结 205

第7章 处理表格 206 7.1 在鼠标悬停时突出显示行 206 7.2 交替突出显示相邻列 207 7.3 过滤行 211 7.4 隐藏选定列 213 7.5 分页显示表格 215 7.6 展开和折叠列表项 218 7.7 展开和折叠行 221 7.8 对列表项目排序 226 7.9 对表格排序 227 7.10 过滤表格中的行 233 7.11 小结 235

第8章 Ajax 237 8.1 显示欢迎信息 237 8.2 执行认证 241 8.3 验证用户名 243 8.4 验证邮件地址 246 8.5 使用自动完成 252 8.6 导入HTML 256 8.7 取得JSON数据 259 8.8 取得XML数据 261 8.9 分页显示表格 265 8.10 小结 268

第9章 使用插件 269 9.1 对表格的任一列进行过滤,并且可以设置每页的行数 269 9.2 为图片添加注解 271 9.3 拖放表格中的行 273 9.4 取得、序列化并清理表单控件 275 9.5 通过Ajax提交表单 277 9.6 找到元素的准确位置和大小 281 9.7 以传送带的方式显示图片 284 9.8 使用datepicker选择日期 286 9.9 对表格排序 288 9.10 小结 289

第10章 使用CSS 290 10.1 区分HTML元素 291 10.2 向内嵌在一个元素中的另一个元素应用样式 292 10.3 缩进段落 293 10.4 将段落的首字母设为大写 294 10.5 去除标题和段落之间的间隔 295 10.6 向标题文字应用样式 297 10.7 缩进多个段落的第一行 297 10.8 创建带有悬挂缩进的段落 298 10.9 创建带有边框的提取引用 299 10.10 创建带有图片的提取引用 301 10.11 向列表项应用列表属性 302 10.12 只对选定的列表项应用样式 303 10.13 在列表项之间放置分隔线 306 10.14 向列表应用图片标记 307 10.15 创建水平显示的列表 308 10.16 在超链接上应用样式 309 10.17 为HTML元素赋予不同的尺寸 311 10.18 放置HTML元素 313 10.19 创建多栏的布局 314 10.20 使文字围绕图片显示 316 10.21 在图片背后放置阴影 317 10.22 当鼠标移过链接的时候改变鼠标样式 319 10.23 在指定的区域中显示长文字 320 10.24 创建圆角的栏 322 10.25 应用文字装饰 323 10.26 缩放图片 324 10.27 设置背景图片 326 10.28 使背景图片在浏览器中央显示 327 10.29 保持背景图片固定 328 10.30 小结 330

亚马逊链接

基本信息

名称: iPhone开发秘籍(第2版)
作者信息: 作者: 萨丹(Erica Sadun) [ 中文 pdf ]

简单介绍

《iPhone开发秘籍(第2版)》:iPhone开发的重量级参考书揭示官方文档未详述的细节代码示例清晰易懂想要为iPhone和iPod touch构建应用吗?是否已投身iPhone应用开发之列,并想迅速提升自己的功力?《iPhone开发秘籍(第2版)》将为你提供专家级的指导,带你领略绝妙的代码示例!《iPhone开发秘籍(第2版)》在第一版的基础上进行了全面修订和大量扩充,当之无愧地成为iPhone开发的必备佳作。《iPhone开发秘籍(第2版)》面向已经熟悉ObjectiVe-C、Xcode和C0coa框架的中高级iPhone和Mac开发人员。并简单介绍TObjective-C、Xcode和Inte rface Builder-以便没有这些语言(或工具)使用经验的开发人员也能够快速融入Mac/iPhone世界。《iPhone开发秘籍(第2版)》这一版新增内容主要包括:使用iPhone SDK设计和定制界面使用手势、触摸和其他高级界面功能充分挖掘表、视图、视图控制器和动画的潜力使用进度条、状态栏更新和其他指示器使用推送通知功能发送消息用MediaKit播放音频与视频使用地址簿、Core Locatjon和传感器连接网络和Web服务使MapKit~Google Mobile Maps嵌入地图使用GameKit构建多人游戏使用Core Data构建数据驱动的应用使用StoreKit开发应用内购买的功能与服务使用辅助功能构建残障人士可访问的应用

目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
第1章 iphone sdk简介 1
1.1 iphone开发人员计划 1
1.1.1 在线开发人员计划 1
1.1.2 标准开发人员计划 2
1.1.3 企业开发人员计划 2
1.1.4 大学开发人员计划 2
1.1.5 注册 2
1.2 开始 2
1.2.1 下载sdk 2
1.2.2 开发设备 3
1.2.3 模拟器的限制 4
1.2.4 tethering 4
1.3 理解型号差异 5
1.3.1 摄像头 5
1.3.2 扬声器和麦克风 5
1.3.3 手机 6
1.3.4 core location的差异 6
1.3.5 振动支持和接近传感器 6
1.3.6 处理器速度 6
1.3.7 opengl es 7
1.4 平台限制 7
1.4.1 存储限制 7
1.4.2 数据访问限制 7
1.4.3 内存限制 7
1.4.4 交互限制 8
1.4.5 电量限制 8
1.4.6 应用程序限制 8
1.4.7 用户行为限制 9
1.5 sdk限制 9
1.6 使用开发人员门户 9
1.6.1 建立团队 10
1.6.2 请求证书 10
1.6.3 注册设备 11
1.6.4 注册应用程序标识符 11
1.6.5 设置 12
1.7 组建iphone项目 12
1.7.1 iphone应用程序的主干 13
1.7.2 main.m 14
1.7.3 应用程序委托 15
1.7.4 视图控制器 16
1.7.5 关于本书示例代码的说明 16
1.8 iphone应用程序组件 17
1.8.1 应用程序文件夹层次结构 17
1.8.2 可执行文件 17
1.8.3 info.plist文件 17
1.8.4 图标和默认图像 19
1.8.5 nib文件 20
1.8.6 应用程序束中不存在的文件 20
1.8.7 ipa归档 20
1.8.8 沙盒 20
1.9 编程范例 21
1.9.1 面向对象编程 21
1.9.2 模型-视图-控制器 22
1.10 小结 27

第2章 构建第一个项目 28 2.1 创建新项目 28 2.2 用模板构建hello world应用程序 29 2.2.1 创建新项目 29 2.2.2 project窗口 30 2.2.3 detail窗格 31 2.2.4 编辑器窗口 32 2.2.5 查看项目 32 2.2.6 打开视图控制器.xib 33 2.2.7 编辑视图 34 2.2.8 运行应用程序 34 2.3 使用模拟器 35 2.4 极简单的hello world 36 2.4.1 浏览sdk api 38 2.4.2 将interface builder文件转换成objective-c代码 39 2.5 使用调试器 41 2.5.1 设置断点 41 2.5.2 打开调试器 41 2.5.3 运行程序 41 2.5.4 查看标签 42 2.5.5 设置另一个断点 42 2.5.6 使用文本消息 43 2.5.7 移动clear log按钮 43 2.5.8 启用zombie 44 2.6 内存管理 45 2.6.1 泄漏 45 2.6.2 缓存 45 2.7 秘诀:使用instruments检测内存泄漏 46 2.8 秘诀:使用instruments监视缓存对象的内存分配 48 2.9 使用clang静态分析器 50 2.10 针对iphone进行构建 51 2.10.1 安装开发配置 51 2.10.2 编辑应用程序标识符 51 2.10.3 设置code signing identity 52 2.10.4 编译和运行hello world应用程序 53 2.10.5 对编译后的应用程序签名 53 2.11 从xcode到iphone:organizer interface 54 2.11.1 projects and sources列表 54 2.11.2 devices列表 55 2.11.3 iphone development tools列表 55 2.11.4 summary选项卡 55 2.11.5 console选项卡 56 2.11.6 crash logs选项卡 56 2.11.7 screenshot选项卡 57 2.12 使用编译器指令 57 2.12.1 获得特定于iphone的定义 58 2.12.2 运行时检查 58 2.12.3 记忆标记 59 2.12.4 折叠方法 60 2.13 针对发布进行构建 60 2.14 清除构建 61 2.14.1 针对app store进行编译 62 2.14.2 调试app store上传 63 2.15 针对临时发布进行构建 64 2.15.1 注册设备 64 2.15.2 构建临时配置 64 2.15.3 在项目中添加授权文件 64 2.15.4 在设置中添加授权文件 64 2.15.5 构建临时应用程序 65 2.15.6 为临时发布添加图片 65 2.16 定制xcode标识 66 2.17 创建自定义xcode模板 66 2.17.1 覆盖com.yourcompany 67 2.17.2 构建其他模板 67 2.18 并排查看代码 68 2.19 小结 69

第3章 objective-c训练营 70 3.1 objective-c编程语言 70 3.2 类与对象 70 3.2.1 创建对象 72 3.2.2 内存分配 72 3.2.3 释放内存 73 3.3 方法、消息和选择器 73 3.3.1 动态类型检查 74 3.3.2 继承方法 75 3.3.3 声明方法 76 3.3.4 实现方法 76 3.3.5 类方法 78 3.3.6 快速枚举 78 3.4 类层次结构 79 3.5 日志信息 79 3.6 属性 81 3.6.1 点表示法 81 3.6.2 属性与内存管理 81 3.6.3 创建属性 82 3.6.4 创建自定义的取值方法和赋值方法 83 3.6.5 属性的特性 84 3.7 简单的内存管理 85 3.7.1 创建对象 85 3.7.2 创建自动释放的对象 86 3.7.3 自动释放对象的生命周期 87 3.7.4 保留自动释放的对象 87 3.7.5 已保留属性 87 3.7.6 高保留计数 89 3.7.7 创建对象的其他方式 90 3.7.8 释放对象 91 3.8 创建单例 93 3.9 类别(扩展类) 93 3.10 协议 94 3.10.1 定义协议 95 3.10.2 合并协议 95 3.10.3 增加回调 95 3.10.4 声明可选回调 96 3.10.5 实现可选回调 96 3.10.6 符合协议 97 3.11 foundation类 97 3.11.1 字符串 98 3.11.2 数字与日期 101 3.11.3 集合 103 3.12 补充内容:消息转发 107 3.12.1 实现消息转发 108 3.12.2 使用转发消息 109 3.12.3 思路整理 109 3.12.4 超级简单的转发 110 3.13 小结 110

第4章 设计界面 111 4.1 uiview和uiwindow 111 4.1.1 显示数据的视图 111 4.1.2 做出选择的视图 112 4.1.3 控件 112 4.1.4 表格和拾取器 113 4.1.5 栏 113 4.1.6 进度与活动 114 4.2 uiviewcontroller 114 4.2.1 uiviewcontroller 114 4.2.2 uinavigationcontroller 115 4.2.3 uitabbarcontroller 115 4.2.4 表格控制器 115 4.2.5 地址簿控制器 116 4.2.6 uiimagepickercontroller 116 4.2.7 邮件撰写 116 4.2.8 gkpeerpickercontroller 116 4.2.9 media player控制器 117 4.3 视图设计几何学 117 4.3.1 状态栏 117 4.3.2 导航栏、工具栏和选项卡栏 118 4.3.3 键盘和拾取器 119 4.3.4 文本字段 120 4.3.5 uiscreen类 120 4.4 构建界面 120 4.5 实战演练:使用ib构建温度单位转换器 121 4.5.1 新建项目 121 4.5.2 添加媒体 121 4.5.3 interface builder 121 4.5.4 编辑导航栏 122 4.5.5 替换主视图 123 4.5.6 启用仿真元素 123 4.5.7 创建图像背景 123 4.5.8 添加标签和视图 123 4.5.9 测试界面 124 4.5.10 添加出口和动作 124 4.5.11 检查新类头 125 4.5.12 添加连接 126 4.5.13 获取紫色 126 4.5.14 定义转换方法 127 4.5.15 运行应用程序 127 4.6 实战演练:手动构建温度单位转换器界面 127 4.7 实战演练:创建混合转换器 130 4.7.1 清理基本模板 131 4.7.2 通过.xib添加新视图控制器类 131 4.7.3 设计界面 131 4.7.4 编辑视图控制器实现 132 4.7.5 编辑main.m 132 4.7.6 运行应用程序 133 4.8 实战演练:直接从代码加载.xib文件 133 4.8.1 清理.xib 134 4.8.2 更新loadview 134 4.9 针对旋转进行设计 134 4.10 启用旋转 135 4.11 自动调整大小 136 4.11.1 自动调整大小示例 136 4.11.2 评估自动调整大小选项 138 4.12 移动视图 138 4.13 交换视图 141 4.14 补充内容:6个有用的interface builder技巧 142 4.15 小结 143

第5章 使用视图控制器 144 5.1 使用导航控制器开发 144 5.1.1 设置导航控制器 144 5.1.2 推入和弹出视图控制器 145 5.1.3 导航项类 145 5.1.4 模态演示 146 5.2 实用工具函数 146 5.3 秘诀:构建一个简单的双项菜单 147 5.4 秘诀:添加一个分段控件 149 5.5 秘诀:在视图控制器之间导航 150 5.6 秘诀:使用创意弹出选项 152 5.6.1 加载一个视图控制器数组 152 5.6.2 推入临时视图 152 5.7 秘诀:演示一个自定义模态信息视图 153 5.8 秘诀:选项卡栏 155 5.9 秘诀:记住选项卡状态 157 5.10 补充点:interface builder和选项卡栏控制器 160 5.11 小结 161

第6章 组合视图和动画 162 6.1 视图层次结构 162 6.2 秘诀:建立视图层次结构树 163 6.3 秘诀:查询子视图 164 6.4 管理子视图 166 6.4.1 添加子视图 166 6.4.2 重新排序和删除子视图 166 6.4.3 视图回调 166 6.5 秘诀:标记和检索视图 167 6.6 秘诀:命名视图 168 6.7 视图的几何特征 172 6.7.1 框架 172 6.7.2 变换 173 6.7.3 坐标系 173 6.8 秘诀:视图框架的处理 173 6.8.1 调整大小 174 6.8.2 cgrect和中心 175 6.8.3 其他实用工具方法 176 6.9 秘诀:移动带边界的视图到任意位置 179 6.10 秘诀:视图变形 180 6.11 显示和交互特性 183 6.12 uiview动画 183 6.12.1 建立uiview动画块 184 6.12.2 动画回调 184 6.13 秘诀:视图的淡入和淡出 185 6.14 秘诀:视图交换 186 6.15 秘诀:翻转视图 187 6.16 秘诀:使用core animation transitions 188 6.17 秘诀:一般的core animation调用 190 6.18 翻页过渡 192 6.19 秘诀:当视图显示时反弹视图 193 6.20 秘诀:图像视图动画 195 6.21 补充内容:给视图添加映射 196 6.22 小结 199

第7章 图像处理 201 7.1 秘诀:查找和加载图像 201 7.1.1 读取图像数据 201 7.1.2 加载图像文件 203 7.2 秘诀:从iphone相册访问照片 205 7.2.1 使用图像拾取器 206 7.2.2 添加2.x支持 206 7.2.3 添加3.1支持 206 7.2.4 拾取视频 206 7.3 秘诀:选择和定制相册中的图像 208 7.4 秘诀:拍摄照片并将照片写到相册上 210 7.5 秘诀:将图片保存到documents文件夹 212 7.6 秘诀:通过电子邮件发送图片 213 7.7 秘诀:捕捉定时拍摄的照片 214 7.8 秘诀:使用定制摄像头覆盖图 216 7.9 秘诀:在可滚动视图中显示图像 218 7.10 秘诀:创建多图像分页滚动 220 7.11 秘诀:从头开始创建新图像 221 7.12 秘诀:构建图像缩略图 224 7.13 调整照片方向 227 7.14 捕捉屏幕截图 229 7.15 秘诀:直接处理位图 230 7.15.1 在位图上下文中绘制 230 7.15.2 应用图像处理 232 7.15.3 图像处理实况 233 7.16 补充内容:灰度模式 236 7.17 小结 237

第8章 手势和触摸 238 8.1 触摸 238 8.1.1 阶段 238 8.1.2 触摸和视图方法 239 8.1.3 触摸视图 239 8.1.4 多点触摸 240 8.2 秘诀:添加一个简单直观的操作界面 240 8.3 秘诀:限制移动 241 8.4 秘诀:测试触摸 242 8.5 秘诀:测试位图上的触摸 243 8.6 秘诀:向直接操作界面添加持久性 246 8.6.1 存储状态 246 8.6.2 恢复状态 247 8.7 秘诀:通过归档实现持久性 248 8.8 秘诀:添加撤销支持 250 8.8.1 创建撤销管理器 250 8.8.2 子视图撤销支持 250 8.8.3 使用导航栏 250 8.8.4 注册撤销 251 8.9 秘诀:添加晃动控制的撤销支持 252 8.9.1 添加撤销和恢复的动作名称 253 8.9.2 提供晃动以编辑支持 253 8.9.3 设置第一个响应程序 253 8.10 秘诀:屏幕绘图 254 8.11 秘诀:线的计算 255 8.12 秘诀:检测圆形 257 8.13 秘诀:多点触摸 259 8.14 秘诀:区分手势 260 8.15 补充内容:交互式调整大小和旋转 264 8.16 小结 269

第9章 构建和使用控件 270 9.1 uicontrol类 270 9.1.1 控件种类 270 9.1.2 控件事件 270 9.2 按钮 272 9.3 在interface builder中添加按钮 273 9.3.1 样式 273 9.3.2 连接按钮与动作 274 9.3.3 假按钮 275 9.4 在xcode中构建定制按钮 275 9.5 多行按钮文本 277 9.6 向按钮添加动画元素 277 9.7 秘诀:为按钮响应制作动画效果 278 9.8 秘诀:使用开关 279 9.9 秘诀:添加定制滑块缩略图 281 9.9.1 定制uislider 281 9.9.2 增加效能 282 9.10 秘诀:创建一个可两次点击的分段控件 286 9.11 秘诀:子类化uicontrol 287 9.11.1 跟踪触摸 288 9.11.2 分派事件 288 9.12 秘诀:关闭uitextfield键盘 290 9.12.1 文本特征属性 291 9.12.2 其他文本字段属性 291 9.13 秘诀:关闭uitextview键盘 292 9.14 秘诀:构建更好的文本编辑器 294 9.15 秘诀:文本输入筛选 296 9.16 秘诀:添加一个页面指示器控件 298 9.17 秘诀:创建一个可定制的分页滚动条 300 9.18 秘诀:构建工具栏 304 9.18.1 在xcode中构建工具栏 305 9.18.2 工具栏提示 307 9.19 补充内容:智能标签 307 9.20 小结 308

第10章 提醒用户 309 10.1 通过警告框直接与用户对话 309 10.1.1 构建简单的警告框 309 10.1.2 警告框委托 310 10.1.3 显示警告框 311 10.1.4 警告框类 311 10.2 秘诀:无按钮警告框 312 10.3 秘诀:使用run循环创建模态警告框 313 10.4 秘诀:要求用户进行文本输入 316 10.5 秘诀:对警告框视图使用可变参数 318 10.6 秘诀:展示简单的菜单 319 10.7 秘诀:在动作表中显示文本 321 10.8 “please wait”:向用户显示进度 321 10.9 秘诀:构建uiprogressview 322 10.10 构建定制覆盖图 324 10.11 秘诀:可点击的覆盖图 326 10.12 秘诀:可调整方向的滚动警告框 327 10.13 秘诀:使用网络活动指示器 329 10.14 秘诀:给应用程序贴标记 329 10.15 秘诀:简单的音频警告 330 10.15.1 系统声音 330 10.15.2 震动 331 10.15.3 警告 331 10.15.4 延迟 332 10.16 补充内容:展示音量警告框 333 10.17 小结 333

第11章 创建和管理表格视图 335 第12章 使用gamekit和bonjour进行连接 391 第13章 网络连接 432 第14章 设备能力 471 第15章 音频、视频和媒体工具 488 第16章 推送通知 525 第17章 使用core location和mapkit 552 第18章 连接地址簿 578 第19章 使用core data 605 第20章 storekit:应用程序内购买 623 第21章 辅助功能以及其他iphone os服务 637 附录a info.plist密钥 653

亚马逊链接

基本信息

名称: 程序员的思维修炼 开发认知潜能的九堂课
作者信息: 作者: 亨特(Andy Hunt) [ 中文 pdf ]

简单介绍

《程序员的思维修炼:开发认知潜能的九堂课》:做一名程序员,就意味着要不断地学习,不但要学习新技术,还要学习怎么解决应用领域的问题,要了解用户社区的奇思妙想,要适应同事的怪癖,等等。在《程序员的思维修炼:开发认知潜能的九堂课》中。作者将带领大家共同经历一次有关认知科学、神经学、学习和行为理论的旅程,探索人类大脑令人惊奇的工作机制,并研究如何克服这一系统局限来提高自己的学习和思考技能。书中主要内容包括:成为一名专家级程序员的关键要素,大脑运行机制简介,如何正确使用和调试大脑。改进学习能力的具体技巧,如何通过自我引导积累经验。控制注意力的方法。为了让读者加深印象。作者还特别设立了一个“实践单元”,其中包括具体的练习和实验,旨在让读者真正掌握所学内容。生命中没有什么是一成不变的。人们需要改变自己的习惯和方法。不论你是程序员、软件公司管理者、技术奇人还是思想家。或者你只是想让自己的大脑更聪明一点儿,所有尝试改变自己的人,请把《程序员的思维修炼:开发认知潜能的九堂课》当作改变的开始……

目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
第1章 绪论 1
1.1 再提“实用” 3
1.2 关注情境 4
1.3 所有人都关注这些技能 5
1.4 本书结构 6
1.5 致谢 9

第2章 从新手到专家的历程 11 2.1 新手与专家 12 2.2 德雷福斯模型的5个阶段 15 2.3 现实中的德雷福斯模型:赛马和赛羊 21 2.4 有效地使用德雷福斯模型 26 2.5 警惕工具陷阱 32 2.6 再一次考虑情境 34 2.7 日常的德雷福斯模型 35

第3章 认识你的大脑 37 3.1 双CPU模式 38 3.2 随时(24×7)记录想法 42 3.3 L型和R型的特征 45 3.4 R型的崛起 51 3.5 R型看森林,L型看树木 56 3.6 DIY脑部手术和神经可塑性 57 3.7 如何更上一层楼 58

第4章 利用右脑 60 4.1 启动感观输入 60 4.2 用右脑画画 62 4.3 促成R型到L型的转换 66 4.4 收获R型线索 76 4.5 收获模式 85 4.6 正确理解 91

第5章 调试你的大脑 93 5.1 了解认知偏见 94 5.2 认清时代影响 102 5.3 了解个性倾向 109 5.4 找出硬件问题 112 5.5 现在我不知道该思考什么 116

第6章 主动学习 119 6.1 学习是什么……不是什么 119 6.2 瞄准SMART目标 122 6.3 建立一个务实的投资计划 126 6.4 使用你的原生学习模式 130 6.5 一起工作,一起学习 134 6.6 使用增强的学习法 136 6.7 使用SQ3R法主动阅读 137 6.8 使用思维导图 140 6.9 利用文档的真正力量 146 6.10 以教代学 148 6.11 付诸实践 149

第7章 积累经验 150 7.1 为了学习而玩耍 150 7.2 利用现有知识 154 7.3 正确对待实践中的失败 155 7.4 了解内在诀窍 158 7.5 压力扼杀认知 162 7.6 想象超越感观 165 7.7 像专家一样学习 169

第8章 控制注意力 171 8.1 提高注意力 172 8.2 通过分散注意力来集中注意力 177 8.3 管理知识 179 8.4 优化当前情境 185 8.5 积极地管理干扰 190 8.6 保持足够大的情境 195 8.7 如何保持注意力 199

第9章 超越专家 200 9.1 有效的改变 200 9.2 明天上午做什么 202 9.3 超越专家 203

附录A 图片授权 206 附录B 参考文献 207

亚马逊链接

基本信息

名称: 编程人生 15位软件先驱访谈录
作者信息: 作者: 塞贝尔(Peter Seibel) [ 中文 pdf ]

简单介绍

《编程人生:15位软件先驱访谈录》是他在近80个小时的访谈录音基础上整理汇编而成的。放下手头的工作。听听这些软件先驱们的故事和建议,眼界可以更开阔。思路可以更清晰,方向可以更明确。人生可以更精彩。作者Peter Seibel采访了下面这15位世界级编程大师。世界顶尖的程序员是怎么走上编程道路的?他们的编程工作创造和改变了人类历史,在这一过程中都有哪些经验和教训?他们对计算机软件行业的过去、现在和未来有什么独到的见解?他们对培养、发现、选拔、面试优秀的程序员有什么建议?

目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
第1篇 Jamie Zawinski 1
第2篇 Brad Fitzpatrick 37
第3篇 Douglas Crockford 69
第4篇 Brendan Eich 101
第5篇 Joshua Bloch 129
第6篇 Joe Armstrong 157
第7篇 Simon Peyton Jones 185
第8篇 Peter Norvig 221
第9篇 Guy Steele 253
第10篇 Dan Ingalls 289
第11篇 L Peter Deutsch 321
第12篇 Ken Thompson 347
第13篇 Fran Allen 375
第14篇 Bernie Cosell 401
第15篇 Donald Knuth 435
参考书目 471

亚马逊链接

基本信息

名称: jQuery权威指南
作者信息: 作者: 陶国荣 [ 中文 pdf ]

简单介绍

《jQuery权威指南》内容全面,系统地讲解了jQuery的方方面面,实战性强,全书包含118个示例和2个综合案例,资深专家亲自执笔,4大专业社区一致鼎力推荐。jQuery是继Prototype之后的又一个优秀JavaScript框架,深受全球开发者欢迎,已经成为Web开发领域的事实标准。iQLJery以其轻巧的体积、强大的选择器、出色的DOM封装、丰富的插件支持使得广大的Web前端开发者得心应手,极大地提高了他们的开发效率;此外,jQuery中完善的Ajax功能、行为与结构层的分离、可靠的事件处理机制也同样使得Web后端开发者如虎添翼,使用少量代码就可以实现复杂的功能。特别是新版本1.4.X的发布,jQuery在功能和性能方面都有质的提升,极大地满足了广大开发者提出的更高要求。因此,为了提高Web开发的效率和强化Web应用的功能,熟练使用iQuery是Web开发者必备的一种能力。

目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
前言
第1章 jquery开发入门
1.1 jquery概述
1.1.1 认识jquery
1.1.2 jquery基本功能
1.1.3 搭建jquery开发环境
1.1.4 编写第一个简单的jquery应用
1.1.5 jquery程序的代码风格
1.2 jquery的简单应用
1.2.1 jquery访问dom对象
1.2.2 jquery控制dom对象
1.2.3 jquery控制页面css
1.3 本章小结

第2章 jquery选择器 2.1 jquery选择器概述 2.1.1 什么是选择器 2.1.2 选择器的优势 2.2 jquery选择器详解 2.2.1 基本选择器 2.2.2 层次选择器 2.2.3 简单过滤选择器 2.2.4 内容过滤选择器 2.2.5 可见性过滤选择器 2.2.6 属性过滤选择器 2.2.7 子元素过滤选择器 2.2.8 表单对象属性过滤选择器 2.2.9 表单选择器 2.3 综合案例分析-导航条在项目中的应用 2.3.1 需求分析 2.3.2 效果界面 2.3.3 功能实现 2.3.4 代码分析 2.4 本章小结

第3章 jquery操作dom 3.1 dom基础 3.2 访问元素 3.2.1 元素属性操作 3.2.2 元素内容操作 3.2.3 获取或设置元素值 3.2.4 元素样式操作 3.3 创建节点元素 3.4 插入节点 3.4.1 内部插入节点方法 3.4.2 外部插入节点方法 3.5 复制节点 3.6 替换节点 3.7 包裹节点 3.8 遍历元素 3.9 删除元素 3.1 0综合案例分析-数据删除和图片预览在项目中的应用 3.1 0.1 需求分析 3.1 0.2 效果界面 3.1 0.3 功能实现 3.1 0.4 代码分析 3.1 1本章小结

第4章 jquery中的事件与应用 4.1 事件机制 4.2 页面载入事件 4.2.1 ready()方法的工作原理 4.2.2 ready()方法的几种相同写法 4.3 绑定事件 4.4 切换事件 4.4.1 hover()方法 4.4.2 toggle()方法 4.5 移除事件 4.6 其他事件 4.6.1 方法one() 4.6.2 方法trigger() 4.7 表单应用 4.7.1 文本框中的事件应用 4.7.2 下拉列表框中的事件应用 4.8 列表应用 4.9 网页选项卡的应用 4.10 综合案例分析-删除数据时的提示效果在项目中的应用 4.10.1 需求分析 4.10.2 效果界面 4.10.3 功能实现 4.10.4 代码分析 4.11 本章小结

第5章 jquery的动画与特效 5.1 显示与隐藏 5.1.1 show()与hide()方法 5.1.2 动画效果的show()与hide()方法 5.1.3 toggle()方法 5.2 滑动 5.2.1 slidedown()与slideup方法 5.2.2 slidetoggle()方法 5.3 淡入淡出 5.3.1 fadein()与fadeout()方法 5.3.2 fadeto()方法 5.4 自定义动画 5.4.1 简单的动画 5.4.2 移动位置的动画 5.4.3 队列中的动画 5.4.4 动画停止和延时 5.5 动画效果综述 5.5.1 各种动画方法说明 5.5.2 使用animate()方法代替其他动画效果 5.6 综合案例分析-动画效果浏览相册中的图片 5.6.1 需求分析 5.6.2 效果界面 5.6.3 功能实现 5.6.4 代码分析 5.7 本章小结

第6章 ajax在jquery中的应用 6.1 加载异步数据 6.1.1 传统的javascript方法 6.1.2 jquery中的load()方法 6.1.3 jquery中的全局函数getjson() 6.1.4 jquery中的全局函数getscript() 6.1.5 jquery中异步加载xml文档 6.2 请求服务器数据 6.2.1 $.get()请求数据 6.2.2 $.post()请求数据 6.2.3 serialize()序列化表单 6.3 $.ajax()方法 6.3.1 $.ajax()的基本概念 6.3.2 $.ajaxsetup()设置全局ajax 6.4 ajax中的全局事件 6.4.1 ajax全局事件的基本概念 6.4.2 ajaxstart与ajaxstop全局事件 6.5 综合案例分析-用ajax实现新闻点评即时更新 6.5.1 需求分析 6.5.2 效果界面 6.5.3 功能实现 6.5.4 代码分析 6.6 本章小结

第7章 jquery常用插件 7.1 jquery插件概述 7.2 验证插件validate 7.3 表单插件form 7.4 cookie插件cookie 7.5 搜索插件autocomplete 7.6 图片灯箱插件notesforlightbox 7.7 右键菜单插件contextmenu 7.8 图片放大镜插件jqzoom 7.9 自定义jquery插件 7.9.1 插件的种类 7.9.2 插件开发要点 7.9.3 开发插件示例 7.10 综合案例分析-使用uploadify插件实现文件上传功能 7.10.1 需求分析 7.10.2 效果界面 7.10.3 功能实现 7.10.4 代码分析 7.11 本章小结

第8章 jqueryui插件 8.1 认识jqueryui 8.2 jqueryui交互性插件 8.2.1 拖曳插件 8.2.2 放置 8.2.3 排序插件 8.3 jqueryui微型插件 8.3.1 折叠面板插件 8.3.2 日历 8.3.3 选项卡插件 8.3.4 对话框插件 8.4 综合案例分析-使用jqueryui插件以拖动方式管理相册 8.4.1 需求分析 8.4.2 效果界面 8.4.3 功能实现 8.4.4 代码分析 8.5 本章小结

第9章 jquery实用工具函数 9.1 什么是工具函数 9.2 工具函数的分类 9.2.1 浏览器的检测 9.2.2 数组和对象的操作 9.2.3 字符串操作 9.2.4 测试操作 9.2.5 url操作 9.3 工具函数的扩展 9.4 其他工具函数-$.proxy() 9.5 综合案例分析-使用jquery扩展工具函数实现对字符串指定类型的检测 9.5.1 需求分析 9.5.2 效果界面 9.5.3 功能实现 9.5.4 代码分析 9.6 本章小结

第10章 jquery性能优化与最佳实践 10.1 优化选择器执行的速度 10.1.1 优先使用id与标记选择器 10.1.2 使用jquery对象缓存 10.1.3 给选择器一个上下文 10.2 处理选择器中的不规范元素标志 10.2.1 选择器中含有特殊符号 10.2.2 选择器中含有空格符号 10.3 优化事件中的冒泡现象 10.4 使用data()方法缓存数据 10.5 解决jquery库与其他库的冲突 10.5.1 jquery在其他库前导入 10.5.2 jquery在其他库后导入 10.6 使用子查询优化选择器性能 10.7 减少对dom元素直接操作 10.8 正确区分dom对象与jquery对象 10.8.1 dom对象与jquery对象的定义 10.8.2 dom对象与jquery对象的类型转换 10.9 本章小结

第11章 综合案例开发 案例1:切割图片 案例2:在线聊天室 本章小结

亚马逊链接