“determines the fraction of an HTML element that is currently in the viewport, as well as the fraction it takes of the complete viewport and the fraction of the area that might possibly be visible. It also provides the coordinates of the visible rectangle in document, element and viewport space.”

From the makers of Lettering.js comes another awesome jQuery type-focused plugin: “FitText makes font-sizes flexible. Use this plugin on your fluid or responsive layout to achieve scalable headlines that fill the width of a parent element.” Yet again, @trentwalton, @davatron5000 and @raygunray release a killer utility that developers, designers and users alike will benefit from.

The timing of this release meshes perfectly with my redesign of Refresh Austin.

"s. The purpose of this book is to provide an overview of the jQuery JavaScript library; when you're done with the book, you should be able to complete basic tasks using jQuery, and have a solid basis from which to continue your learning. This book was designed as material to be used in a classroom setting, but you may find it useful for individual study."

HTML5 includes form validation as part of the spec, so once it's fully supported we won't need to use JavaScript to validate form input. Sadly, this is only supported by Webkit browsers at the moment (Safari & Chrome). This plugin addresses the gap for the other major browsers with a single line of code.

A few months ago Cody Lindley asked if I would review his new book, jQuery Enlightenment after he saw me tweet about it. I jumped at the chance, but due to many other projects, this review has seen many delays. My apologies to Cody and to you for not posting this review sooner. That said, I’m very happy to share my thoughts now that time permits and I think you’ll find it useful.

The Short Review

jQuery Enlightenment is great for anyone who has some experience with jQuery and wants to step up their game or is familiar with another JavaScript framework like Prototype or Dojo and wants to ramp up on the increasingly popular jQuery framework. The book is not for complete beginners, but if you have a foundation, you’ll be able to jump right in and learn.

Two Quick Notes

First: when Cody released this book, jQuery was at 1.3.2. Between then and the time of this writing, jQuery 1.4 has been released. While there are some key differences introduced in 1.4, I don’t think they detract from Cody’s work.

Second: Cody gave me a copy of the book in return for this review. Luckily, I really like the book, so I feel confident in staking my reputation on the recommendation. I’m not receiving any form of affiliate payment for encouraging you to buy the book.

A Longer Review

So, obviously I like it. Here’s why.

It’s Accessible

Cody’s writing style is friendly and he has a knack for transforming complex concepts into understandable knowledge that you can quickly apply. He’s included a wealth of code, even better, he’s posted all the samples on JS Bin for easy access.

Additionally, as the file is a PDF, it is easy to take it with you on your phone, or using my favorite method – DropBox, which maintains the file across multiple machines. Keeping your copy open makes it easy to search for a particular event, effect or method while you’re working.

It Covers What You Need to Know

jQuery Enlightenment starts by explaining core jQuery concepts, quickly moving into more detailed and advanced topics. While I won’t reiterate everything (check out the table of contents on the site), I think it’s important to list some of the key concepts he does cover to show the breadth of the book:

Traversing the DOM

HTML manipulation, including a chapter on forms

Events and Effects

AJAX

Performance Best Practices

Writing a jQuery plugin

Yeah, Cody covers a lot in this book. While I’m by no means an expert, I’m comfortable with jQuery and I learned a lot. For example, I had somehow missed the existence of preventDefault() and stopPropogation(), so I’ve relied on return: false. This works most of the time, but now I know that there’s extra granularity available to me should I need it. Nice.

Oh and don’t miss the gems in Chapter 12 (Miscellaneous Concepts) as he’s thrown in some very useful knowledge there at the end.

Wrapping Up

So, as I noted at the beginning, I think this is a great book and an easy purchase decision if you are familiar with JavaScript and are interested in jQuery.