dannyg.com logoSearch
 
JavaScript & DHTML Cookbook

JavaScript & DHTML Cookbook Cover JavaScript & DHTML Cookbook, Second Edition

New for 2007!

This title is a collection of sensible, state-of-the-art script recipes for the core JavaScript language and client-side Dynamic HTML applications for modern browsers. Whether you've been scripting for only a short time or have been at it for years, the Cookbook will give you plenty of code to let you solve the most common problems that client-side developers face. The second edition has nearly 20 new recipes (including Ajax solutions), while many of the originals have been extensively revised to modern scripting standards.

Reviews (First Edition)
Table of Contents

Preface


Chapter 1 Strings 

1.0. Introduction

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


Chapter 2 Numbers and Dates

2.0. Introduction

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


Chapter 3 Arrays and Objects

3.0. Introduction

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


Chapter 4 Variables, Functions, and Flow Control

4.0. Introduction

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


Chapter 5 Browser Feature Detection

5.0. Introduction

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


Chapter 6 Managing Browser Windows

6.0. Introduction

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


Chapter 7 Managing Multiple Frames

7.0. Introduction

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. Assuring a Page Loads in its Frameset

7.7. Reading a Frame's Dimensions

7.8. Resizing Frames

7.9. Setting Frameset Specifications Dynamically


Chapter 8 Dynamic Forms

8.0. Introduction

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 the 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


Chapter 9 Managing Events

9.0. Introduction

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 Where the Cursor Rolled From/To

9.13. Synchronizing Sounds to Events


Chapter 10 Page Navigation Techniques

10.0. Introduction

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


Chapter 11 Managing Style Sheets

11.0. Introduction

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


Chapter 12 Visual Effects for Stationary Content

12.0. Introduction

12.1. Pre-caching 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


Chapter 13 Positioning HTML Elements

13.0. Introduction

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


Chapter 14 Creating Dynamic Content

14.0. Introduction

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


Chapter 15 Dynamic Content Applications

15.0. Introduction

15.1. Displaying a Random Aphorism

15.2. Converting a User Selection into an Arbitrary Element

15.3. Automating 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 Count-Down Timer

15.10. Creating a Calendar Date Picker

15.11. Displaying an Animated Progress Bar


Appendix A. Keyboard Event Character Values

Appendix B. Keyboard Key Code Values

Appendix C. ECMAScript Reserved Keywords


About Ordering Online
I'll let you choose from the ever-larger array of on-line booksellers, presented below in alphabetical order. The links are directly to the JavaScript & DHTML Cookbook offerings.
Order Direct from O'Reilly & Associates
Published by O'Reilly & Associates. ISBN 0-596-51408-5. Softcover.
$44.99 (USA)
To Top

Google
Search dannyg.com*   Search WWW
*Search results are displayed on a google.com page, but links from search results bring you back to this site.
To Top of Page
Entire contents Copyright © 1996-2007 Danny Goodman. All Rights Reserved.