
JavaScript & jQuery: The Missing Manual, Second Edition
By David Sawyer McFarlandMissing CD-ROM
Download all tutorial files here.
Introduction
Page 3
- Ecma International - Develops and maintains JavaScript specification www.ecmascript.org/
page 4
- jQuery used on millions of websites - Stats for jQuery http://trends.builtwith.com/javascript/JQuery
page 5
- Web Standards - Templates for different types of web pages www.webstandards.org/learn/reference/templates
page 7
- The World Wide Web Consortium - Free online validator on W3C http://validator.w3.org
- Firefox HTML Validator - Plug-in download for Firefox http://users.skynet.be/mgueury/mozilla
- Safari Validator - A plug-in for Safari that will point out errors in your HTML http://zappatic.net/projects/safarivalidator
page 10
- Notepad++ - Free program download for Windows for editing web pages http://notepad-plus-plus.org
- HTML-Kit - Free program download for Windows for editing web pages www.chami.com/html-kit
- CoffeeCup Free HTML Editor - Free program download for Windows for editing web pages www.coffeecup.com/free-editor
- TextWrangler - Free program download for Mac for editing web pages www.barebones.com/products/textwrangler
- Eclipse - Free program download for Windows, Linux, and Mac for editing web pages www.eclipse.org
- Eclipse for JavaScript developers - Free program download, specifically for developers for Windows, Linux, and Mac for editing web pages www.eclipse.org/downloads/packages/eclipse-ide-javascript-web-developers/indigor
- Eclipse - Plug-ins download for jQuery autocomplete http://marketplace.eclipse.org/category/free-tagging/jquery
- Aptana Studio - Free program download for Windows, Linux, and Mac for editing web pages www.aptana.org
page 11
- EditPlus - Commercial software for Windows for editing web pages www.editplus.com
- CoffeeCup - Commercial software for Windows for editing web pages www.coffeecup.com
- textMate - Commercial software for Mac for editing web pages http://macromates.com
- BBEdit - Commercial software for Mac for editing web pages www.barebones.com/products/bbedit
- Dreamweaver - Commercial software for Mac and Windows for editing web pages www.adobe.com/products/dreamweaver.html
- Expression Web Designer - Commercial software for Windows for editing web pages www.microsoft.com/expression/products/StudioWebPro_Overview.aspx
page 12
- jQuery Documentation - Written by programmers for programmers http://docs.jquery.com/Main_Page
page 16
- Living Examples - Download all example files used in this book www.sawmac.com/js2e
- Missing CD page www.missingmanuals.com/cds
- Registration - Register your book www.oreilly.com/register
- Feedback Page - Submit your comments or questions www.missingmanuals.com/feedback
- Errata Page - View and report errata http://tinyurl.com/jsjqtmm
Chapter 1: Writing Your First JavaScript Program
page 37
- The Firebug - Plug-in download for Firefox that expands on Firefox's Error Console http://getfirebug.com/
Chapter 2: The Grammar of JavaScript
page 46
- The World's Biggest Pac-Man - Uses JavaScript for its game http://worldsbiggestpacman.com/
Chapter 3: Adding Logic and Control to Your Programs
page 78
- Solitaire - JavaScript based game http://worldofsolitaire.com
Chapter 4: Introducing jQuery
page 118
- jQuery library - Online www.jquery.com
page 119
- Yahoo User Interface Library - Yahoo programmers constantly add and improve this library http://developer.yahoo.com/yui/
- Dojo Toolkit - Another very large JavaScript library http://dojotoolkit.org/
- Mootools - Javascript library geared toward slick animation and visual effects http://mootools.net/
- Prototype - One of the first JavaScript libraries available www.prototype.js.org
- Scriptaculous - Used often with Prototype, a visual effects library that adds animation and other UI goodies http://script.aculo.us/
page 120
- jQuery library - Updated regularly and includes info about code http://docs.jquery.com/Downloading_jQuery
page 122
- "Current release" section of jQuery library - Lists changes made to a given version of jQuery http://docs.jquery.com/Downloading_jQuery#Current_Release
page 132
- HTML Dog CSS Tutorials - Basic, intermediate and advanced tutorials for an overview on CSS www.htmldog.com/guides/
- Max Design - Refresher on available selectors via their "Selectutorial" page http://css.maxdesign.com.au/selectutorial/
- 456 Berea St. - Other option for refresher on available selectors online http://www.456bereastreet.com/archive/200601/css_3_selectors_explained/
page 141
- Web Developer toolbar add-on in Mozilla - Allows you to view both the regular HTML source and generated HTML in Firefox https://addons.mozilla.org/en-US/firefox/addon/web-developer/
Chapter 5: Action/Reaction: Making Pages Come Alive with Events
page 163
- Events - jQuery API Documentation - List of jQuery events and their functions http://api.jquery.com/category/events/
page 181
- jQuery.com Forum - Alternatives to the toggle() event https://forum.jquery.com/topic/beginner-function-toggle-deprecated-what-to-use-instead
page 182
- jQuery Traversing - List of more functions with jQuery http://docs.jquery.com/Traversing
Chapter 6: Animations and Effects
page 189
- CSS absolute positioning - More info online www.elated.com/articles/css-positioning
page 192
- jQuery color plug-in - Latest download can be found online https://github.com/jquery/jquery-color
page 195
- jQuery easing plug-in - Download available online http://gsgd.co.uk/sandbox/jquery/easing/
- Easing options - A visual understanding of the different options online www.robertpenner.com/easing/easing_demo.html
page 198
- Effects queue - Info, examples and demos can be found online http://api.jquery.com/jQuery.queue/
Chapter 7: Improving Your Images
page 222
- Lightbox - A JavaScript program that can add effects to a page displaying a gallery of photos http://lokeshdhakar.com/projects/lightbox2/
- FancyBox - A jQuery plug-in that allows for effects such as Lightbox's http://fancybox.net/
page 227
- FancyBox options - List of effects options using the plug-in http://fancybox.net/api/
page 229
- CSS sprites - Technique in which website download becomes faster by loading single files for controls http://css-tricks.com/158-css-sprites/
page 231
- FancyBox blog - Tips and tricks on creating custom functions for customizing HTML http://fancybox.net/blog
Chapter 8: Improving Navigation
page 238
- To open a new window or not with external links - Article on the strategy of opening external links in new windows www.useit.com/alertbox/990530.html
page 240
- The not () function - A useful way of excluding some elements from a jQuery selection http://api.jquery.com/not
page 243
- Window.open() method - Examples of JavaScript programming that use this method http://experiments.instrum3nt.com/markmahoney/ball/ and http://thewildernessdowntown.com/
page 244
- All Is Not Lost website - Examples of JavaScript programming methods in action http://www.allisnotlo.st/
page 245
- jQuery ScrollTo plug-in - A simple way to control document scrolling http://plug-ins.jquery.com/project/ScrollTo
page 246
- iFrame - Short for inline frame, it can be inserted anywhere in a page's HTML http://www.w3schools.com/tags/tag_iframe.asp
page 252
- HTML Dog - Website for a refresher on creating HTML lists www.htmldog.com/guides/htmlbeginner/lists/
- jQuery Navigation Plugin - Allows you to not have to worry about creating the CSS for certain buttons and menus www.pollenizer.com/jquerynavigation-plugin/
page 256
- DD Mega Menu plug-in - Allows you to create drop-down menus as well as entire divs that can drop into view http://dynamicdrive.com/dynamicindex1/ddmegamenu.htm
- jqDoc plug-in - Allows you to create a visual effect in which scrolling across a band of images enlarges them upon contact www.wizzud.com/jqDock/
- Noupe.com - List of 45 jQuery navigation plug-in and tutorials www.noupe.com/jquery/45-jquery-navigation-pluginsand-tutorials.html
Chapter 9: Enhancing Web Forms
page 276
- jQuery UI Datepicker - Customizable pop-up calendar plug-in for download http://jqueryui.com/download
- jQuery UI Themeroller - Plug-in that allows you to create custom style sheets http://jqueryui.com/themeroller/
- jQuery Datepicker info http://jqueryui.com/demos/datepicker/
page 280
- Validation plug-in - Checks forms to make sure requirements are filled out http://bassistance.de/jquery-plugins/jquery-plugin-validation/
page 285
- Validation plug-in options - List can be found here http://docs.jquery.com/Plugins/Validation/validate#toptions
page 289
- Ajax - Validation method demo http://jquery.bassistance.de/validate/demo/captcha/
Chapter 10: Expanding Your Interface
page 303
- Short explanation on in-page links - HTML Source www.yourhtmlsource.com/text/internallinks.html
page 312
- jQuery UI - Project by the jQuery team to provide plug-ins to solve basic user interface problems http://jqueryui.com/
- CSS themes - An online download tool to have CSS themes match your website http://jqueryui.com/download
- AnythingSlider - One of the most versatile jQuery slider plug-ins https://github.com/ProLoser/AnythingSlider/
page 316
- CSS sprites - Introduction to sprites http://css-tricks.com/158-css-sprites/
page 319
- AnythingSlider Wiki https://github.com/ProLoser/AnythingSlider/wiki
page 327
- HTML5 custom data attributes - Info http://html5doctor.com/html5-custom-data-attributes/
page 328
- CSS cursor - Options www.w3schools.com/cssref/pr_class_cursor.asp
page 338
- qTip2 - Tooltip plug-in http://craigsworks.com/projects/qtip2/
- jQuery Tools Tooltip - Customizable plug-in http://flowplayer.org/tools/tooltip/index.html
- jQuery UI Tooltip - Collection of user interface widgets and tools for web designers http://wiki.jqueryui.com/w/page/12138112/Tooltip
Chapter 11: Introducing Ajax
342
- Ajax first use - Blog post www.adaptivepath.com/ideas/ajax-new-approach-web-applications
page 343
- Star-rating widget - jQuery plug-in that allows users to rate items www.wbotelhos.com/raty/
page 346
- WAMP - Free installer for Windows for Apache, PHP and MySQL www.wampserver.com/en/
- WAMP install - Video demonstration on how to install WAMP http://uptospeedguides.com/wamp/
- MAMP - Program for Mac that includes Apache, PHP, and MySQL www.mamp.info/en
- Microsoft IIS - Program that allows you to create Ajax applications you'd like to use on your real website; Install instructions for Vista http://learn.iis.net/page.aspx/85/installing-iis7/; Install instructions for XP Pro www.webwiz.co.uk/kb/asp-tutorials/installing-iis-winxp-pro.htm
page 351
- PHP 101 - Website to learn PHP http://devzone.zend.com/6/php-101-php-for-the-absolute-beginner/
- W3Schools - Website for the beginning PHP programmer www.w3schools.com/PHP
page 365
- Learn more about XML www.w3schools.com/XML
- Produce XML from a server - Info on how to do so www.w3schools.com/XML/xml_server.asp
- jQuery's find () function - Info here http://api.jquery.com/find
page 368
- PHP-based login script - Demo http://www.html-form-guide.com/php-form/php-login-form.html
- PHP login script video tutorial http://www.youtube.com/watch?v=4oSCuEtxRK8
page 372
- JSON - Website to learn about converting PHP arrays to a JSON object in a web browser www.php.net/manual/en/function.json-encode.php
page 376
- jQuery's each () function - Loops through JSON objects to perform tasks on nested objects http://docs.jquery.com/Utilities/jQuery.each#objectcallback
Chapter 12: Flickr and Google Maps
page 379
- jQuery Flickr Photo Gallery - Plug-in that gives you more control in selecting and displaying Flickr photos http://johnpatrickgiven.com/jquery/flickr-gallery/
- Flickr feeds - Full list of Flickr feeds for different types of photos www.flickr.com/services/feeds/
- Specific Flickr account URL - To access photos from specified Flickr accounts http://api.flickr.com/services/feeds/photos_public.gne
- Flickr photo groups - URL to access photos from specific Flickr groupshttp://api.flickr.com/services/feeds/groups_pool.gne
page 381
- Flickr public photo feed - The only Flickr URL in which you can search for tags www.flickr.com/services/feeds/docs/photos_public/
page 383
- Flickr ID - Retrieval if you do not know your Flickr ID http://idgettr.com/]
page 388
- jQuery Form plug-in - A way to add Ajax to your form submissions http://jquery.malsup.com/form/
- Autocomplete - Allows you to add search field functionality http://jqueryui.com/demos/autocomplete/
- Uploadify - Ajax plug-in that allows users to upload files seamlessly www.uploadify.com/
- Taconite - Plug-in that allows you to update certain parts of a webpage http://jquery.malsup.com/taconite/
- Tweet! - Plug-in that allows you to add a Twitter stream to your webpage http://tweet.seaofclouds.com/
- GoMap - Plug-in that allows you to add a Google map to a web page www.pittss.lv/jquery/gomap/
page 390
- iTouchMap - Website that provides longitude and latitude of any location http://itouchmap.com/latlong.html
page 391
- GMAP3 - Plug-in that can do more than GoMap, like generate driving directions http://gmap3.net/
Chapter 13: Getting the Most from jQuery
page 404
- Prototype - JavaScript library that uses $() www.prototypejs.org
- noConflict - jQuery function that deals with using jQuery() and $() methods http://api.jquery.com/jQuery.noConflict/
page 407
- Selector test - Online speed test for the .find() function http://jsperf.com/sawmac-selector-test
- Other ways to improve jQuery's performance: http://addyosmani.com/jqprovenperformance/, http://jqfundamentals.com/#chapter-9
- Tips and tricks for working with jQuery - Blog post http://tutorialzine.com/2011/06/15-powerful-jquery-tips-and-tricks-for-developers/
- jQuery docs - Website with detailed documentation for jQuery http://docs.jquery.com/
page 408
- jQuery Core - Information on a handful of functions http://api.jquery.com/category/core/
- jQuery() function page http://api.jquery.com/jQuery/
page 409
- Selectors - Web page that offers access to the most helpful jQuery functions http://api.jquery.com/category/selectors/
- Attributes - Web page that lists functions that get and set attributes of HTML elements http://api.jquery.com/category/attributes/
- Traversing - Functions used to manipulate a set of page elements http://api.jquery.com/category/traversing/
- Manipulation - Web page list of functions for changing pages http://api.jquery.com/category/manipulation/
- The CSS page - jQuery list of functions for reading and setting CSS elements http://api.jquery.com/category/css/
- Events - List of jQuery's event-related functions http://api.jquery.com/category/events/
- Effects page - Information on jQuery's effects-related functions http://api.jquery.com/category/effects/
page 410
- Ajax page - List of functions for updating pages via info sent to or received from web server http://api.jquery.com/category/utilities/
- Data page - Lists functions to add data to page elements http://api.jquery.com/category/data/
- Deferred Object page - Info on deferred object functions http://api.jquery.com/category/deferred-object/
- Dimensions page - List of functions that determine width and heights of objects on a page http://api.jquery.com/category/dimensions/
- Forms page - Lists functions related to form functions http://api.jquery.com/category/forms/
page 411
- Internals - List of functions of varying usefulness http://api.jquery.com/category/internals/
- Offset page - List of functions to determine position of an object in relation to the screen or parent element http://api.jquery.com/category/offset/
Chapter 14: Going Further with JavaScript
page 436
- Regular expression - Full library online www.regexlib.com
page 437
- Regular expression postal code match - Website for international postal code format matching http://regexlib.com/Search.aspx?k=postal+code
- Regular expression phone number match - Website for international phone number format matching http://regexlib.com/Search.aspx?k=phone+number
page 465
- JavaScript compressors - Programs that minimize the space JavaScript takes up http://crockford.com/javascript/jsmin.html, http://dean.edwards.name/packer
- YUI Compressor - Yahoo's JavaScript compressor (recommended) http://developer.yahoo.com/yui/compressor
Chapter 15: Troubleshooting and Debugging
page 477
- Firebug - Free Firefox extension tool that helps you debug code www.getfirebug.com
Appendix A: JavaScript Resources
JavaScript
page 497
- Mozilla Developer Center Core JavaScript Reference
- JavaScript Quick Reference from DevGuru
- WebPlatform.org
page 498
- MSDN JavaScript Language Reference
- A (Re)-Introduction to JavaScript by Simon Willison
- The W3 Schools JavaScript tutorial
- An Introduction to JavaScript
jQuery
page 499
- jQuery Essentials by Marc Grabanski
- jQuery Tutorials for Designers
- jQuery Cheatsheet
- jQuery.com
- jQuery's documentation
- jQuery for Designers
- Learning jQuery
- Script Junkie
Ajax
page 500
Advanced JavaScript
page 501
- Eloquent JavaScript
- Unobtrusive JavaScript
- The JavaScript section of Douglas Crockford's World Wide Web
- Yahoo's JavaScript Developer Center
- Mozilla Developers Network JavaScript section
CSS
page 502