《JavaScript框架高级编程 应用Prototype、YUI、Ext JS、Dojo、MooTools》PDF下载

  • 购买积分:21 如何计算积分?
  • 作  者:(美)欧查德,(美)佩里瓦尼安著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2011
  • ISBN:9787302247838
  • 页数:764 页
图书介绍:本书详细讲解了几个最流行的JavaScript框架,研究了这些框架如何采用独特的方式解决Web开发中的常见问题,以及每个框架如何处理特定的一组任务。

第Ⅰ部分Prototype 3

第1章 扩展和增强DOM元素 3

1.1扩展DOM元素 3

1.1.1美元符号函数:$() 4

1.1.2 $$() 4

1.1.3 Element.extend() 4

1.1.4将Element对象用作构造函数 5

1.2 DOM导航 6

1.2.1 adjacent方法 6

1.2.2 ancestors方法 7

1.2.3 up/down/next/previous方法 8

1.2.4 descendants/descendantOf/first Descendant/immediateDescendants方法 10

1.2.5 getElementsBySelector和getElementsByClassName方法 10

1.2.6 childElements函数 11

1.3修改页面内容 11

1.3.1 insert(element, content)和insert(element,{position:content}) 11

1.3.2 remove 11

1.3.3 replace 12

1.3.4update 12

1.4操作元素的大小、位置和可见性 13

1.4.1放置元素 13

1.4.2处理偏移 14

1.4.3显示和隐藏元素 15

1.4.4调整元素的大小 16

1.5处理CSS和样式 16

1.5.1 addClassName、 removeCLallName和toggleClassNames 16

1.5.2 hasClassName和classNames 19

1.5.3 setStyle和getStyle 19

1.6使用自己编写的方法扩展Element对象 19

1.7本章小结 20

第2章 处理跨浏览器事件 21

2.1注册事件处理程序 21

2.2响应事件 23

2.2.1 event.target属性、this属性和Event.element方法 23

2.2.2 Event.extend(event) 25

2.2.3 Event.stop(event) 26

2.3触发调度事件 27

2.4本章小结 30

第3章 简化AJAX和动态数据 31

3.1建立到服务器的请求 31

3.1.1 Ajax.Request 32

3.1.2回调 33

3.1.3 Ajax.Response 34

3.2以全局方式响应数据变化 35

3.3动态更新页面 35

3.3.1 Ajax.Updater 36

3.3.2 Ajax.PeriodicalUpdater 37

3.4本章小结 38

第4章 处理表单 39

4.1操作表单元素和数据 39

4.1.1 Form对象 39

4.1.2结合使用Form对象的方法 41

4.2验证表单数据 44

4.3使用AJAX提交表单 47

4.4本章小结 48

第5章 操作通用数据结构和函数 49

5.1增强原生对象并引入类 49

5.1.1对象扩展 49

5.1.2 Class对象 51

5.2修改和分析字符串 52

5.3生成模板化内容 54

5.4绑定和操作函数 55

5.4.1绑定函数 56

5.4.2操作函数的其他方法 57

5.5改进数组、散列和迭代器 58

5.5.1使用for…in循环会导致一些问题的原因 58

5.5.2 Enumerable类 59

5.5.3改进Array对象 62

5.5.4引入Hash类 63

5.6处理数值和日期 64

5.6.1数值 64

5.6.2日期 65

5.7本章小结 65

第6章 扩展Prototype 67

6.1 Script.aculo.us 67

6.2 Moo.fx for Prototype 73

6.2.1 Fx.TWeen 74

6.2.2 Fx.Morph 74

6.2.3 Fx.Transitions 74

6.2.4 Fx.Slide 75

6.3 Rico 75

6.3.1组件 76

6.3.2动画效果 78

6.3.3圆角 78

6.3.4拖放 79

6.4本章小结 79

第Ⅱ部分 YUI库 85

第7章 利用YUI库遍历和操作DOM 85

7.1遍历DOM以及查找元素 85

7.1.1 get方法 85

7.1.2 getElementsByClassName方法 86

7.1.3 getFirstChild和getLastChild方法 87

7.1.4 getFirstChildBy和getLastChildBy方法 88

7.1.5 getChildren和getChildrenBy方法 88

7.1.6 getElementsBy方法 90

7.1.7 getAncestorByTagName方法 91

7.1.8 getAncestorByClassName方法 94

7.1.9 getAncestorBy方法 95

7.1.10 Element实用工具 96

7.1.11 Selector实用工具 97

7.2操作内容 99

7.2.1 insertBefore方法 99

7.2.2 insertAfter方法 99

7.2.3处理类名 99

7.2.4 set5tyle方法 101

7.2.5 getStyle方法 102

7.2.6 setXY方法 102

7.3本章小结 103

第8章 处理跨浏览器事件 105

8.1注册页面事件和元素准备就绪事件 105

8.1.1 onDOMReady事件处理程序 106

8.1.2执行作用域和参数传递 108

8.1.3 onAvailable函数 110

8.1.4 onContentReady函数 112

8.1.5 on/addListener函数 112

8.1.6 removeListener函数 114

8.2处理键盘和鼠标输入 116

8.2.1 KeyListener实用工具 116

8.2.2 getCharCode函数 119

8.2.3 getXY 121

8.2.4 getTarget函数 121

8.2.5 getRelatedTarget函数 122

8.2.6 preventDefault 函l数 124

8.2.7 stopPropagation函数 125

8.2.8 stopEvent函数 126

8.3处理自定义事件 127

8.3.1创建和订阅自定义事件 128

8.3.2退订自定义事件 130

8.3.3 subscribeEvent方法 131

8.4管理浏览器历史并修正后退按钮 131

8.5本章小结 135

第9章 使用动画和拖放 137

9.1组合基本的动画序列 137

9.1.1 Anim类 138

9.1.2 Motion类 141

9.1.3 Scroll类 143

9.1.4 ColorAnim类 144

9.2平滑动画路径和运动 148

9.2.1缓动 148

9.2.2曲线路径(贝塞尔曲线) 150

9.3带有拖放功能的交互动画 155

9.3.1 DD 155

9.3.2 DDProxy 155

9.4本章小结 159

第10章 简化AJAX和动态加载 161

10.1建立HTTP请求并获取数据 161

10.1.1 asyncRequest函数 162

10.1.2 JSON 165

10.2动态加载库和组件 168

10.2.1 Get utility 168

10.2.2 YUl Loader Utility 171

10.3本章小结 175

第11章 利用窗口部件构建用户界面(第一部分) 177

11.1 AutoComplete实用工具与表单字段结合使用 177

11.2为内容构建容器 183

11.2.1 Module 183

11.2.2 Overlay 185

11.2.3 Panel 186

11.3使用选项卡和树状视图呈现内容 189

11.3.1 TabView 189

11.3.2 TreeView 198

11.4本章小结 209

第12章 利用窗口部件构建用户界面(第二部分) 211

12.1装配按钮、滑块和菜单 211

12.1.1按钮 211

12.1.2样式化 211

12.1.3滑块 216

12.1.4菜单 223

12.2提供日期选择功能 233

12.2.1简单的日历 233

12.2.2事件 236

12.2.3多页日历 238

12.3启用富内容编辑 239

12.3.1事件 244

12.3.2实际使用编辑器 246

12.4本章小结 247

第13章 利用YUI核心增强开发 249

13.1应用名称空间和模块性 249

13.1.1名称空间 249

13.1.2语言扩展 250

13.1.3模拟类继承关系 251

13.2检测浏览器环境和可用模块 261

13.2.1 YAHOO.env.ua 261

13.2.2 YAHOO.env.getVersion 261

13.2.3 YAHOO_config 263

13.3日志记录和调试 265

13.4本章小结 267

第14章 处理数据、表和图表 269

14.1格式化日期和数字 269

14.1.1日期 269

14.1.2数字 271

14.2获取数据源 273

14.3呈现表数据 280

14.4绘制图表和图形 284

14.5本章小结 291

第15章 使用YUl CSS工具 293

15.1建立跨浏览器一致性 293

15.2控制字体 295

15.3利用网格构建布局 297

15.3.1模板 299

15.3.2嵌套网格 300

15.4本章小结 303

第16章 构建和部署 305

16.1来自Yahoo!的共享YUI文件 305

16.2减少和优化加载时间 308

16.3本章小结 310

第Ⅲ部分Ext JS 313

第17章 架构和库约定 313

17.1何时使用Ext JS 313

17.2如何使用Ext JS 314

17.3 Ext JS的面向对象设计 315

17.3.1 Ext.namespace 316

17.3.2 Ext.override 316

17.3.3 Extextend和构造数约定 317

17.3.4 Ext.apply 318

17.3.5 Ext.applyIf 318

17.4功能强大的实用工具函数 319

17.4.1 Function.createCallback 319

17.4.2 Function.createDelegate 320

17.4.3 Function.createlnterceptor 320

17.4.4 Fumction.createSequence 321

17.4.5 Function.defer 322

17.5 Ext JS的基于事件的设计 322

17.5.1 Ext.util.Observable.addEvents 322

17.5.2 Ext.util.Observable.addListener/.on 323

17.5.3 Ext.util.Observable.removeListener/.un 323

17.5.4 Ext.util.Observable.fireEvent 323

17.5.5 Ext.util.Observable.hasListener 324

17.5.6 Ext.util.Observable.purgeListeners 324

17.5.7 Ext.util.Observable.relayEvents 324

17.5.8 Ext.util.Observable.suspendEvents/.resumeEvents 324

17.5.9 Ext.util.Observable.capture/.releaseCapture 324

17.6本章小结 325

第18章 元素、 DomHelper和模板 327

18.1元素操作 327

18.1.1 Ext.Element 327

18.1.2 Ext.Element方法 331

18.2 DOM遍历 335

18.2.1 Ext.DomQuery 336

18.2.2 Ext.DomQuery方法 337

18.3 DOM操作 338

18.3.1 Ext.DomHelper 338

18.3.2 Ext.Template 341

18.3.3 Ext.XTemplate 343

18.4 CSS操作 344

18.5本章小结 346

第19章 组件、布局和窗口 347

19.1 Ext.JS Component系统 347

19.1.1 Ext.Component 347

19.1.2 Ext.ComponentMgr 348

19.1.3 Ext.BoxComponent 350

19.1.4 Ext.Container 350

19.2 Ext JS Component生命周期 352

19.2.1初始化 352

19.2.2呈现 352

19.2.3销毁 353

19.3 Ext.Viewport 354

19.4 Ext.Container布局 355

19.4.1 Ext.layout.ContainerLayout 355

19.4.2 Ext.layout.BorderLayout 356

19.4.3 Ext.layout.ColunmLayout 357

19.4.4 Ext.layout.TableLayout 357

19.4.5 Ext.layout.AnchorLayout 358

19.4.6 Ext.layout.AbsoluteLayout 358

19.4.7 Ext.layout.FormLayout 359

19.4.8 Ext.layout.FitLayout 361

19.4.9 Ext.layout.Accordion 361

19.4.10 Ext.layout.CardLayout 362

19.4.11创建自定义布局 362

19.5面板和窗口 363

19.5.1 Ext.Panel 363

19.5.2 Ext.Window 365

19.5.3 Ext.WindowGroup 365

19.5.4 Ext.WindowMgr 365

19.6本章小结 365

第20章 数据处理以及服务器通信 367

20.1获取数据 367

20.1.1 Ext.data.DataProxy 368

20.1.2 Ext.data.HttpProxy 368

20.1.3 Ext.data.MemoryProxy 371

20.1.4 Ext.data.ScriptTagProxy 372

20.2重新建模数据 373

20.2.1Ext.data.Record 373

20.2.2Ext.data.DataReader 375

20.3本地存储数据 379

20.3.1 Ext.data.Store 379

20.3.2 Ext.data.Record(回顾) 382

20.3.3 Ext.StoreMgr 383

20.4集成所有类 383

20.5本章小结 385

第21章DataView和网格 387

21.1 Ext.DataView 387

21.1.1操作DataView 389

21.1.2DataView事件 392

21.2 Ext.grid.GridPanel 393

21.2.1Ext.grid.ColumnModel 394

21.2.2Ext.grid.AbstractSelectionModel 397

21.2.3 Ext.grid.CellSelectionModel 397

21.2.4 Ext.grid.RowSelectionModel 397

21.2.5 Ext.grid.CheckboxSelectionModel 397

21.2.6 Ext.grid.GridView 398

21.2.7 Ext.grid.GroupingView 398

21.2.8其他的定制方法 399

21.3本章小结 399

第22章 表单控件、验证及其他功能 401

22.1表单控件介绍 401

22.1.1 Ext.form.Label 402

22.1.2 Ext.form.Field 402

22.1.3 Ext.form.TextField 404

22.1.4 Ext.form.FormPanel和Ext.form.BasicForm 405

22.1.5其他表单控件 407

22.1.6Ext.form.NumberField 407

22.1.7Ext.form.TextArea 407

22.1.8Ext.form.TriggerField 407

22.1.9Ext.form.DateField 407

22.1.10 Ext.form.ComboBox 408

22.1.11 Ext.form.TimeField 408

22.1.12 Ext.form.Checkbox 408

22.1.13 Ext.form.Radio 408

22.1.14 Ext.form.CheckboxGroup 409

22.1.15 Ext.form.RadioGroup 410

22.1.16 Ext.form.HtmIEditor 411

22.1.17 Ext.form.Hidden 411

22.2表单字段和表单验证 411

22.2.1验证消息 412

22.2.2高级验证技术 413

22.2.3表单级验证 414

22.3其他功能 414

22.3.1状态管理 414

22.3.2浏览器历史 415

22.3.3视觉效果 416

22.3.4拖放 416

22.3.5工具栏和菜单 416

22.3.6主题 417

22.3.7树 417

22.3.8键盘导航 417

22.3.9其他更多技术 417

22.4本章小结 418

第Ⅳ部分Dojo 421

第23章 利用Dojo核心增强开发 421

23.1获取Dojo 421

23.1.1通过AOL CDN使用Dojo 421

23.1.2下载最新的Dojo发行版本 422

23.1.3尝试尚处于开发阶段的Dojo 422

23.2尝试使用Dojo 422

23.3研究Dojo核心 427

23.3.1声明、加载和提供依赖项 428

23.3.2定义类和使用继承关系 430

23.3.3在HTML标记中声明对象 433

23.4本章小结 438

第24章 操作DOM 439

24.1查找DOM元素 439

24.1.1利用dojo.byld查找DOM元素 440

24.1.2利用dojo.query查找元素 440

24.2处理DOM元素列表 443

24.2.1过滤和优化节点列表 443

24.2.2处理节点列表 452

24.2.3使用NodeList的其他方法 460

24.3本章小结 460

第25章 处理事件 461

25.1响应页面加载和卸载事件 461

25.2连接到DOM事件 463

25.2.1将内联处理程序连接到事件 464

25.2.2将全局函数连接到事件 464

25.2.3将对象方法连接到事件 465

25.2.4断开与事件的连接 466

25.2.5特殊的事件处理与事件对象 467

25.3连接到对象方法 468

25.4利用NodeList建立连接 470

25.5发布与订阅事件主题 473

25.5.1结合使用事件主题与DOM事件处理程序 473

25.5.2将对象方法用作订阅者 476

25.5.3取消订阅已发布的消息 477

25.5.4将对象方法转换成发布者 477

25.6使用Dojo行为 479

25.6.1利用行为查找节点并建立连接 479

25.6.2利用行为连接对象方法 481

25.6.3利用行为发布事件主题 482

25.7本章小结 483

第26章 编排动画 485

26.1对CSS样式属性制作动画 485

26.2使用淡入淡出转换 488

26.3使用擦除转换 489

26.4使用滑动动画移动元素 490

26.5使用缓动控制运动 492

26.6顺序链接动画 495

26.7以并行方式组合动画 496

26.8使用NodeList动画方法 498

26.9研究动画对象 500

26.10本章小结 505

第27章 处理AJAX和动态数据 507

27.1建立简单的Web请求 507

27.1.1建立简单的请求并处理响应 508

27.1.2使用一个处理程序同时处理错误和成功响应 510

27.2利用Deferred处理Web响应 511

27.2.1为成功和错误响应注册处理程序 511

27.2.2在一次调用中注册错误和成功处理程序 512

27.2.3注册一个同时处理错误和成功响应的处理程序 513

27.3处理响应格式 514

27.3.1处理文本响应 514

27.3.2处理XML响应 515

27.3.3处理JSON响应 516

27.3.4处理注释过滤JSON响应 516

27.3.5处理JavaScript响应 517

27.4指定请求方法 519

27.4.1构建一个服务器端请求回应工具 519

27.4.2尝试多种请求方法 522

27.5使用请求参数和内容 524

27.5.1建立带有查询参数的GET请求 524

27.5.2建立带有响应正文参数的POST请求 526

27.5.3建立带有原始正文内容的POST请求 527

27.6利用就地请求增强表单 528

27.7使用跨域的JSON源 535

27.7.1通过轮询变量来加载JsoN 536

27.7.2利用回调加载JSON 539

27.8利用IFrame建立请求 541

27.8.1利用代理脚本打包IFrame数据 541

27.8.2利用IFrame处理响应格式 542

27.8.3利用表单和IFrame上传文件 543

27.9本章小结 550

第28章 利用窗口部件构建用户界面 551

28.1构建并验证表单 551

28.1.1使用JavaScript实例化窗口部件 554

28.1.2在HTML标记中声明窗口部件 555

28.1.3利用正则表达式验证输入 556

28.1.4在提交时实施表单验证 557

28.1.5处理数字与货币值 559

28.1.6处理日期和时间字段 561

28.1.7增强单选按钮和复选框 563

28.1.8使用滑块进行离散值的选取 568

28.1.9使用动态文本区域和富文本编辑器 570

28.2管理应用程序布局 571

28.2.1搭建应用程序布局页面 572

28.2.2将ContentPane用作布局构建块 573

28.2.3利用BorderContainer管理布局区域 574

28.2.4利用StackContainer管理内容可见性 576

28.2.5利用AccordionContainer切换内容窗格 582

28.2.6利用TabContainer构建选项卡式的内容窗格 584

28.2.7利用SplitContainer划分布局区域 586

28.3创建应用程序控件和对话框 588

28.3.1构建可单击按钮并为其编写脚本 589

28.3.2编排弹出式上下文菜单 591

28.3.3组合按钮和菜单 594

28.3.4 利用按钮和菜单构建工具栏 595

28.3.5利用进度条提供完成进度反馈 596

28.4对窗口部件应用主题 598

28.4.1检查窗口部件的DOM结构 598

28.4.2加载主题并将其应用于窗口部件 600

28.4.3定制并检查可用主题 601

28.5本章小结 602

第29章 构建和部署Dojo 603

29.1研究Dojo构建 603

29.2查找构建系统 604

29.3创建自定义构建配置文件 604

29.4生成自定义构建 606

29.5检验并使用自定义构建 607

29.6本章小结 609

第30章 扩展Dojo 611

30.1研究DojoX子项目 611

30.2尝试高级窗口部件 612

30.2.1构建鱼眼菜单 612

30.2.2利用Toaster窗口部件建立动画通知 613

30.3采用高级表单验证辅助函数 614

30.4从模板生成内容 617

30.5绘制形状以及呈现图表 621

30.5.1绘制形状和线 621

30.5.2呈现图表和曲线图 622

30.6使用编码和加密例程 624

30.6.1生成MD5散列值 625

30.6.2采用Base64编码数据 626

30.6.3采用Blowfish加密数据 628

30.7导航JSON数据结构 629

30.8研究DojoX的其他功能 631

30.9本章小结 632

第V部分MooTools 635

第31章利用MooTools增强开发 635

31.1获取MooTools 635

31.1.1下载最新的MooTools发布版本 635

31.1.2尝试正在开发的MooTools版本 637

31.2研究MooTools Core 637

31.2.1检查MooTools版本 638

31.2.2确定类型 638

31.2.3检查已定义的值 639

31.2.4选择己定义的值 639

31.2.5选取随机数 639

31.2.6获取当前时间 639

31.2.7清除定时器和时间间隔 640

31.2.8合并和扩展对象 640

31.3使用数组扩展 641

31.3.1使用.each()和.forEach()处理数组项 642

31.3.2过滤和映射数组项 644

31.3.3检查数组项的内容 644

31.3.4将数组项转换成对象属性 646

31.3.5扩展与合并数组 646

31.3.6展平嵌套数组 647

31.3.7利用.link()应用选择规则 648

31.4使用散列数据结构 649

31.4.1定义散列和散列快捷方式 649

31.4.2设置与获取键和值 649

31.4.3映射和过滤散列 650

31.4.4使用.every()和.some()检查散列 651

31.4.5扩展与合并散列 651

31.4.6 将散列转换成URL查询字符串 652

31.5使用字符串扩展 652

31.5.1检查字符串内容 652

31.5.2将字符串转换成数字和颜色 653

31.5.3使用简单的替换模板 653

31.5.4 执行其他的转换 654

31.6使用函数扩展 654

31.6.1将函数绑定到对象上下文 655

31.6.2间歇性地延迟和设置函数调用 656

31.6.3尝试带有潜在异常的函数调用 657

31.7使用面向对象编程方法 657

31.7.1构建类和子类 657

31.7.2将方法和属性注入到现有类中 659

31.7.3实现混入类 660

31.8本章小结 665

第32章 操作DOM以及处理事件 667

32.1查找DOM元素 667

32.1.1使用$()和ID查找元素 668

32.1.2使用$$()和Css选择器查找元素 668

32.1.3导航DOM结构 670

32.2操作元素样式和属性 672

32.2.1操作元素Css类 672

32.2.2操作元素视觉样式 674

32.2.3操作元素属性 676

32.2.4操作扩展的元素属性 678

32.2.5使用元素存储机制安全地管理元数据 682

32.3修改DOM结构 683

32.3.1创建新元素 683

32.3.2复制元素 684

32.3.3获取元素 685

32.3.4注入元素 685

32.3.5创建并附加文本节点 686

32.3.6替换和包装元素 686

32.3.7接纳元素 686

32.3.8销毁和清空元素 687

32.4附加监听程序并处理事件 687

32.4.1响应页面加载和卸载事件 688

32.4.2添加和删除事件处理程序 689

32.4.3检查事件包装器对象 694

32.5本章小结 699

第33章 简化AJAX以及处理动态数据 701

33.1操作浏览器cookie 701

33.1.1使用cookie函数 702

33.1.2使用cookie支持的散列 703

33.2动态加载页面素材 704

33.2.1加载JavaScript和JSON源 705

33.2.2包含额外的CSS样式表 706

33.2.3获取图像和图像集合 707

33.3建立Web请求 709

33.3.1执行基本的Web请求 710

33.3.2获取和更新HTML内容 716

33.3.3请求并使用JavaScript和JSON数据 719

33.4本章小结 722

第34章 构建用户界面以及使用动画 723

34.1编排动画 723

34.1.1检查元素大小和位置 725

34.1.2使用MooTools Fx编排动画 727

34.1.3研究预制动画和效果 731

34.1.4使用Fx.Slide动画 732

34.1.5使用Fx.Scroll动画 733

34.1.6研究MooTools Fx.Transitions 734

34.1.7研究动画事件 737

34.1.8利用Fx.Morph对多个属性制作动画 740

34.1.9利用Fx.Elements对多个元素制作动画 742

34.2使用用户界面窗口部件 744

34.2.1构建折叠布局 744

34.2.2 向页面导航中添加平滑滚动 748

34.2.3启用可拖动元素 749

34.2.4自动滚动窗口和元素 753

34.2.5启用拖放目标 754

34.2.6构建可排序列表 756

34.2.7使用工具提示 759

34.2.8构建滑块控件 762

34.3本章小结 764