Smashing Magazine
45 Fresh Useful JavaScript and jQuery Techniques and Tools
Yes, this is another round-up of fresh and useful Javascript techniques, tools and resources. But don’t close the tab yet, as you might find this one very useful. In this selection we present calendars, forms, buttons, navigation, debugging, optimization and compatibility tables as well as handy resources and tools. We also cover various jQuery-plugins that will help you extend the functionality of your website and improve user experience with ready components or coding solutions.
The last section also covers a number of useful educational resources such as a compilation of useful JavaScript coding practices, a detailed comparison of JavaScript frameworks and general JavaScript programming conventions. We are looking forward to your feedback.
You may be interested in the following related posts:
- 50 Fresh JavaScript Tools That Will Improve Your Workflow
- 45 Powerful CSS/JavaScript-Techniques
- 70 Useful AJAX And JavaScript Techniques
[Offtopic: by the way, did you know that we are publishing a Smashing eBook Series? The brand new eBook #3 is Mastering Photoshop For Web Design, written by our Photoshop-expert Thomas Giannattasio.]
Calendars and Timelines
jDigiClock – Digital Clock (HTC Hero inspired)
jDigiClock is a jQuery plugin inspired from HTC Hero Clock Widget.
jQuery Sliding Clock v1.1
jQuery transpearant Slider clock with CSS sprites.
Date / Time Picker
Note that this control is not designed to work in IE6; although it will function correctly in most cases, the positioning of the calendar may be way off depending on how your page is styled.
JavaScript Debugging and Validation Tools
Venkman JavaScript Debugger project page
Venkman is the code name for Mozilla’s JavaScript Debugger. Venkman aims to provide a powerful JavaScript debugging environment for Gecko-based browsers namely Firefox 3.x, the Netscape 7.x series of browsers, Netscape 9.x series, Mozilla Seamonkey 1.x and Mozilla Seamonkey 2.x. It does not include Gecko-based browsers such as K-Meleon 1.x, Galeon 2.x and Netscape 8.x. The debugger is available as an add-on package in XPI format. Venkman JavaScript Debugger has been provided as part of the Mozilla install distribution since October 3rd 2001.
CompanionJS
Companion.JS (pronounced Companion dot JS or CJS) is a Javascript debugger for IE.
How to Test your JavaScript Code with QUnit
QUnit is a powerful JavaScript unit testing framework that helps you to debug code. It’s written by members of the jQuery team, and is the official test suite for jQuery. But QUnit is general enough to test any regular JavaScript code, and it’s even able to test server-side JavaScript via some JavaScript engine like Rhino or V8.
JS Bin – Collaborative JavaScript Debugging
JS Bin is an open source collaborative JavaScript debugging tool.
Forms, Buttons & Navigation
Making a Google Wave History Slider
Here is shown how to create a Google Wave-like history slider. Using it will enable visitors to go back and forth in time to view the changes that take place on a comment thread.
Fancy Radio Buttons With jQuery
Creation of 2 mandatory option sets that a user could choose, while hiding off the radio button inputs and using an anchor links to make it a bit more usable.
Creative Button Animations with Sprites and JQuery
Fading hover effect for which the transition is smoothed with JavaScript, using jQuery library.
Password (un)Masking
JavaScript jQuery that toggles the masking and unmasking of the password field.
jQuery MagicLine Navigation
These “sliding” style navigation bars have been around a while, and turns out it’s really pretty darn easy. Here are put two examples together.
Fixed Fade Out Menu: A CSS and jQuery Tutorial
The aim is to have a fixed navigation that follows the user when he scrolls, and only subtly showing itself by fading out and becoming almost transparent. When the user hovers over it, the menu then becomes opaque again. Inside of the navigation we will have some links, a search input and a top and bottom button that let the user navigate to the top or the bottom of the page.
jQuery plugin: Simplest Twitter-like dynamic character count for textareas and input fields
The best way to explain what this plugin does is to mention Twitter. Twitter posts are limited to 140 characters. While typing the Twitter post there is this always present information about how many characters the users have before reaching the limit. The information is not only provided merely by displaying a number, there are different colors applied to certain stages to notify the user about the status.
Sliding Labels v2
Form label keeping the label inline, but sliding it off to the left rather than going away on click.
Ketchup Plugin
Ketchup is a slim jQuery Plugin that validates your forms. It aims to be very flexible and extendable for its appearance and functionality.
Layout tools
jQuery {css}designerGrid Plugin
{css} designerGrid is A jQuery Plugin developed for website interface developers who use the grid system of layout. {css} designerGrid is intended to assist these developers with CSS prototyping.
css-template-layout
JavaScript (jQuery) implementation of the CSS Template Layout Module
How to create a fluid grid with jQuery
Grid-based layout is probably the more preferred way to style up a webpage to give it more magazine-like look and feel. This tutorial is about how to use CSS and Javascript to create a fluid grid-based layout (See demo here). The algorithm/procedure used in this tutorial is very simple and straightforward. There are more advanced algorithms out there which can handle multiple scenarios. But the purpose is to understand the basic logic on how to create such layout. So here it goes…
closure-templates
Closure Templates are a client- and server-side templating system that helps you dynamically build reusable HTML and UI elements. They are easy to learn and customizable to fit your application’s needs. Closure Templates support JavaScript and Java and use a data model and expression syntax that works for either language. You can also use the built-in message support to easily localize your applications.
Useful jQuery Plugins
TipTip jQuery Plugin
TipTip detects the edges of the browser window and will make sure the tooltip stays within the current window size. As a result the tooltip will adjust itself to be displayed above, below, to the left or to the right of the element with TipTip applied to it, depending on what is necessary to stay within the browser window. TipTip is a very lightweight and intelligent custom tooltip jQuery plugin. It uses ZERO images and is completely customizable via CSS. It’s also only 3.5kb minified!
jQuery Roundabout
Roundabout is a jQuery plugin that converts a structure of static HTML elements into a highly customizable turntable-like interactive area. (And now, not just turntables, but many shapes!)
jParse – jQuery XML Parse Plugin
jParse is a jQuery plugin that allows you to parse XML that was fetched with the jQuery .ajax method (making it fully customizable).
jQuery Quicksand plugin
Reorder and filter items with a nice shuffling animation.
typeQuery, change website typography with jquery
typeQuery gives the flexibility to change the font-family for everything you define with class, id, or tag, this example is referring to the selected item on a select object with id=”tag” and the font-family value at select object with id=”family”: $($("#tag").val()).css("font-family", $("#family").val());
Flip! A jQuery plugin v0.9.9
Flip is a jQuery plugin that will flip easily your elements in four directions.
Data Encryption With JavaScript: jCryption
jCryption is a jQuery plugin for encrypting POST/GET data submitted by forms. It uses public-key algorithm of RSA for the encryption & has a PHP file for handling the decryption of data.
Minimalist jQuery: 11 useful plugins under 4K
jQuery makes our lives easier. So much so that it’s tempting to use it all the time, inadvertently slowing our page load times (cue YSlow and Hammerhead). Combining, compressing, and delivering scripts at the end of your page helps in the HTTP request department. On the file size front, below are jQuery plugins that give solid bang for your performance buck.
Undo/Redo in jQuery
An easy-to-use plugin for adding undo/redo capabilities to a jQuery application. It is based loosely on the Objective-C/Cocoa way of doing things.
editease
editEase – jQuery CMS | no fuss, no database, no worries
jsHub
jsHub is a single piece of JavaScript (a “tag”) that can handle reading different sorts of page information and then send them to many different vendors’ products. One piece of code to send to Google Analytics, Omniture SiteCatalyst, WebTrends and Mixpanel. Instead of one piece of JavaScript per vendor, jsHub has a single piece of code (the “hub”) and plugins that know how to translate into the required wire protocol for each vendor. Vendors only maintain the plugin for their product.
Educational JavaScript Resources and Tutorials
Caffeinated Simpleton
JavaScript is an amazing little language, but it’s got some quirks that turn a lot of people off. One of those quirks is this, and how it’s not necessarily what you expect it to be. this isn’t that complicated, but there are very few explanations of how it works on the internet. This article is an attempt to explain how this works and how to use it properly.
What You Need To Know About JavaScript Scope
This article discusses how JavaScript handles scope and how various JavaScript libraries provide methods for dealing with it and how they smooth out a few bumps. We’ll also look at how you can get back to basics and do some interesting scope wrangling without a library, a useful approach if you’re writing code that needs to stand alone.
Learning Advanced JavaScript
A very nice tutorial to learn JavaScript, containing code and discussion from the upcoming book Secrets of the JavaScript Ninja by John Resig.
Highlight search terms automagically with JavaScript and mark
Script surrounding the search term(s) with the mark element rather than a span, although the class searchword is retained in case you want to style these marks differently from others. In the CSS, the rule article mark is just added to turn it a gentle shade of pink.
10 Really Helpful Traversing Functions in jQuery
With jQuery, selecting HTML elements is laughably easy. But at times, we may wish to further refine the selection, which can be a hassle when the HTML structure is complicated. In this tutorial, we’ll explore ten ways that we can refine and extend a set of wrapped elements that we wish to operate upon.
Using keyboard shortcuts in Javascript
If you want to enhance your web app, Javascript keyboards shortcuts is definitely something to consider. In this article, you’ll learn to use JS keyboard shortcuts, with and without the JQuery framework.
Code Conventions for the JavaScript Programming Language
This is a set of coding conventions and rules for use in JavaScript programming.
jQuery – Select element cheat sheet
This cheat sheet helps you to find the index of a selected option, set the selected option by value, set the selected option by text, insert a new option before or after another and get the text or value of the selected option.
Compare JavaScript frameworks
Modern Web sites and Web applications tend to rely quite heavily on client-side JavaScript to provide rich interactivity, particularly through the advent of asynchronous HTTP requests that do not require page refreshes to return data or responses from a server-side script or database system. In this article, you will discover how JavaScript frameworks make it easier and faster to create highly interactive and responsive Web sites and Web applications.
Park your Horse, Code Cowboy: Professional JavaScript Workflows, Part 1
In this series, we’ll talk about tools & techniques you can use to cover those No’s, and cut a lot of strife & embarrassment from your JavaScript experience.
JavaScript Reference examples (example source code)
JavaScript Reference examples, organized by Objects, Properties, Methods & Collections. Some Event Handlers Reference are also available.
JavaScript best practices
A compilation of best practices and good advice I’ve amassed over the years, much of it learnt the hard way (experimentation and suchlike). Take the advice below to heart and keep it in a part of your brain that has a quick access route so you can apply it without thinking about it. I am sure you will find things to disagree with, and that is a good thing – you should question what you read, and strive to find better solutions. However, I have found that following these principles has made me a more effective developer and allowed other developers to build upon my work more easily.
wtfjs
JavaScript is a language we love despite it giving us so much to hate. This is a collection of those very special irregularities, inconstancies and just plain painfully unintuitive moments for the language of the web.
Related Posts
You may be interested in the following related posts:
- 50 Fresh JavaScript Tools That Will Improve Your Workflow
- 45 Powerful CSS/JavaScript-Techniques
- 70 Useful AJAX And JavaScript Techniques
Poll
The team here at Smashing Magazine. Mostly Sven & Vitaly.
- 71 Comments
- 1
- 2
March 12th, 2010 9:07 amindeed dude ! After long time we had a jquery round up. I love quicksand most. Moreover i find really unkown jquery plugins http://www.webdeveloperjuice.com/2010/03/12/9-jquery-plugins-you-probably-havent-seen/
My favr8 quicksand is also listed here :)- 3
March 13th, 2010 8:54 amYeah, I had seen Quicksand in another blog a while ago…also an amazing plugin.
Thanks for the link. Some good plugins in there as well.
- 3
- 4
March 28th, 2010 7:51 pmwhy nothing about Extjs ??
No tutorial?! - 5
April 6th, 2010 6:56 amAn PHP image upload tutorial with the “mime-type”, also a simple search function is a good way to create a new tutorial.
- 2
- 6
March 12th, 2010 7:28 amYes, this is a good post. Always great to see what/how jQuery is changing web interactivity. Thanks SM
- 7
March 12th, 2010 7:46 amamazing post, very useful! i liked the labels’ one! keep going!
- 8
March 12th, 2010 8:09 amGreat article, SM!
- 9
March 12th, 2010 8:22 amWow! i can`t close my mouth! ..
This was an amazing post about Jquery …
Thanks :D - 10
March 12th, 2010 8:47 amNice article, great collection, looks like an army of jquery plugins…
- 11
March 12th, 2010 9:51 amGostei da lista. Vai me ajudar e muito!! ;D BRASIL
- 12
March 12th, 2010 10:20 amUseful list. jQuery is very powerful in its simplicity.
- 13
March 12th, 2010 11:23 amjQuery is certainly not simple… It’s 50kb and most of the functions call other “factory” functions.
- 13
- 14
March 12th, 2010 10:24 amShoulda mentioned the jQuery before/after from catchmyfame.com
- 15
March 12th, 2010 11:34 amYeah, this is WEB 2.0! Thanks you very much for such great articles.
Greetings from Germany! - 16
March 12th, 2010 12:06 pmYes, yes. These are really very useful.
- 17
March 12th, 2010 12:30 pmThis is amazing, thank you so much for putting this together.
- 18
March 12th, 2010 2:33 pmFantastic list, bookmarked!
- 19
March 12th, 2010 7:34 pmGreat post. I’m currently learning JS, and its the HARDEST thing ever. lmao.
I have used jQuery several times, but this coding from scratch thing is the pits. :D
- 20
March 12th, 2010 8:05 pmThanks for Sharing.
It was great collection. So many new things for me in jquery. - 21
March 12th, 2010 9:05 pmI just start learning Javascript, it’s very complicated for me, this collection is really useful. Thanks for sharing.
- 22
March 12th, 2010 9:59 pmnice collection, good to read
- 23
March 12th, 2010 11:13 pmHey
Thanks for sharing such great content.
- 24
March 12th, 2010 11:16 pmThanks :)
- 25
March 13th, 2010 1:03 amIt is for the sake of this kind of posts I keep reading Smashing Magazine. Great!
- 26
March 13th, 2010 2:04 amDoes anyone know any jQuery plugin similar like Gmail, when you change any input in form and want to go on any other page, script warns you that didn’t save changes (unless you click on submit button)?
- 27
March 15th, 2010 6:21 pmLucifix: I use dirtyform.js
- 27
- 28
March 13th, 2010 2:40 amToo much jquery here. Mootools too, needs attention.
- 29
March 13th, 2010 3:18 amThanks for that.
- 30
March 13th, 2010 7:05 amSo great the article is! It’s very helpful for me~~
- 31
March 13th, 2010 7:13 amThanks for this in depth article! Really useful!
- 32
March 13th, 2010 8:48 amNice post!
Gives me some great ideas as a designer knowing that certain techniques can be now incorporated into the build.
- 33
March 13th, 2010 11:29 amFew in the beginning are fascinating. Thanks for sharing.
- 34
March 13th, 2010 11:39 amthanks for this great tips
- 35
March 13th, 2010 11:58 amThank you for these…using a lot of jquery lately in my site design.
- 36
March 13th, 2010 2:05 pmAmazing Post!
Thanks so much!
- 37
March 13th, 2010 2:07 pmits awesome…wow
- 38
March 13th, 2010 11:32 pmTesting
- 39
March 14th, 2010 1:53 amKetchup Plugin does not work good at all. It has js-errors in the librabry itself. I tried to leave a word on their page, but they just delete it.
- 40
March 14th, 2010 1:56 amSorry, this just looks like you put all the random jquery bookmarks you had into one post.
- 41
March 14th, 2010 6:08 amThank you SM for amazing article
- 42
March 14th, 2010 7:11 amThanks for the post ilike all about jQuery ,, but anyone now how to create image slideshow gallery like http://lodjixmedia.net/ iam confused to mix fade in effect with autoplay my site always not show the fade in effect !! anyone can help me please
- 43
March 14th, 2010 10:22 amI’m loving cssDesignerGrid, certainly helps with page layout when designing!
- 44
March 14th, 2010 10:28 amI particularly like the way you’ve used an image of PHP code for an illustration for the “What you need to know about Javascript scope” educational material…
Thanks guys :)
- 45
March 14th, 2010 12:31 pmGreat post!
- 46
March 14th, 2010 4:12 pmNice post. Would have liked to have seen some image slideshows in there too. =)
- 47
March 14th, 2010 4:51 pmNice post, these are very useful plugins. It is also some very cool ones that i havent seen before on http://www.vectornpixel.com , check it out. They have some cool image sliders
- 48
March 14th, 2010 5:38 pmwow! This is really useful .Thanks
- 49
March 14th, 2010 11:40 pmthis is article is more than amazing
its helpful and comperhansive
thanks alot
- 50
March 14th, 2010 11:49 pmYour writing way to little about asp.net its like it dont even exists to you guys ^^. Even if you like it or not theres alot of big clients requesting it. Personally i realy like the open source CMS Umbraco built on it. Its simple and yet very flexible.
- 51
March 15th, 2010 1:21 amnice I love it
- 52
March 15th, 2010 6:13 amVery nice—but I’m a MooTools guy. It’s easy enough to translate these techniques to MooTools—it’s more the interactive solutions that are of interest here. I guess the MooTools vs JQuery debate is another one of those Mac vs PC, Joomla vs Drupal, Coke vs Pepsi things that probably benefits everyone in the end.
- 53
March 15th, 2010 9:42 pmhmmmm,
Smashing is wasting it’s time. All these stuff are just one click away from browser’s google search box. I think smashing should produce really really smashing contents otherwise it will no more be smashing.
Thanks
- 54
March 15th, 2010 9:50 pmstunning samples… thanks…
- 55
March 16th, 2010 6:05 amSweet! Another list of jQuery plugins on Smashing Magazine, how refreshing! /s
Does anyone bother to learn how to do anything on their own anymore, or is it just easier to grab yet another poorly written plugin and pretend you understand whats going on.
- 56
March 16th, 2010 6:39 am@Jamie fake it ’til you make it :)
Awesome list, going to read everything in here.
- 57
March 16th, 2010 11:33 amnice jquery tools some of them I saw used at jquery templates flashmint.com/show-type-jquery.html
- 58
March 16th, 2010 8:15 pmGreat Thanks
- 59
March 16th, 2010 8:39 pmWhat a great article!!!! thanks a ton for sharing….
- 60
March 16th, 2010 10:10 pmhey pals,
this is one of the best article i have gone through… thanks for sharing.
- 61
March 17th, 2010 3:08 amCool article, as usualy!.. tx
- 62
March 17th, 2010 7:07 amA lot of content here to try out on some of my own projects, thanks alot.
- 63
March 17th, 2010 9:38 pmAwsome…. quite fresh and new techniques…!!!
- 64
March 18th, 2010 5:13 amAnd again… under, what you need to know about javascript scope, the wrong picture is used. Please, please learn the difference between PHP and JavaScript.
Nice article by the way!
- 65
March 19th, 2010 3:16 amGreat Resource …..
- 66
April 5th, 2010 3:09 amNice jquery tools some of them I used, This is really useful .Thanks
From :
Munnabhai – Dhanashree Inc - 67
April 5th, 2010 4:42 pmGreat roundup of more javascript tools… keep em coming!
- 68
April 5th, 2010 10:19 pmthis is amaizing blog
- 69
May 2nd, 2010 4:31 pmGreat post. Very useful. Thanks for sharing.
PS: It seems that the Date/Time Picker uses the prototype framework instead of jquery.
- 70
June 27th, 2010 5:52 amNice collection of tools;)
- 71
August 8th, 2010 11:04 pmCool List!!
I created myself a jquery plugin. It would be cool.
please see here:-
http://jquery13.blogspot.com/2010/08/with-jquery-becoming-ever-more-popular.htmlBest Regards
Aman
Leave a Comment
Make sure you enter the * required information where indicated. Please also rate the article as it will help us decide future content and posts. Comments are moderated – and rel="nofollow" is in use. Please no link dropping, no keywords or domains as names; do not spam, and do not advertise!
- Fresh on SmashingMag: Designing and Producing Creative Business Cards: Techniques and Details - http://bit.ly/ceOKDd
- Google Instant Search Is Released - http://bit.ly/drRq8U
- Web Project: Weighing Cost vs Speed vs Quality - http://bit.ly/ap9IIl
- CSS3Menu: create CSS3-based menus with this free library - http://bit.ly/bJfj1l
- Web Wireframe Kit (a free PSD file) - http://bit.ly/d14tll
- A step to be ahead: start designing for mobile devices - http://bit.ly/dv6DQN
- @rafiuske thank you :-)
- Showcase: Textures in Web Design - http://bit.ly/cloLIr
- New Cartoon on SmashingMag: Ping Without Pong - http://bit.ly/b7SNmE
- New on SmashingMag: Designing and Producing Creative Business Cards: Techniques and Details - http://su.pr/1HrRO6 (please RT)













































Finally! I was really waiting on one these nice summaries of good jQuery techniques… Thanks!
edit: The one’s with pretty radio buttons, magicline and flip! are awesome..