JavaScript & DHTML Cookbook, 2/e
Danny Goodman
- 出版商: O'Reilly
- 出版日期: 2007-09-11
- 定價: $1,488
- 售價: 5.0 折 $744
- 語言: 英文
- 頁數: 606
- 裝訂: Paperback
- ISBN: 0596514085
- ISBN-13: 9780596514082
-
相關分類:
HTML、JavaScript
立即出貨 (庫存 < 3)
買這商品的人也買了...
-
$680$646 -
$880$695 -
$2,205The Java Programming Language, 4/e (Paperback)
-
$650$514 -
$520$442 -
$550$468 -
$980$774 -
$780$616 -
$880$695 -
$750$593 -
$660$627 -
$480$408 -
$1,200$948 -
$2,580$2,451 -
$350$315 -
$1,560$1,404 -
$990$891 -
$580$452 -
$1,200$948 -
$600$480 -
$1,200$1,020 -
$650$553 -
$1,180$1,003 -
$650$585 -
$490$417
相關主題
商品描述
Description
In today's Web 2.0 world, JavaScript and Dynamic HTML are at the center of the hot new approach to designing highly interactive pages on the client side. With this environment in mind, the new edition of this book offers bite-sized solutions to very specific scripting problems that web developers commonly face. Each recipe includes a focused piece of code that you can insert right into your application.
Why is JavaScript & DHTML Cookbook so popular? After reading thousands of forum threads over the years, author and scripting pioneer Danny Goodman has compiled a list of problems that frequently vex scripters of various experience levels. For every problem he addresses, Goodman not only offers code, but a discussion of how and why the solution works. Recipes range from simple tasks, such as manipulating strings and validating dates in JavaScript, to entire libraries that demonstrate complex tasks, such as cross-browser positioning of HTML elements, sorting tables, and implementing Ajax features on the client.
Ideal for novices as well as experienced scripters, this book contains more than 150 recipes for:Recipes in this Cookbook are compatible with the latest W3C standards and browsers, including Internet Explorer 7, Firefox 2, Safari, and Opera 9. Several new recipes provide client-side Ajax solutions, and many recipes from the previous edition have been revised to help you build extensible user interfaces for Web 2.0 applications. If you want to write your own scripts and understand how they work, rather than rely on a commercial web development framework, the JavaScript & DHTML Cookbook is a must.
- Working with interactive forms and style sheets
- Presenting user-friendly page navigation
- Creating dynamic content via Document Object Model scripting
- Producing visual effects for stationary content
- Positioning HTML elements
- Working with XML data in the browser
Table of Contents
Preface
1. Strings
1.1 Concatenating (Joining) Strings
1.2 Improving String Handling Performance
1.3 Accessing Substrings
1.4 Changing String Case
1.5 Testing Equality of Two Strings
1.6 Testing String Containment Without Regular Expressions
1.7 Testing String Containment with Regular Expressions
1.8 Searching and Replacing Substrings
1.9 Using Special and Escaped Characters
1.10 Reading and Writing Strings for Cookies
1.11 Converting Between Unicode Values and String Characters
1.12 Encoding and Decoding URL Strings
1.13 Encoding and Decoding Base64 Strings
2. Numbers and Dates
2.1 Converting Between Numbers and Strings
2.2 Testing a Number's Validity
2.3 Testing Numeric Equality
2.4 Rounding Floating-Point Numbers
2.5 Formatting Numbers for Text Display
2.6 Converting Between Decimal and Hexadecimal Numbers
2.7 Generating Pseudorandom Numbers
2.8 Calculating Trigonometric Functions
2.9 Creating a Date Object
2.10 Calculating a Previous or Future Date
2.11 Calculating the Number of Days Between Two Dates
2.12 Validating a Date
3. Arrays and Objects
3.1 Creating a Simple Array
3.2 Creating a Multidimensional Array
3.3 Converting Between Arrays and Strings
3.4 Doing Something with the Items in an Array
3.5 Sorting a Simple Array
3.6 Combining Arrays
3.7 Dividing Arrays
3.8 Creating a Custom Object
3.9 Simulating a Hash Table for Fast Array Lookup
3.10 Doing Something with a Property of an Object
3.11 Sorting an Array of Objects
3.12 Customizing an Object's Prototype
3.13 Converting Arrays and Custom Objects to Strings
3.14 Using Objects to Reduce Naming Conflicts
4. Variables, Functions, and Flow Control
4.1 Creating a JavaScript Variable
4.2 Creating a Named Function
4.3 Nesting Named Functions
4.4 Creating an Anonymous Function
4.5 Delaying a Function Call
4.6 Branching Execution Based on Conditions
4.7 Handling Script Errors Gracefully
4.8 Improving Script Performance
5. Browser Feature Detection
5.1 Detecting the Browser Brand
5.2 Detecting an Early Browser Version
5.3 Detecting the Internet Explorer Version
5.4 Detecting the Mozilla Version
5.5 Detecting the Safari Version
5.6 Detecting the Opera Version
5.7 Detecting the Client Operating System
5.8 Detecting Object Support
5.9 Detecting Object Property and Method Support
5.10 Detecting W3C DOM Standard Support
5.11 Detecting the Browser Written Language
5.12 Detecting Cookie Availability
5.13 Defining Browser- or Feature-Specific Links
5.14 Testing on Multiple Browser Versions
6. Managing Browser Windows
6.1 Living with Browser Window Control Limitations
6.2 Setting the Main Window's Size
6.3 Positioning the Main Window
6.4 Maximizing the Main Window
6.5 Creating a New Window
6.6 Bringing a Window to the Front
6.7 Communicating with a New Window
6.8 Communicating Back to the Main Window
6.9 Using Internet Explorer Modal/Modeless Windows
6.10 Simulating a Cross-Browser Modal Dialog Window
6.11 Simulating a Window with Layers
7. Managing Multiple Frames
7.1 Creating a Blank Frame in a New Frameset
7.2 Changing the Content of One Frame from Another
7.3 Changing the Content of Multiple Frames at Once
7.4 Replacing a Frameset with a Single Page
7.5 Avoiding Being "Framed" by Another Site
7.6 Ensuring a Page Loads in Its Frameset
7.7 Reading a Frame's Dimensions
7.8 Resizing Frames
7.9 Setting Frameset Specifications Dynamically
8. Dynamic Forms
8.1 Auto-Focusing the First Text Field
8.2 Performing Common Text Field Validations
8.3 Preventing Form Submission upon Validation Failure
8.4 Auto-Focusing an Invalid Text Field Entry
8.5 Using a Custom Validation Object
8.6 Changing a Form's Action
8.7 Blocking Submissions from the Enter Key
8.8 Advancing Text Field Focus with the Enter Key
8.9 Submitting a Form by an Enter Key Press in Any Text Box
8.10 Disabling Form Controls
8.11 Hiding and Showing Form Controls
8.12 Allowing Only Numbers (or Letters) in a Text Box
8.13 Auto-Tabbing for Fixed-Length Text Boxes
8.14 Changing select Element Content
8.15 Copying Form Data Between Pages
9. Managing Events
9.1 Equalizing the IE and W3C Event Models
9.2 Initiating a Process After the Page Loads
9.3 Appending Multiple Load Event Handlers
9.4 Determining the Coordinates of a Click Event
9.5 Preventing an Event from Performing Its Default Behavior
9.6 Blocking Duplicate Clicks
9.7 Determining Which Element Received an Event
9.8 Determining Which Mouse Button Was Pressed
9.9 Reading Which Character Key Was Typed
9.10 Reading Which Noncharacter Key Was Pressed
9.11 Determining Which Modifier Keys Were Pressed During an Event
9.12 Determining the Element the Cursor Rolled From/To
9.13 Synchronizing Sounds to Events
10. Page Navigation Techniques
10.1 Loading a New Page or Anchor
10.2 Keeping a Page Out of the Browser History
10.3 Using a select Element for Navigation
10.4 Passing Data Between Pages via Cookies
10.5 Passing Data Between Pages via Frames
10.6 Passing Data Between Pages via URLs
10.7 Creating a Contextual (Right-Click) Menu
10.8 Creating Drop-Down Navigation Menus
10.9 Providing Navigation Trail Menus
10.10 Creating Expandable Menus
10.11 Creating Collapsible XML Menus
11. Managing Style Sheets
11.1 Assigning Style Sheet Rules to an Element Globally
11.2 Assigning Style Sheet Rules to a Subgroup of Elements
11.3 Assigning Style Sheet Rules to an Individual Element
11.4 Importing External Style Sheets
11.5 Importing Browser- or Operating System-Specific Style Sheets
11.6 Changing Imported Style Sheets After Loading
11.7 Enabling/Disabling Style Sheets
11.8 Toggling Between Style Sheets for an Element
11.9 Overriding a Style Sheet Rule
11.10 Turning Arbitrary Content into a Styled Element
11.11 Creating Center-Aligned Body Elements
11.12 Reading Effective Style Sheet Property Values
11.13 Forcing Recent Browsers into Standards-Compatibility Mode
12. Visual Effects for Stationary Content
12.1 Precaching Images
12.2 Swapping Images (Rollovers)
12.3 Reducing Rollover Image Downloads with JavaScript
12.4 Reducing Rollover Image Downloads with CSS
12.5 Dynamically Changing Image Sizes
12.6 Changing Text Style Properties
12.7 Offering Body Text Size Choices to Users
12.8 Creating Custom Link Styles
12.9 Changing Page Background Colors and Images
12.10 Hiding and Showing Elements
12.11 Adjusting Element Transparency
12.12 Creating Transition Visual Effects
12.13 Drawing Charts in the Canvas Element
13. Positioning HTML Elements
13.1 Making an Element Positionable in the Document Space
13.2 Connecting a Positioned Element to a Body Element
13.3 Controlling Positioning via a DHTML JavaScript Library
13.4 Deciding Between div and span Containers
13.5 Adjusting Positioned Element Stacking Order (Z-order)
13.6 Centering an Element on Top of Another Element
13.7 Centering an Element in a Window or Frame
13.8 Determining the Location of a Nonpositioned Element
13.9 Animating Straight-Line Element Paths
13.10 Animating Circular Element Paths
13.11 Creating a Draggable Element
13.12 Scrolling div Content
13.13 Creating a Custom Scrollbar
13.14 Creating a Slider Control
14. Creating Dynamic Content
14.1 Writing Dynamic Content During Page Loading
14.2 Creating New Page Content Dynamically
14.3 Including External HTML Content
14.4 Embedding XML Data
14.5 Embedding Data As JavaScript Objects
14.6 Transforming XML Data into HTML Tables
14.7 Transforming JavaScript Objects into HTML Tables
14.8 Converting an XML Node Tree to JavaScript Objects
14.9 Creating a New HTML Element
14.10 Creating Text Content for a New Element
14.11 Creating Mixed Element and Text Nodes
14.12 Inserting and Populating an iframe Element
14.13 Getting a Reference to an HTML Element Object
14.14 Referencing All Elements of the Same Class
14.15 Replacing Portions of Body Content
14.16 Removing Body Content
14.17 Using XMLHttpRequest for a REST Request
14.18 Using XMLHttpRequest for a SOAP Call
14.19 Sorting Dynamic Tables
14.20 Walking the Document Node Tree
14.21 Capturing Document Content
15. Dynamic Content Applications
15.1 Displaying a Random Aphorism
15.2 Converting a User Selection into an Arbitrary Element
15.3 Automating the Search-and-Replace of Body Content
15.4 Designing a User-Editable Content Page
15.5 Creating a Slide Show
15.6 Auto-Scrolling the Page
15.7 Greeting Users with Their Time of Day
15.8 Displaying the Number of Days Before Christmas
15.9 Displaying a Countdown Timer
15.10 Creating a Calendar Date Picker
15.11 Displaying an Animated Progress Bar
A. Keyboard Event Character Values
B. Keyboard Key Code Values
C. ECMAScript Reserved Keywords
Index
商品描述(中文翻譯)
描述
在今天的Web 2.0世界中,JavaScript和Dynamic HTML是設計高度互動頁面的熱門新方法的核心。考慮到這種環境,這本新版書提供了針對網頁開發人員常遇到的具體腳本問題的解決方案。每個解決方案都包含一段專注的代碼,您可以直接插入到應用程序中。
為什麼《JavaScript & DHTML Cookbook》如此受歡迎?在多年的論壇帖子中,作者和腳本先驅Danny Goodman總結了經常困擾各種經驗水平的腳本編寫者的問題清單。對於每個問題,Goodman不僅提供代碼,還提供了解決方案的討論以及其工作原理和原因。這些解決方案的範圍從簡單的任務,例如在JavaScript中操作字符串和驗證日期,到演示複雜任務的整個庫,例如跨瀏覽器定位HTML元素,排序表格以及在客戶端實現Ajax功能。
這本書對於新手和有經驗的腳本編寫者都很理想,其中包含150多個解決方案,包括:
這本Cookbook中的解決方案與最新的W3C標準和瀏覽器兼容,包括Internet Explorer 7、Firefox 2、Safari和Opera 9。幾個新的解決方案提供了客戶端的Ajax解決方案,並且許多來自上一版的解決方案已經修訂,以幫助您構建可擴展的Web 2.0應用程序的用戶界面。如果您想自己編寫腳本並了解它們的工作原理,而不是依賴商業Web開發框架,那麼《JavaScript & DHTML Cookbook》是必不可少的。
- 處理互動表單和樣式表
- 提供用戶友好的頁面導航
- 通過文檔對象模型腳本創建動態內容
- 為靜態內容產生視覺效果
- 定位HTML元素
- 在瀏覽器中處理XML數據
目錄
前言
1. 字串
1.1 連接(合併)字串
1.2 改善字串處理性能
1.3 存取子字串
1.4 改變字串大小寫
1.5 測試兩個字串的相等性
1.6 在不使用正則表達式的情況下測試字串包含
1.7 在使用正則表達式的情況下測試字串包含
1.8 搜索和替換子字串
1.9 使用特殊和轉義字符
1.10 讀取和寫入Cookie的字串
1.11 在Unicode值和字串字符之間轉換
1.12 編碼和解碼URL字串
1.13 編碼和解碼Base64字串
2. 數字和日期
2.1 在數字和字串之間轉換
2.2 測試數字的有效性
2.3 測試數字的相等性
2.4 四捨五入浮點數
2.5 格式化```