Home   FAQs   New Arrivals   Specials   Pricing & Shipping   Location   Corporate Services   Why Choose Bookware?  
 Search:   
Call our store: 9922 6266 (from within Sydney) or 1800 734 567 (from outside Sydney)
 View Cart   Check Out   
 
Browse by Subject
 Nepean TAFE 2012
I.T
 .NET
 Windows 7
 Adobe CS5
 Cisco
 CCNA 2012
 CCNP 2012
 Java
 VB
 ASP
 Web Design
 E-Commerce
 Project Management
 ITIL
 Macintosh
 Linux
 Windows Server 2008
 SAP
 Sharepoint 2010
Certification
 MCITP
 MCTS
Economics and Business
 Accounting
 Business Information Systems
 Economics
 Finance
 Management
 Marketing
 TAX
 Human Resources
Academic
 Law
 Nursing
 Medical

JavaScript & DHTML Cookbook - Solutions and Example for Web Programmers

by: Danny Goodman

Notify me when in stock

On-line Price: $59.95 (includes GST)

Paperback package 592

20%Off Retail Price

You save: $15.00

OUT OF PRINT...must be sought from extended supplier network... Usual delay approx 3 weeks...Subject to change..
Price/availability/options for all order will be confirmed by reply email before processing.

Retail Price: $74.95

Publisher: O'REILLY,2003/04/30

Category: JAVASCRIPT Level: I/A

ISBN: 0596004672
ISBN13: 9780596004675

Add to Shopping Cart

On numerous online forums for JavaScript and DHTML, the majority of questions begin with 'How do I...?' This new Cookbook provides the answers. 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. He has now applied state-of-the-art ECMA and W3C DOM standards and used best practices to create this extensive collection of practical recipes that can bring your web pages to life.


  The JavaScript & DHTML Cookbook is all about adding value to the content of a web page. The book focuses on practical and sensible applications of scripting, rather than flying images and gratuitous color changes. For every problem Goodman addresses, there's a solution or 'recipe'--a focused piece of code that web developers can insert directly into their applications. Yet, rather than just cut-and-paste code, you also get explanations of how and why the code works, so you can learn to adapt the problem-solving techniques to your designs.


  The 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 and sorting tables. This book contains over 150 recipes on the following topics:


      Working with interactive forms and style sheets


  Presenting user-friendly page navigation


  Creating dynamic content


  Producing visual effects for stationary content


  Positioning HTML elements


  Managing browser windows and multiple frames


  This book is the ideal companion to O'Reilly's JavaScript: The Definitive Guide and Dynamic HTML: The Definitive Reference. If you own either of these books, the JavaScript & DHTML Cookbook is a must.


  Related O'Reilly Books:

Cascading Style Sheets: The Definitive Guide

Dynamic HTML: The Definitive Reference, 2nd Edition

HTML & XHTML: The Definitive Guide, 5th Edition

JavaScript: The Definitive Guide, 4th Edition

Table of Contents

Preface


  1. Strings


            1.1 Concatenating (Joining) Strings


            1.2 Accessing Substrings


            1.3 Changing String Case


            1.4 Testing Equality of Two Strings


            1.5 Testing String Containment Without Regular Expressions


            1.6 Testing String Containment with Regular Expressions


            1.7 Searching and Replacing Substrings


            1.8 Using Special and Escaped Characters


            1.9 Reading and Writing Strings for Cookies


            1.10 Converting Between Unicode Values and String Characters


            1.11 Encoding and Decoding URL Strings


            1.12 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


  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 Netscape Navigator Version


            5.5 Detecting the Client Operating System


            5.6 Detecting Object Support


            5.7 Detecting Object Property and Method Support


            5.8 Detecting the Browser Written Language


            5.9 Detecting Cookie Availability


            5.10 Defining Browser- or Feature-Specific Links


            5.11 Testing on Multiple Browser Versions


  6. Managing Browser Windows


            6.1 Setting the Main Window's Size


            6.2 Positioning the Main Window


            6.3 Maximizing the Main Window


            6.4 Creating a New Window


            6.5 Bringing a Window to the Front


            6.6 Communicating with a New Window


            6.7 Communicating Back to the Main Window


            6.8 Using Internet Explorer Modal/Modeless Windows


            6.9 Simulating a Cross-Browser Modal Dialog Window


            6.10 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 Assuring 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 Changing a Form's Action


            8.6 Blocking Submissions from the Enter Key


            8.7 Advancing Text Field Focus with the Enter Key


            8.8 Submitting a Form by an Enter Key Press in Any Text Box


            8.9 Disabling Form Controls


            8.10 Hiding and Showing Form Controls


            8.11 Allowing Only Numbers (or Letters) in a Text Box


            8.12 Auto-Tabbing for Fixed-Length Text Boxes


            8.13 Changing select Element Content


            8.14 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 Determining the Coordinates of a Click Event


            9.4 Preventing an Event from Performing Its Default Behavior


            9.5 Blocking Double Clicks


            9.6 Determining Which Element Received an Event


            9.7 Determining Which Mouse Button Was Pressed


            9.8 Reading Which Character Key Was Typed


            9.9 Reading Which Noncharacter Key Was Pressed


            9.10 Determining Which Modifier Keys Were Pressed During an Event


            9.11 Determining the Element the Cursor Rolled From/To


            9.12 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 Version 6 Browsers into Standards-Compatibility Mode


  12. Visual Effects for Stationary Content


            12.1 Precaching Images


            12.2 Swapping Images (Rollovers)


            12.3 Changing Text Style Properties


            12.4 Offering Body Text Size Choices to Users


            12.5 Creating Custom Link Styles


            12.6 Changing Page Background Colors and Images


            12.7 Hiding and Showing Elements


            12.8 Adjusting Element Transparency


            12.9 Creating Transition Visual Effects


  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


  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 Table


            14.8 Converting an XML Node Tree to JavaScript Objects


            14.9 Creating a New 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 Replacing Portions of Body Content


            14.15 Removing Body Content


            14.16 Sorting Dynamic Tables


            14.17 Walking the Document Node Tree


            14.18 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 Creating a Slide Show


            15.5 Auto-Scrolling the Page


            15.6 Greeting Users with Their Time of Day


            15.7 Displaying the Number of Days Before Christmas


            15.8 Displaying a Countdown Timer


            15.9 Creating a Calendar Date Picker


            15.10 Displaying an Animated Progress Bar


  A. Keyboard Event Character Values


  B. Keyboard Key Code Values


  C. ECMAScript Reserved Keywords


  Index