This week I was working on a project that required me to add a css class to an element within a sequence of events.
First I wanted to fadeOut() an array of elements, wait a moment, and then add a class to another element.
Because Javascript is asynchronous, on my first attempt everything executed, just not in the order I had anticipated.
Enter jQuery.queue().
This handy little function allows you to pass in a callback with next as a parameter, enabling you to call jQuery and Javascript synchronously.
someElements.fadeOut()
            .delay(200)
            .queue(function(next) {
              otherElements.removeClass('active');
              thisElement.addClass('active');
              next(); // continue to next line
            });
someElements.fadeIn();
Now we can call fadeOut() on someElements, handle adding and removing classes after our delay() and then fade someElements back in.
