[ Team LiB ] Previous Section Next Section

   
•  Table of Contents
•  Index
•  Reviews
•  Examples
•  Reader Reviews
•  Errata
JavaScript & DHTML Cookbook
By Danny Goodman
   
Publisher : O'Reilly
Pub Date : April 2003
ISBN : 0-596-00467-2
Pages : 540


    Copyright
    Preface
      About You
      About the Recipes
      What's in This Book
      Browser Platforms
      Conventions Used in This Book
      Request for Comments
      Acknowledgments
   
    Chapter 1.  Strings
      Section 1.0.  Introduction
      Section 1.1.  Concatenating (Joining) Strings
      Section 1.2.  Accessing Substrings
      Section 1.3.  Changing String Case
      Section 1.4.  Testing Equality of Two Strings
      Section 1.5.  Testing String Containment Without Regular Expressions
      Section 1.6.  Testing String Containment with Regular Expressions
      Section 1.7.  Searching and Replacing Substrings
      Section 1.8.  Using Special and Escaped Characters
      Section 1.9.  Reading and Writing Strings for Cookies
      Section 1.10.  Converting Between Unicode Values and String Characters
      Section 1.11.  Encoding and Decoding URL Strings
      Section 1.12.  Encoding and Decoding Base64 Strings
   
    Chapter 2.  Numbers and Dates
      Section 2.0.  Introduction
      Section 2.1.  Converting Between Numbers and Strings
      Section 2.2.  Testing a Number's Validity
      Section 2.3.  Testing Numeric Equality
      Section 2.4.  Rounding Floating-Point Numbers
      Section 2.5.  Formatting Numbers for Text Display
      Section 2.6.  Converting Between Decimal and Hexadecimal Numbers
      Section 2.7.  Generating Pseudorandom Numbers
      Section 2.8.  Calculating Trigonometric Functions
      Section 2.9.  Creating a Date Object
      Section 2.10.  Calculating a Previous or Future Date
      Section 2.11.  Calculating the Number of Days Between Two Dates
      Section 2.12.  Validating a Date
   
    Chapter 3.  Arrays and Objects
      Section 3.0.  Introduction
      Section 3.1.  Creating a Simple Array
      Section 3.2.  Creating a Multidimensional Array
      Section 3.3.  Converting Between Arrays and Strings
      Section 3.4.  Doing Something with the Items in an Array
      Section 3.5.  Sorting a Simple Array
      Section 3.6.  Combining Arrays
      Section 3.7.  Dividing Arrays
      Section 3.8.  Creating a Custom Object
      Section 3.9.  Simulating a Hash Table for Fast Array Lookup
      Section 3.10.  Doing Something with a Property of an Object
      Section 3.11.  Sorting an Array of Objects
      Section 3.12.  Customizing an Object's Prototype
      Section 3.13.  Converting Arrays and Custom Objects to Strings
   
    Chapter 4.  Variables, Functions, and Flow Control
      Section 4.0.  Introduction
      Section 4.1.  Creating a JavaScript Variable
      Section 4.2.  Creating a Named Function
      Section 4.3.  Nesting Named Functions
      Section 4.4.  Creating an Anonymous Function
      Section 4.5.  Delaying a Function Call
      Section 4.6.  Branching Execution Based on Conditions
      Section 4.7.  Handling Script Errors Gracefully
      Section 4.8.  Improving Script Performance
   
    Chapter 5.  Browser Feature Detection
      Section 5.0.  Introduction
      Section 5.1.  Detecting the Browser Brand
      Section 5.2.  Detecting an Early Browser Version
      Section 5.3.  Detecting the Internet Explorer Version
      Section 5.4.  Detecting the Netscape Navigator Version
      Section 5.5.  Detecting the Client Operating System
      Section 5.6.  Detecting Object Support
      Section 5.7.  Detecting Object Property and Method Support
      Section 5.8.  Detecting the Browser Written Language
      Section 5.9.  Detecting Cookie Availability
      Section 5.10.  Defining Browser- or Feature-Specific Links
      Section 5.11.  Testing on Multiple Browser Versions
   
    Chapter 6.  Managing Browser Windows
      Section 6.0.  Introduction
      Section 6.1.  Setting the Main Window's Size
      Section 6.2.  Positioning the Main Window
      Section 6.3.  Maximizing the Main Window
      Section 6.4.  Creating a New Window
      Section 6.5.  Bringing a Window to the Front
      Section 6.6.  Communicating with a New Window
      Section 6.7.  Communicating Back to the Main Window
      Section 6.8.  Using Internet Explorer Modal/Modeless Windows
      Section 6.9.  Simulating a Cross-Browser Modal Dialog Window
      Section 6.10.  Simulating a Window with Layers
   
    Chapter 7.  Managing Multiple Frames
      Section 7.0.  Introduction
      Section 7.1.  Creating a Blank Frame in a New Frameset
      Section 7.2.  Changing the Content of One Frame from Another
      Section 7.3.  Changing the Content of Multiple Frames at Once
      Section 7.4.  Replacing a Frameset with a Single Page
      Section 7.5.  Avoiding Being "Framed" by Another Site
      Section 7.6.  Assuring a Page Loads in its Frameset
      Section 7.7.  Reading a Frame's Dimensions
      Section 7.8.  Resizing Frames
      Section 7.9.  Setting Frameset Specifications Dynamically
   
    Chapter 8.  Dynamic Forms
      Section 8.0.  Introduction
      Section 8.1.  Auto-Focusing the First Text Field
      Section 8.2.  Performing Common Text Field Validations
      Section 8.3.  Preventing Form Submission upon Validation Failure
      Section 8.4.  Auto-Focusing an Invalid Text Field Entry
      Section 8.5.  Changing a Form's Action
      Section 8.6.  Blocking Submissions from the Enter Key
      Section 8.7.  Advancing Text Field Focus with the Enter Key
      Section 8.8.  Submitting a Form by an Enter Key Press in Any Text Box
      Section 8.9.  Disabling Form Controls
      Section 8.10.  Hiding and Showing Form Controls
      Section 8.11.  Allowing Only Numbers (or Letters) in a Text Box
      Section 8.12.  Auto-Tabbing for Fixed-Length Text Boxes
      Section 8.13.  Changing select Element Content
      Section 8.14.  Copying Form Data Between Pages
   
    Chapter 9.  Managing Events
      Section 9.0.  Introduction
      Section 9.1.  Equalizing the IE and W3C Event Models
      Section 9.2.  Initiating a Process After the Page Loads
      Section 9.3.  Determining the Coordinates of a Click Event
      Section 9.4.  Preventing an Event from Performing Its Default Behavior
      Section 9.5.  Blocking Double Clicks
      Section 9.6.  Determining Which Element Received an Event
      Section 9.7.  Determining Which Mouse Button Was Pressed
      Section 9.8.  Reading Which Character Key Was Typed
      Section 9.9.  Reading Which Noncharacter Key Was Pressed
      Section 9.10.  Determining Which Modifier Keys Were Pressed During an Event
      Section 9.11.  Determining the Element the Cursor Rolled From/To
      Section 9.12.  Synchronizing Sounds to Events
   
    Chapter 10.  Page Navigation Techniques
      Section 10.0.  Introduction
      Section 10.1.  Loading a New Page or Anchor
      Section 10.2.  Keeping a Page Out of the Browser History
      Section 10.3.  Using a select Element for Navigation
      Section 10.4.  Passing Data Between Pages Via Cookies
      Section 10.5.  Passing Data Between Pages Via Frames
      Section 10.6.  Passing Data Between Pages Via URLs
      Section 10.7.  Creating a Contextual (Right-Click) Menu
      Section 10.8.  Creating Drop-Down Navigation Menus
      Section 10.9.  Providing Navigation Trail Menus
      Section 10.10.  Creating Expandable Menus
      Section 10.11.  Creating Collapsible XML Menus
   
    Chapter 11.  Managing Style Sheets
      Section 11.0.  Introduction
      Section 11.1.  Assigning Style Sheet Rules to an Element Globally
      Section 11.2.  Assigning Style Sheet Rules to a Subgroup of Elements
      Section 11.3.  Assigning Style Sheet Rules to an Individual Element
      Section 11.4.  Importing External Style Sheets
      Section 11.5.  Importing Browser- or Operating System-Specific Style Sheets
      Section 11.6.  Changing Imported Style Sheets After Loading
      Section 11.7.  Enabling/Disabling Style Sheets
      Section 11.8.  Toggling Between Style Sheets for an Element
      Section 11.9.  Overriding a Style Sheet Rule
      Section 11.10.  Turning Arbitrary Content into a Styled Element
      Section 11.11.  Creating Center-Aligned Body Elements
      Section 11.12.  Reading Effective Style Sheet Property Values
      Section 11.13.  Forcing Version 6 Browsers into Standards-Compatibility Mode
   
    Chapter 12.  Visual Effects for Stationary Content
      Section 12.0.  Introduction
      Section 12.1.  Precaching Images
      Section 12.2.  Swapping Images (Rollovers)
      Section 12.3.  Changing Text Style Properties
      Section 12.4.  Offering Body Text Size Choices to Users
      Section 12.5.  Creating Custom Link Styles
      Section 12.6.  Changing Page Background Colors and Images
      Section 12.7.  Hiding and Showing Elements
      Section 12.8.  Adjusting Element Transparency
      Section 12.9.  Creating Transition Visual Effects
   
    Chapter 13.  Positioning HTML Elements
      Section 13.0.  Introduction
      Section 13.1.  Making an Element Positionable in the Document Space
      Section 13.2.  Connecting a Positioned Element to a Body Element
      Section 13.3.  Controlling Positioning Via a DHTML JavaScript Library
      Section 13.4.  Deciding Between div and span Containers
      Section 13.5.  Adjusting Positioned Element Stacking Order (z-order)
      Section 13.6.  Centering an Element on Top of Another Element
      Section 13.7.  Centering an Element in a Window or Frame
      Section 13.8.  Determining the Location of a Nonpositioned Element
      Section 13.9.  Animating Straight-Line Element Paths
      Section 13.10.  Animating Circular Element Paths
      Section 13.11.  Creating a Draggable Element
      Section 13.12.  Scrolling div Content
      Section 13.13.  Creating a Custom Scrollbar
   
    Chapter 14.  Creating Dynamic Content
      Section 14.0.  Introduction
      Section 14.1.  Writing Dynamic Content During Page Loading
      Section 14.2.  Creating New Page Content Dynamically
      Section 14.3.  Including External HTML Content
      Section 14.4.  Embedding XML Data
      Section 14.5.  Embedding Data as JavaScript Objects
      Section 14.6.  Transforming XML Data into HTML Tables
      Section 14.7.  Transforming JavaScript Objects into HTML Tables
      Section 14.8.  Converting an XML Node Tree to JavaScript Objects
      Section 14.9.  Creating a New Element
      Section 14.10.  Creating Text Content for a New Element
      Section 14.11.  Creating Mixed Element and Text Nodes
      Section 14.12.  Inserting and Populating an iframe Element
      Section 14.13.  Getting a Reference to an HTML Element Object
      Section 14.14.  Replacing Portions of Body Content
      Section 14.15.  Removing Body Content
      Section 14.16.  Sorting Dynamic Tables
      Section 14.17.  Walking the Document Node Tree
      Section 14.18.  Capturing Document Content
   
    Chapter 15.  Dynamic Content Applications
      Section 15.0.  Introduction
      Section 15.1.  Displaying a Random Aphorism
      Section 15.2.  Converting a User Selection into an Arbitrary Element
      Section 15.3.  Automating the Search-and-Replace of Body Content
      Section 15.4.  Creating a Slide Show
      Section 15.5.  Auto-Scrolling the Page
      Section 15.6.  Greeting Users with Their Time of Day
      Section 15.7.  Displaying the Number of Days Before Christmas
      Section 15.8.  Displaying a Countdown Timer
      Section 15.9.  Creating a Calendar Date Picker
      Section 15.10.  Displaying an Animated Progress Bar
   
    Appendix A.  Keyboard Event Character Values
    Appendix B.  Keyboard Key Code Values
    Appendix C.  ECMAScript Reserved Keywords
    Colophon
    Index
[ Team LiB ] Previous Section Next Section