formats

Kevin Chisholm’s JavaScript Training Services

Transform yourself from someone who “knows just enough jQuery to be dangerous” to a real Front-End web developer who can write native / Object Oriented JavaScript, architect complicated applications, and own the DOM with complete confidence. “Kevin is an awesome Front End Developer with fantastic JavaScript knowledge who has helped me to improve my Object

(More)…

formats

Making a Simple HTTP Server with Node.js – Part III

in Node.js.

In Part II of this series: Making a Simple HTTP Server with Node.js – Part II we learned how to use the “path” and “file system” modules. By leveraging these Node.js modules, we were able to read the path of the HTTP request that our server received, and read from the file system of the web

(More)…

formats

Book Review: Instant Dependency Management with RequireJS How-to

Asynchronous Module Definition is a term that can be intimidating. Even worse, it can potentially discourage JavaScript programmers from learning about and implementing the AMD API. Greg Franko’s book, Instant Dependency Management with RequireJS How-to, from Packt Publishing, strives to cut through the clutter and introduce you to AMD through Require.js The initial areas of

(More)…

formats

Making a Simple HTTP Server with Node.js – Part II

in Node.js.

OK, enough “Hello World!” Let’s serve up an HTML file, dagnabbit. In Part I of this series: “Making a Simple HTTP Server with Node.js – Part I“, we learned the bare-bones steps needed to create an HTTP server with Node.js. While it was fun to see our text message make its way from our server-side

(More)…

formats

Making a Simple HTTP Server with Node.js – Part I

in Node.js.

The beauty of creating an HTTP server with Node.js is that you are doing so using a language that you already know: JavaScript. If you work with JavaScript, then you’ve probably heard about Node.js. What makes Node.js such an amazing technology is that it turns web-development on its head: a historically client-side language is now

(More)…

formats

Validating JavaScript Function Arguments

in Functions.

Gracefully handling corner cases is the key to writing more robust, error-free JavaScript If you work with JavaScript for a living, you write functions. There is no way around this. If you write functions, then arguments are a part of your life. If you are the only one who uses the JavaScript code you write,

(More)…

formats

Getting Started With CSS3 Transitions – Part III: Using Cubic-Bezier for More Lifelike Motion

in CSS3.

In Parts I and II of this series, we covered the absolute basics of CSS3 transitions. In those articles, we focused on applying transitions to single and multiple properties, and setting delays. In this article, we will review a more complex animation. The example is still pretty basic, but it is the next step with

(More)…

formats

Replicating a “mailto:” href When You Need to Return false From an Anchor Tag Click

You have an ancor tag, the href is a “mailto”, but what if you can’t have the hyper link follow? Problem: You need to have a “mailto:” click event, but you have to (for whatever reason) return false or otherwise prevent the actual click event’s default behavior. Short Answer: On that element’s click event: window.location

(More)…

formats

Getting Started With CSS3 Transitions – Part II

in CSS3.

In the previous article: “Getting Started With CSS Transitions – Part I,” we covered the very basics of CSS3 transitions. We covered how to apply a transition to the height property of an element, and how to add a duration in order to see the effect of our transition. We also discussed easing, which makes

(More)…

formats

Omniture Calls Firing Twice When Returning False from Click Event

Sometimes “return false” is not enough; you need to prevent the event from bubbling up the DOM. Problem: While implementing new Omniture calls on a client’s mobile site today, I noticed that two Omniture calls were being fired each time the new social media buttons I had added where clicked. These buttons only fired the

(More)…

formats

Getting Started With CSS3 Transitions – Part I

in CSS3.

For the majority of the time we’ve been consuming HTML, making things move on web pages has been handled by JavaScript. At first it was a nightmare. jQuery has nicely abstracted away much of the cross-browser misery for us and I thank them dearly for this. Now, CSS3 provides functionality for animation that allows you

(More)…

formats

Google’s First Production Server Rack, Circa 1998

in Internet.

Hard to believe, but a mere “fifteen years ago….” this little Frankenstein rack was the heart and soul of Google’s entire operation… at least for a minute or two. One recent rainy night when the home shopping network was showing re-runs, I stumbled across this: http://en.wikipedia.org/wiki/Google_platform There’s plenty of light reading in there if you

(More)…

formats

Getting Started with JavaScript Unit Testing and jQuery QUnit

Decent programmers tests their code before deploying it. In JavaScript development, this usually means viewing the web page that your code interacts with, and clicking one or more elements in the page to ensure that the desired result is achieved. When that code base starts to grow and become more complex, testing can become tedious.

(More)…

formats

Ceaser – CSS Easing Animation Tool by Matthew Lein

in CSS3.

This has been out there for a while, but I just had to post it. This online tool makes it super-easy to create custom CSS3 transition easing settings. Ten seconds on this page and you will be impressed. You can use the drop-down to select a pre-defined easing scheme, and there is a ton of them.

(More)…

formats

Getting Started with Require.js – Part III

Learn How to Build a Social Media Plugin, Using Require.js and the Asynchronous Module Definition (AMD) Pattern In Getting Started with Require.js – Part II, we took a closer look at the way the Require.js JavaScript library works. We created modules that depended on other modules, and learned how the return value of a module

(More)…

formats

Using the jQuery Promise Interface to Avoid the AJAX Pyramid of Doom

in jQuery.

Nested success callbacks are messy business. The jQuery Promise interface provides a simple and elegant solution. So, you have to make an AJAX call, and then do something with the return data. No problem, right? Right. What if you have to make two AJAX calls, and then do something with the return data for each

(More)…

formats

Getting Started with Require.js – Part II

Step beyond the basics, and learn how Require.js modules can return various kind of values, depend on other modules, and keep those dependencies transparent to the outside world In Getting Started with Require.js Part I, we got to know the Require.js JavaScript library. We learned about the basics of the define() and require() methods, and

(More)…

formats

What’s the Difference Between jQuery().each() and jQuery.each() ?

in jQuery.

jQuery’s two .each() methods are similar in nature, but differ in level of functionality Some may find it difficult to understand the difference between jQuery.each() and jQuery().each(). Perhaps the easiest way to understand the difference is to start with jQuery().each(). This method can only be used against a jQuery collection. So when you do this:

(More)…

formats

Getting Started with Require.js – Part I

Learn how to decouple your code and organize it into reusable modules Require.js is a JavaScript library that allows you to organize your code into separate modules. It follows the Asynchronous Module Definition API. Each module is an individual JavaScript file. You may, at first, bristle at this pattern because it forces you to rethink

(More)…

formats

Super Flexible JavaScript Object and Array Iteration with jQuery.each()

in jQuery.

The jQuery.each() method makes it trivial to iterate over or inspect any kind of collection: arrays, objects, array-like objects, even jQuery DOM Objects. Working with JavaScript means working with Objects. There is almost no way around this. Even in the simplest of scenarios, at some point you are likely to encounter an object and you

(More)…

show
 
close