<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Glenn's Second Brain &#187; JavaScript</title>
	<atom:link href="http://www.glennmarcus.com/blog/tag/javascript/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.glennmarcus.com/blog</link>
	<description>For the spillover</description>
	<lastBuildDate>Thu, 15 Apr 2010 23:28:56 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>45 Fresh Useful JavaScript and jQuery Techniques and Tools</title>
		<link>http://www.glennmarcus.com/blog/2010/03/12/45-fresh-useful-javascript-and-jquery-techniques-and-tools/</link>
		<comments>http://www.glennmarcus.com/blog/2010/03/12/45-fresh-useful-javascript-and-jquery-techniques-and-tools/#comments</comments>
		<pubDate>Fri, 12 Mar 2010 15:14:41 +0000</pubDate>
		<dc:creator>Smashing Editorial</dc:creator>
				<category><![CDATA[ajax]]></category>
		<category><![CDATA[ui]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[user/12651333281871808648/label/ui]]></category>
		<category><![CDATA[user/12651333281871808648/label/web20]]></category>
		<category><![CDATA[user/12651333281871808648/state/com.google/read]]></category>
		<category><![CDATA[user/12651333281871808648/state/com.google/tracking-body-link-used]]></category>

		<guid isPermaLink="false">tag:google.com,2005:reader/item/75f88a06be3ae8fd</guid>
		<description><![CDATA[<table width="650">
<tr>
<td width="650">
<div style="width:650px"> <img src="http://creatives.commindo-media.de/static/smashing-magazine-advertisement.gif" alt="Smashing-magazine-advertisement in 45 Fresh Useful JavaScript and jQuery Techniques and Tools" border="0"/><br /> <a href="http://creatives.commindo-media.de/www/delivery/ck.php?zoneid=56"><img src="http://creatives.commindo-media.de/www/delivery/avw.php?zoneid=56" border="0" alt=" in 45 Fresh Useful JavaScript and jQuery Techniques and Tools"/></a>Â <a href="http://creatives.commindo-media.de/www/delivery/ck.php?zoneid=63"><img src="http://creatives.commindo-media.de/www/delivery/avw.php?zoneid=63" border="0" alt=" in 45 Fresh Useful JavaScript and jQuery Techniques and Tools"/></a>Â <a href="http://creatives.commindo-media.de/www/delivery/ck.php?zoneid=64"><img src="http://creatives.commindo-media.de/www/delivery/avw.php?zoneid=64" border="0" alt=" in 45 Fresh Useful JavaScript and jQuery Techniques and Tools"/></a></div>
</td>
</tr>
</table>
<p>Yes, this is another round-up of <strong>fresh and useful Javascript techniques, tools and resources</strong>. 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.</p>
<p>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.</p>
<p>You may be interested in the following related posts:</p>
<ul>
<li><a href="http://www.smashingmagazine.com/2009/06/21/50-fresh-javascript-tools-that-will-improve-your-workflow/">50 Fresh JavaScript Tools That Will Improve Your Workflow</a></li>
<li><a href="http://www.smashingmagazine.com/2010/01/12/45-powerful-css-javascript-techniques/">45 Powerful CSS/JavaScript-Techniques</a></li>
<li><a href="http://www.smashingmagazine.com/2009/03/08/70-new-useful-ajax-and-javascript-techniques/">70 Useful AJAX And JavaScript Techniques</a></li>
</ul>
<p> [By the way: The <a href="http://www.smashingmagazine.com/network-posts/">network tab</a> (on the top of the page) is updated several times a day. It features manually selected articles from the best web design blogs!]<br />
<h3>Calendars and Timelines</h3>
</p><p><a href="http://www.radoslavdimov.com/jquery-plugins/jquery-plugin-digiclock/">jDigiClock â€“ Digital Clock (HTC Hero inspired)</a><br /> jDigiClock is a jQuery plugin inspired from HTC Hero Clock Widget.</p>
<p><a href="http://www.radoslavdimov.com/jquery-plugins/jquery-plugin-digiclock/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/02/javascript-techniques-82.jpg" alt="Javascript-techniques-82 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools" width="480" height="300"/></a></p>
<p><a href="http://home.comcast.net/~vonholdt/test/clock_slide/index.htm">jQuery Sliding Clock v1.1</a><br /> jQuery transpearant Slider clock with CSS sprites.</p>
<p><a href="http://home.comcast.net/~vonholdt/test/clock_slide/index.htm"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/02/javascript-techniques-67.jpg" alt="Javascript-techniques-67 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools" width="480" height="300"/></a></p>
<p><a href="http://home.jongsma.org/software/js/datepicker">Date / Time Picker</a><br /> 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.</p>
<p><a href="http://home.jongsma.org/software/js/datepicker"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/02/javascript-techniques-05.jpg" alt="Javascript-techniques-05 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools" width="480" height="300"/></a></p>
<h3>JavaScript Debugging and Validation Tools</h3>
<p><a href="http://www.mozilla.org/projects/venkman/">Venkman JavaScript Debugger project page</a><br /> Venkman is the code name for Mozillaâ€™s JavaScript Debugger. Venkman aims to provide a powerful JavaScript debugging environment&#8230;</p>]]></description>
			<content:encoded><![CDATA[<table width="650">
<tr>
<td width="650">
<div style="width:650px"> <img src="http://creatives.commindo-media.de/static/smashing-magazine-advertisement.gif" alt="Smashing-magazine-advertisement in 45 Fresh Useful JavaScript and jQuery Techniques and Tools" border="0"/><br /> <a href="http://creatives.commindo-media.de/www/delivery/ck.php?zoneid=56"><img src="http://creatives.commindo-media.de/www/delivery/avw.php?zoneid=56" border="0" alt=" in 45 Fresh Useful JavaScript and jQuery Techniques and Tools"/></a>Â <a href="http://creatives.commindo-media.de/www/delivery/ck.php?zoneid=63"><img src="http://creatives.commindo-media.de/www/delivery/avw.php?zoneid=63" border="0" alt=" in 45 Fresh Useful JavaScript and jQuery Techniques and Tools"/></a>Â <a href="http://creatives.commindo-media.de/www/delivery/ck.php?zoneid=64"><img src="http://creatives.commindo-media.de/www/delivery/avw.php?zoneid=64" border="0" alt=" in 45 Fresh Useful JavaScript and jQuery Techniques and Tools"/></a></div>
</td>
</tr>
</table>
<p>Yes, this is another round-up of <strong>fresh and useful Javascript techniques, tools and resources</strong>. 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.</p>
<p>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.</p>
<p>You may be interested in the following related posts:</p>
<ul>
<li><a href="http://www.smashingmagazine.com/2009/06/21/50-fresh-javascript-tools-that-will-improve-your-workflow/">50 Fresh JavaScript Tools That Will Improve Your Workflow</a></li>
<li><a href="http://www.smashingmagazine.com/2010/01/12/45-powerful-css-javascript-techniques/">45 Powerful CSS/JavaScript-Techniques</a></li>
<li><a href="http://www.smashingmagazine.com/2009/03/08/70-new-useful-ajax-and-javascript-techniques/">70 Useful AJAX And JavaScript Techniques</a></li>
</ul>
<p> [By the way: The <a href="http://www.smashingmagazine.com/network-posts/">network tab</a> (on the top of the page) is updated several times a day. It features manually selected articles from the best web design blogs!]<br />
<h3>Calendars and Timelines</h3>
<p><a href="http://www.radoslavdimov.com/jquery-plugins/jquery-plugin-digiclock/">jDigiClock â€“ Digital Clock (HTC Hero inspired)</a><br /> jDigiClock is a jQuery plugin inspired from HTC Hero Clock Widget.</p>
<p><a href="http://www.radoslavdimov.com/jquery-plugins/jquery-plugin-digiclock/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/02/javascript-techniques-82.jpg" alt="Javascript-techniques-82 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools" width="480" height="300"/></a></p>
<p><a href="http://home.comcast.net/~vonholdt/test/clock_slide/index.htm">jQuery Sliding Clock v1.1</a><br /> jQuery transpearant Slider clock with CSS sprites.</p>
<p><a href="http://home.comcast.net/~vonholdt/test/clock_slide/index.htm"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/02/javascript-techniques-67.jpg" alt="Javascript-techniques-67 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools" width="480" height="300"/></a></p>
<p><a href="http://home.jongsma.org/software/js/datepicker">Date / Time Picker</a><br /> 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.</p>
<p><a href="http://home.jongsma.org/software/js/datepicker"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/02/javascript-techniques-05.jpg" alt="Javascript-techniques-05 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools" width="480" height="300"/></a></p>
<h3>JavaScript Debugging and Validation Tools</h3>
<p><a href="http://www.mozilla.org/projects/venkman/">Venkman JavaScript Debugger project page</a><br /> 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.</p>
<p><a href="http://www.mozilla.org/projects/venkman/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/02/javascript-techniques-14.jpg" alt="Javascript-techniques-14 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools" width="480" height="300"/></a></p>
<p><a href="http://www.my-debugbar.com/wiki/CompanionJS/HomePage"> CompanionJS</a><br /> Companion.JS (pronounced Companion dot JS or CJS) is a Javascript debugger for IE.</p>
<p><a href="http://www.my-debugbar.com/wiki/CompanionJS/HomePage"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/02/javascript-techniques-32.jpg" alt="Javascript-techniques-32 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools" width="480" height="300"/></a></p>
<p><a href="http://net.tutsplus.com/tutorials/javascript-ajax/how-to-test-your-javascript-code-with-qunit/">How to Test your JavaScript Code with QUnit</a><br /> 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.</p>
<p><a href="http://net.tutsplus.com/tutorials/javascript-ajax/how-to-test-your-javascript-code-with-qunit/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/02/javascript-techniques-44.jpg" alt="Javascript-techniques-44 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools" width="480" height="300"/></a></p>
<p><a href="http://jsbin.com/">JS Bin â€“ Collaborative JavaScript Debugging</a><br /> JS Bin is an open source collaborative JavaScript debugging tool.</p>
<p><a href="http://jsbin.com/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/02/javascript-techniques-12.jpg" alt="Javascript-techniques-12 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools" width="480" height="300"/></a></p>
<h3>Forms, Buttons &amp; Navigation</h3>
<p><a href="http://tutorialzine.com/2009/10/google-wave-history-slider-jquery/">Making a Google Wave History Slider</a><br /> 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.</p>
<p><a href="http://tutorialzine.com/2009/10/google-wave-history-slider-jquery/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/02/javascript-techniques-73.jpg" alt="Javascript-techniques-73 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools" width="480" height="300"/></a></p>
<p><a href="http://theodin.co.uk/blog/design/fancy-radio-buttons-jquery.html">Fancy Radio Buttons With jQuery</a><br /> 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.</p>
<p><a href="http://theodin.co.uk/blog/design/fancy-radio-buttons-jquery.html"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/02/javascript-techniques-62.jpg" alt="Javascript-techniques-62 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools" width="480" height="300"/></a></p>
<p><a href="http://www.tutorial9.net/web-tutorials/creative-button-animations-with-sprites-and-jquery-part-2/">Creative Button Animations with Sprites and JQuery</a><br /> Fading hover effect for which the transition is smoothed with JavaScript, using jQuery library.</p>
<p><a href="http://www.tutorial9.net/web-tutorials/creative-button-animations-with-sprites-and-jquery-part-2/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/02/javascript-techniques-83.jpg" alt="Javascript-techniques-83 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools" width="480" height="300"/></a></p>
<p><a href="http://www.vileworks.com/password-unmasking">Password (un)Masking</a><br /> JavaScript jQuery that toggles the masking and unmasking of the password  field.</p>
<p><a href="http://www.vileworks.com/password-unmasking"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/02/javascript-techniques-68.jpg" alt="Javascript-techniques-68 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools" width="480" height="300"/></a></p>
<p><a href="http://css-tricks.com/jquery-magicline-navigation/">jQuery MagicLine Navigation</a><br /> 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.</p>
<p><a href="http://css-tricks.com/jquery-magicline-navigation/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/02/javascript-techniques-49.jpg" alt="Javascript-techniques-49 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools" width="480" height="300"/></a></p>
<p><a href="http://tympanus.net/codrops/2009/12/11/fixed-fade-out-menu-a-css-and-jquery-tutorial/">Fixed Fade Out Menu: A CSS and jQuery Tutorial</a><br /> 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.</p>
<p><a href="http://tympanus.net/codrops/2009/12/11/fixed-fade-out-menu-a-css-and-jquery-tutorial/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/02/javascript-techniques-52.jpg" alt="Javascript-techniques-52 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools" width="480" height="300"/></a></p>
<p><a href="http://cssglobe.com/post/7161/jquery-plugin-simplest-twitterlike-dynamic-character-count-for-textareas">jQuery plugin: Simplest Twitter-like dynamic character count for textareas and input fields</a><br /> 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.</p>
<p><a href="http://www.csskarma.com/blog/sliding-labels-v2/">Sliding Labels v2</a><br /> Form label keeping the label inline, but sliding it off to the left rather than going away on click.</p>
<p><a href="http://www.csskarma.com/blog/sliding-labels-v2/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/03/javascript-techniques-87.jpg" alt="Javascript-techniques-87 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools" width="480" height="100"/></a></p>
<p><a href="http://demos.usejquery.com/ketchup-plugin/index.html">Ketchup Plugin</a><br /> Ketchup is a slim jQuery Plugin that validates your forms. It aims to be very flexible and extendable for its appearance and functionality.</p>
<p><a href="http://demos.usejquery.com/ketchup-plugin/index.html"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/02/javascript-techniques-84.jpg" alt="Javascript-techniques-84 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools" width="480" height="300"/></a></p>
<h3>Layout tools</h3>
<p><a href="http://www.kromosome.net/cssdesignergrid/">jQuery {css}designerGrid Plugin</a><br /> {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.</p>
<p><a href="http://www.kromosome.net/cssdesignergrid/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/02/javascript-techniques-80.jpg" alt="Javascript-techniques-80 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools" width="480" height="300"/></a></p>
<p><a href="http://code.google.com/p/css-template-layout/"> css-template-layout</a><br /> JavaScript (jQuery) implementation of the CSS Template Layout Module</p>
<p><a href="http://code.google.com/p/css-template-layout/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/02/javascript-techniques-33.jpg" alt="Javascript-techniques-33 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools" width="480" height="300"/></a></p>
<p><a href="http://blog.creativityden.com/fluid-grid-using-jquery/">How to create a fluid grid with jQuery</a><br /> 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â€¦</p>
<p><a href="http://blog.creativityden.com/fluid-grid-using-jquery/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/02/javascript-techniques-51.jpg" alt="Javascript-techniques-51 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools" width="480" height="300"/></a></p>
<p><a href="http://code.google.com/p/closure-templates/">closure-templates</a><br /> 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.</p>
<p><a href="http://code.google.com/p/closure-templates/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/02/javascript-techniques-46.jpg" alt="Javascript-techniques-46 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools" width="480" height="300"/></a></p>
<h3>Useful jQuery Plugins</h3>
<p><a href="http://code.drewwilson.com/entry/tiptip-jquery-plugin">TipTip jQuery Plugin</a><br /> 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!</p>
<p><a href="http://code.drewwilson.com/entry/tiptip-jquery-plugin"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/02/javascript-techniques-65.jpg" alt="Javascript-techniques-65 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools" width="480" height="300"/></a></p>
<p><a href="http://fredhq.com/projects/roundabout/">jQuery Roundabout</a><br /> 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!)</p>
<p><a href="http://fredhq.com/projects/roundabout/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/02/javascript-techniques-69.jpg" alt="Javascript-techniques-69 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools" width="480" height="300"/></a></p>
<p><a href="http://jparse.kylerush.net/">jParse â€“ jQuery XML Parse Plugin</a><br /> jParse is a jQuery plugin that allows you to parse XML that was fetched with the jQuery .ajax method (making it fully customizable).</p>
<p><a href="http://jparse.kylerush.net/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/02/javascript-techniques-72.jpg" alt="Javascript-techniques-72 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools" width="480" height="300"/></a></p>
<p><a href="http://razorjack.net/quicksand/">jQuery Quicksand plugin</a><br /> Reorder and filter items with a nice shuffling animation.</p>
<p><a href="http://razorjack.net/quicksand/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/02/javascript-techniques-48.jpg" alt="Javascript-techniques-48 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools" width="480" height="300"/></a></p>
<p><a href="http://thinkinginweb.com/sections/articles/18-11-2009-typeQuery-change-website-typography-with-jquery.aspx"> typeQuery, change website typography with jquery</a><br />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â€: <code>$($("#tag").val()).css("font-family", $("#family").val());</code></p>
<p><a href="http://thinkinginweb.com/sections/articles/18-11-2009-typeQuery-change-website-typography-with-jquery.aspx"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/02/javascript-techniques-70.jpg" alt="Javascript-techniques-70 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools" width="480" height="300"/></a></p>
<p><a href="http://lab.smashup.it/flip/">Flip! A jQuery plugin v0.9.9</a><br /> Flip is a jQuery plugin that will flip easily your elements in four directions.</p>
<p><a href="http://lab.smashup.it/flip/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/02/javascript-techniques-55.jpg" alt="Javascript-techniques-55 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools" width="480" height="300"/></a></p>
<p><a href="http://www.webresourcesdepot.com/data-encryption-with-javascript-jcryption/">Data Encryption With JavaScript: jCryption</a><br /> jCryption is a jQuery plugin for encrypting POST/GET data submitted by forms.  It uses public-key algorithm of RSA for the encryption &amp; has a PHP file for handling the decryption of data.</p>
<p><a href="http://www.webresourcesdepot.com/data-encryption-with-javascript-jcryption/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/02/javascript-techniques-24.jpg" alt="Javascript-techniques-24 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools" width="480" height="300"/></a></p>
<p><a href="http://trif3cta.com/blog/entry/jquery-plugins-under-4k/">Minimalist jQuery: 11 useful plugins under 4K</a><br /> 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 <a href="http://developer.yahoo.com/yslow/">YSlow</a> and <a href="http://stevesouders.com/hammerhead/">Hammerhead</a>). 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.</p>
<p><a href="http://trif3cta.com/blog/entry/jquery-plugins-under-4k/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/02/javascript-techniques-79.jpg" alt="Javascript-techniques-79 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools" width="480" height="300"/></a></p>
<p><a href="http://jscott.me/jquery.undoable.html">Undo/Redo in jQuery</a><br /> 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.</p>
<p><a href="http://jscott.me/jquery.undoable.html"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/02/javascript-techniques-81.jpg" alt="Javascript-techniques-81 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools" width="480" height="300"/></a></p>
<p><a href="http://code.google.com/p/editease/">editease</a><br /> editEase â€“ jQuery CMS | no fuss, no database, no worries</p>
<p><a href="http://code.google.com/p/editease/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/02/javascript-techniques-78.jpg" alt="Javascript-techniques-78 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools" width="480" height="300"/></a></p>
<p><a href="http://www.jgc.org/blog/2009/10/what-is-jshub.html">jsHub</a><br /> 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.</p>
<p><a href="http://www.jgc.org/blog/2009/10/what-is-jshub.html"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/02/javascript-techniques-22.jpg" alt="Javascript-techniques-22 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools" width="480" height="300"/></a></p>
<h3>Educational JavaScript Resources and Tutorials</h3>
<p><a href="http://justin.harmonize.fm/index.php/2009/09/an-introduction-to-javascripts-this/">Caffeinated Simpleton </a><br /> JavaScript is an amazing little language, but itâ€™s got some quirks that turn a lot of people off. One of those quirks is <code>this</code>, and how itâ€™s not necessarily what you expect it to be. <code>this</code> 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 <code>this</code> works and how to use it properly.</p>
<p><a href="http://justin.harmonize.fm/index.php/2009/09/an-introduction-to-javascripts-this/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/02/javascript-techniques-07.jpg" alt="Javascript-techniques-07 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools" width="480" height="300"/></a></p>
<p><a href="http://www.smashingmagazine.com/2009/08/01/what-you-need-to-know-about-javascript-scope/">What You Need To Know About JavaScript Scope</a><br /> 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.</p>
<p><a href="http://www.smashingmagazine.com/2009/08/01/what-you-need-to-know-about-javascript-scope/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/02/javascript-techniques-25.jpg" alt="Javascript-techniques-25 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools" width="480" height="300"/></a></p>
<p><a href="http://ejohn.org/apps/learn/">Learning Advanced JavaScript</a><br /> A very nice tutorial to learn JavaScript, containing code and discussion from the upcoming book Secrets of the JavaScript Ninja by John Resig.</p>
<p><a href="http://ejohn.org/apps/learn/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/02/javascript-techniques-30.jpg" alt="Javascript-techniques-30 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools" width="480" height="300"/></a></p>
<p><a href="http://www.brucelawson.co.uk/2010/highlight-search-terms-automagically-with-javascript-and-mark/">Highlight search terms automagically with JavaScript and mark</a><br /> Script surrounding the search term(s) with the <code>mark</code> element  rather than a <code>span</code>, although the class <var>searchword</var> is retained in case you want to style these <code>mark</code>s differently from  others. In the CSS, the rule <code>article mark </code>is just added to turn it a gentle shade of pink.</p>
<p><a href="http://net.tutsplus.com/tutorials/javascript-ajax/10-super-helpful-traversing-functions-in-jquery/">10 Really Helpful Traversing Functions in jQuery</a><br /> 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.</p>
<p><a href="http://net.tutsplus.com/tutorials/javascript-ajax/10-super-helpful-traversing-functions-in-jquery/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/02/javascript-techniques-74.jpg" alt="Javascript-techniques-74 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools" width="480" height="300"/></a></p>
<p><a href="http://www.catswhocode.com/blog/using-keyboard-shortcuts-in-javascript">Using keyboard shortcuts in Javascript</a><br /> 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.</p>
<p><a href="http://www.catswhocode.com/blog/using-keyboard-shortcuts-in-javascript"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/02/javascript-techniques-29.jpg" alt="Javascript-techniques-29 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools" width="480" height="300"/></a></p>
<p><a href="http://javascript.crockford.com/code.html">Code Conventions for the JavaScript Programming Language</a><br /> This is a set of coding conventions and rules for use in JavaScript programming.</p>
<p><a href="http://javascript.crockford.com/code.html"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/02/javascript-techniques-31.jpg" alt="Javascript-techniques-31 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools" width="480" height="300"/></a></p>
<p><a href="http://www.myphpetc.com/2009/03/jquery-select-element-cheat-sheet.html">jQuery â€“ Select element cheat sheet</a><br />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.</p>
<p><a href="http://www.myphpetc.com/2009/03/jquery-select-element-cheat-sheet.html"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/02/javascript-techniques-76.jpg" alt="Javascript-techniques-76 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools" width="480" height="300"/></a></p>
<p><a href="http://www.ibm.com/developerworks/web/library/wa-jsframeworks/index.html">Compare JavaScript frameworks</a><br /> 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.</p>
<p><a href="http://www.ibm.com/developerworks/web/library/wa-jsframeworks/index.html"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/02/javascript-techniques-77.jpg" alt="Javascript-techniques-77 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools" width="480" height="300"/></a></p>
<p><a href="http://dailyjs.com/2010/01/27/pro-practices-1/"> Park your Horse, Code Cowboy: Professional JavaScript Workflows, Part 1</a><br /> In this series, weâ€™ll talk about tools &amp; techniques you can use to cover those Noâ€™s, and cut a lot of strife &amp; embarrassment from your JavaScript experience.</p>
<p><a href="http://dailyjs.com/2010/01/27/pro-practices-1/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/02/javascript-techniques-47.jpg" alt="Javascript-techniques-47 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools" width="480" height="300"/></a></p>
<p><a href="http://www.java2s.com/Code/JavaScriptReference/CatalogJavaScriptReference.htm">JavaScript Reference examples (example source code)</a><br /> JavaScript Reference examples, organized by Objects, Properties, Methods &amp; Collections. Some Event Handlers Reference are also available.</p>
<p><a href="http://www.java2s.com/Code/JavaScriptReference/CatalogJavaScriptReference.htm"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/02/javascript-techniques-20.jpg" alt="Javascript-techniques-20 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools" width="480" height="300"/></a></p>
<p><a href="http://dev.opera.com/articles/view/javascript-best-practices/">JavaScript best practices</a><br /> 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.</p>
<p><a href="http://dev.opera.com/articles/view/javascript-best-practices/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/02/javascript-techniques-15.jpg" alt="Javascript-techniques-15 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools" width="480" height="300"/></a></p>
<p><a href="http://wtfjs.com/">wtfjs</a><br /> 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.</p>
<p><a href="http://wtfjs.com/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/02/javascript-techniques-41.jpg" alt="Javascript-techniques-41 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools" width="480" height="300"/></a></p>
<h3>Related Posts</h3>
<p>You may be interested in the following related posts:</p>
<ul>
<li><a href="http://www.smashingmagazine.com/2009/06/21/50-fresh-javascript-tools-that-will-improve-your-workflow/">50 Fresh JavaScript Tools That Will Improve Your Workflow</a></li>
<li><a href="http://www.smashingmagazine.com/2010/01/12/45-powerful-css-javascript-techniques/">45 Powerful CSS/JavaScript-Techniques</a></li>
<li><a href="http://www.smashingmagazine.com/2009/03/08/70-new-useful-ajax-and-javascript-techniques/">70 Useful AJAX And JavaScript Techniques</a></li>
</ul>
<h3>Poll</h3>
<p> <a href="http://answers.polldaddy.com/poll/2842024/">What programming language should we cover in next round-up?</a><span style="font-size:9px"><a href="http://www.polldaddy.com">surveys</a></span> </p>
<hr />
<p><small>Â© Smashing Editorial for <a href="http://www.smashingmagazine.com">Smashing Magazine</a>, 2010. | <a href="http://www.smashingmagazine.com/2010/03/12/45-fresh-useful-javascript-and-jquery-techniques-and-tools/">Permalink</a> | <a href="http://www.smashingmagazine.com/2010/03/12/45-fresh-useful-javascript-and-jquery-techniques-and-tools/#comments">63 comments</a> | <a title="Bookmark in del.icio.us" href="http://del.icio.us/post?url=http://www.smashingmagazine.com/2010/03/12/45-fresh-useful-javascript-and-jquery-techniques-and-tools/&amp;title=45%20Fresh%20Useful%20JavaScript%20and%20jQuery%20Techniques%20and%20Tools">Add to del.icio.us</a> | <a title="Bookmark in Digg" href="http://digg.com/submit?phase=2&amp;url=http://www.smashingmagazine.com/2010/03/12/45-fresh-useful-javascript-and-jquery-techniques-and-tools/">Digg this</a> | <a title="Stumble on StumbleUpon" href="http://www.stumbleupon.com/submit?url=http://www.smashingmagazine.com/2010/03/12/45-fresh-useful-javascript-and-jquery-techniques-and-tools/">Stumble on StumbleUpon!</a> | <a title="Tweet us!" href="http://twitter.com/home?status=@tweetmeme%20@smashingmag%20Reading%20&#39;45%20Fresh%20Useful%20JavaScript%20and%20jQuery%20Techniques%20and%20Tools&#39;%20http://www.smashingmagazine.com/2010/03/12/45-fresh-useful-javascript-and-jquery-techniques-and-tools/">Tweet it!</a> | <a title="Bookmark in Reddit" href="http://reddit.com/submit?url=http://www.smashingmagazine.com/2010/03/12/45-fresh-useful-javascript-and-jquery-techniques-and-tools/">Submit to Reddit</a> | <a href="http://forum.smashingmagazine.com/">Forum Smashing Magazine</a><br /> Post tags: <a href="http://www.smashingmagazine.com/tag/ajax/" rel="tag">AJAX</a>, <a href="http://www.smashingmagazine.com/tag/javascript/" rel="tag">javascript</a>, <a href="http://www.smashingmagazine.com/tag/jquery/" rel="tag">jquery</a><br /> </small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.glennmarcus.com/blog/2010/03/12/45-fresh-useful-javascript-and-jquery-techniques-and-tools/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>45 Powerful CSS/JavaScript-Techniques</title>
		<link>http://www.glennmarcus.com/blog/2010/01/12/45-powerful-cssjavascript-techniques/</link>
		<comments>http://www.glennmarcus.com/blog/2010/01/12/45-powerful-cssjavascript-techniques/#comments</comments>
		<pubDate>Tue, 12 Jan 2010 18:35:12 +0000</pubDate>
		<dc:creator>Smashing Editorial</dc:creator>
				<category><![CDATA[ui]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[js]]></category>
		<category><![CDATA[user/12651333281871808648/label/ui]]></category>
		<category><![CDATA[user/12651333281871808648/state/com.google/read]]></category>
		<category><![CDATA[user/12651333281871808648/state/com.google/tracking-body-link-used]]></category>

		<guid isPermaLink="false">tag:google.com,2005:reader/item/cdf454a8340d8c74</guid>
		<description><![CDATA[<table width="650">
<tr>
<td width="650">
<div style="width:650px"> <img src="http://creatives.commindo-media.de/static/smashing-magazine-advertisement.gif" alt="Smashing-magazine-advertisement in 45 Powerful CSS/JavaScript-Techniques" border="0"/><br /> <a href="http://creatives.commindo-media.de/www/delivery/ck.php?zoneid=56"><img src="http://creatives.commindo-media.de/www/delivery/avw.php?zoneid=56" border="0" alt=" in 45 Powerful CSS/JavaScript-Techniques"/></a>Â <a href="http://creatives.commindo-media.de/www/delivery/ck.php?zoneid=63"><img src="http://creatives.commindo-media.de/www/delivery/avw.php?zoneid=63" border="0" alt=" in 45 Powerful CSS/JavaScript-Techniques"/></a>Â <a href="http://creatives.commindo-media.de/www/delivery/ck.php?zoneid=64"><img src="http://creatives.commindo-media.de/www/delivery/avw.php?zoneid=64" border="0" alt=" in 45 Powerful CSS/JavaScript-Techniques"/></a></div>
</td>
</tr>
</table>
<p><img src="http://imp.constantcontact.com/imp/cmp.jsp?impcc=IMP_DIMPBPRSMASHRSS&#38;o=http://img.constantcontact.com/lp/images/standard/spacer.gif" alt="Spacer in 45 Powerful CSS/JavaScript-Techniques" border="0" width="1" height="1"/></p>
<p><strong>CSS and JavaScript</strong> are extremely powerful tools for designers and developers. However, sometimes itâ€™s difficult to come up with the one excellent idea that would solve a problem that you are facing right now. Good news: almost every day designers and developers come up with fresh and clever CSS tricks and techniques and share them with other developers online. We regularly collect all these tricks, filter them, sort them, revise them and prepare them for Smashing Magazine readers.</p>
<p>In this post we present <strong>45 useful CSS/JavaScript-techniques</strong> that may help you find clever solutions to some of your problems or just get inspired by what is possible with CSS. We cover interesting CSS-techniques, navigation menus, CSS typography, CSS lists and CSS buttons. The focus of this post lies on CSS; please notice that some of the techniques use JavaScript or PHP for enhanced functionality.</p>
<p>Please notice that this is the first part of our large round-up of fresh CSS/JavaScript-techniques. Other techniques (CSS tables, CSS layouts, CSS for Mobile and CSS forms) will be featured in an upcoming article. So donâ€™t forget to <a href="http://rss1.smashingmagazine.com/feed/">subscribe to our RSS-feed</a> and <a href="http://twitter.com/smashingmag">follow us on Twitter</a> for similar articles and a stream of useful resources. Please also let us know what we should change or improve in our future posts!</p>
<p>We are aware that many readers are tired of â€œlistsâ€ floating around in the Web, but we are confident that the vast majority of our visitors will benefit from this post format and will find at least some of the techniques featured in&#8230;</p>]]></description>
			<content:encoded><![CDATA[<table width="650">
<tr>
<td width="650">
<div style="width:650px"> <img src="http://creatives.commindo-media.de/static/smashing-magazine-advertisement.gif" alt="Smashing-magazine-advertisement in 45 Powerful CSS/JavaScript-Techniques" border="0"/><br /> <a href="http://creatives.commindo-media.de/www/delivery/ck.php?zoneid=56"><img src="http://creatives.commindo-media.de/www/delivery/avw.php?zoneid=56" border="0" alt=" in 45 Powerful CSS/JavaScript-Techniques"/></a>Â <a href="http://creatives.commindo-media.de/www/delivery/ck.php?zoneid=63"><img src="http://creatives.commindo-media.de/www/delivery/avw.php?zoneid=63" border="0" alt=" in 45 Powerful CSS/JavaScript-Techniques"/></a>Â <a href="http://creatives.commindo-media.de/www/delivery/ck.php?zoneid=64"><img src="http://creatives.commindo-media.de/www/delivery/avw.php?zoneid=64" border="0" alt=" in 45 Powerful CSS/JavaScript-Techniques"/></a></div>
</td>
</tr>
</table>
<p><img src="http://imp.constantcontact.com/imp/cmp.jsp?impcc=IMP_DIMPBPRSMASHRSS&amp;o=http://img.constantcontact.com/lp/images/standard/spacer.gif" alt="Spacer in 45 Powerful CSS/JavaScript-Techniques" border="0" width="1" height="1"/></p>
<p><strong>CSS and JavaScript</strong> are extremely powerful tools for designers and developers. However, sometimes itâ€™s difficult to come up with the one excellent idea that would solve a problem that you are facing right now. Good news: almost every day designers and developers come up with fresh and clever CSS tricks and techniques and share them with other developers online. We regularly collect all these tricks, filter them, sort them, revise them and prepare them for Smashing Magazine readers.</p>
<p>In this post we present <strong>45 useful CSS/JavaScript-techniques</strong> that may help you find clever solutions to some of your problems or just get inspired by what is possible with CSS. We cover interesting CSS-techniques, navigation menus, CSS typography, CSS lists and CSS buttons. The focus of this post lies on CSS; please notice that some of the techniques use JavaScript or PHP for enhanced functionality.</p>
<p>Please notice that this is the first part of our large round-up of fresh CSS/JavaScript-techniques. Other techniques (CSS tables, CSS layouts, CSS for Mobile and CSS forms) will be featured in an upcoming article. So donâ€™t forget to <a href="http://rss1.smashingmagazine.com/feed/">subscribe to our RSS-feed</a> and <a href="http://twitter.com/smashingmag">follow us on Twitter</a> for similar articles and a stream of useful resources. Please also let us know what we should change or improve in our future posts!</p>
<p>We are aware that many readers are tired of â€œlistsâ€ floating around in the Web, but we are confident that the vast majority of our visitors will benefit from this post format and will find at least some of the techniques featured in this post useful.</p>
<p>By the way, did you know that Smashing Magazine has one of the most influential and popular Twitter accounts? Join our discussions and get updates about useful tools and resources â€” <a href="http://creatives.commindo-media.de/www/delivery/ck.php?oaparams=2__bannerid=1252__zoneid=0__cb=c3f655874b__oadest=http%3A%2F%2Ftwitter.com%2Fsmashingmag">follow us on Twitter</a>.</p>
<h3>Interesting CSS Techniques</h3>
<p><a href="http://www.zurb.com/article/304/behind-the-scenes-building-the-new-visual">Building the New Visual Annotations</a><br />These note overlays are composed of two main elements, an overlay with the shine and a border with the transparency. A very interesting, yet simple technique by the ZURB Design Agency, designers who have written a <a href="http://www.smashingmagazine.com/author/dmitry-dragilev/">series of articles</a> on Smashing Magazine as well.</p>
<p><a href="http://www.zurb.com/article/304/behind-the-scenes-building-the-new-visual"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/annotation.jpg" width="480" height="300" alt="Annotation in 45 Powerful CSS/JavaScript-Techniques"/></a></p>
<p><a href="http://www.komodomedia.com/blog/2009/03/sexy-music-album-overlays/">Sexy Music Album Overlays</a><br />This aticle shows how to style your music streams and provides you some graphics to do so.</p>
<p><a href="http://www.komodomedia.com/blog/2009/03/sexy-music-album-overlays/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/css-112.jpg" width="480" height="300" alt="Css-112 in 45 Powerful CSS/JavaScript-Techniques"/></a></p>
<p><a href="http://tutorialzine.com/2009/12/colorful-clock-jquery-css/">A Colorful Clock With CSS &amp; jQuery</a><br />This tutorial describes how one can create a clock using basic CSS and JavaScript.</p>
<p><a href="http://tutorialzine.com/2009/12/colorful-clock-jquery-css/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/css-086.jpg" width="480" height="300" alt="Css-086 in 45 Powerful CSS/JavaScript-Techniques"/></a></p>
<p><a href="http://www.pvmgarage.com/en/2010/01/how-to-create-depth-and-nice-3d-ribbons-only-using-css3/">How To Create Depth And Nice 3D Ribbons Only Using CSS3</a><br />We will use box-shadow to create a drop-shadow with RGBa, a color model that allows an optimized contrast with any kind of backgrounds. RGBa is the standard RGB model (0,0,0 â€“ 255,255,255) and it adds the last option (a) for the opacity. We can use this model also for other properties and it works with the new browser.</p>
<p><a href="http://www.pvmgarage.com/en/2010/01/how-to-create-depth-and-nice-3d-ribbons-only-using-css3/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/css-197.jpg" width="480" height="300" alt="Css-197 in 45 Powerful CSS/JavaScript-Techniques"/></a></p>
<p><a href="http://tutorialzine.com/2010/01/advanced-event-timeline-with-php-css-jquery/">Advanced Event Timeline With PHP, CSS &amp; jQuery</a><br />This Advanced Event Timeline is used with the help of PHP, MySQL, CSS and jQuery. The result: a nice time line with clickable events. Adding new ones is going to be as easy as inserting a row in the database.</p>
<p><a href="http://tutorialzine.com/2010/01/advanced-event-timeline-with-php-css-jquery/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/css-195.jpg" width="480" height="300" alt="Css-195 in 45 Powerful CSS/JavaScript-Techniques"/></a></p>
<h3>CSS Navigation Menus</h3>
<p><a href="http://www.romancortes.com/blog/css-3d-meninas/">CSS 3D Meninas</a><br />â€œIâ€™ve took the classic paint The Maids of Honour (Las Meninas) and created a CSS pseudo-3D / Parallax effect. It is pure CSS, no JavaScript or Flash is involved. It has been tested and is working on Internet Explorer 8, Firefox 3, Opera 9, Safari 3, Chrome 4 and Konqueror 3.5, and it validates, too.</p>
<p><a href="http://www.romancortes.com/blog/css-3d-meninas/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/css-006.jpg" width="480" height="300" alt="Css-006 in 45 Powerful CSS/JavaScript-Techniques"/></a></p>
<p><a href="http://buildinternet.com/2009/09/sproing-make-an-elastic-thumbnail-menu/">Sproing! â€“ Make An Elastic Thumbnail Menu</a><br />â€œIn an ongoing attempt to offer alternative methods to spruce up menus, Iâ€™ve pieced together an elastic thumbnail menu. It magnifies menu items when they are hovered over and menu items expand upwards.</p>
<p><a href="http://buildinternet.com/2009/09/sproing-make-an-elastic-thumbnail-menu/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/css-063.jpg" width="480" height="300" alt="Css-063 in 45 Powerful CSS/JavaScript-Techniques"/></a></p>
<p><a href="http://www.zurb.com/article/292/how-to-create-simple-and-effective-sub-na">How to Create Simple and Effective Sub Navs with Definition Lists</a><br />â€œWhen we need simple and effective on-page navigation, to either jump to content on the page or flip to another view, we use the dl element. Its sub elements, the dt and dd, make it very easy for us to create inline links with a clear label. Here weâ€™re going to share with you a fast, lightweight method for how weâ€™ll use CSS to do it.â€</p>
<p><a href="http://www.zurb.com/article/292/how-to-create-simple-and-effective-sub-na"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/css-072.jpg" width="480" height="300" alt="Css-072 in 45 Powerful CSS/JavaScript-Techniques"/></a></p>
<p><a href="http://designm.ag/tutorials/sticky-sidenav-layout/">Sticky SideNav Layout with CSS</a><br />Learn how to create a fixed sidenav layout for your blog or website.  Having a fixed sidenav comes in handy when dealing with blog style websites where the content is extremely tall and there is a need for good amount of scrolling. The fixed navigation allows the user to cruise through the content without scrolling back up to the top to navigate through the rest of the site.</p>
<p><a href="http://designm.ag/tutorials/sticky-sidenav-layout/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/css-056.jpg" width="480" height="300" alt="Css-056 in 45 Powerful CSS/JavaScript-Techniques"/></a></p>
<p><a href="http://css-tricks.com/unobtrusive-page-changer/">Unobtrusive Dropdown Page Changer</a><br />Using a &lt;select&gt; dropdown menu to create navigation isnâ€™t as common as it once was, but itâ€™s still around. It got ripped on pretty good for being an inaccessible / obtrusive. Indeed a lot of the scripts youâ€™ll find out there for creating a menu like this are this way. Bummer. Letâ€™s make one that works with or without JavaScript.</p>
<p><a href="http://css-tricks.com/unobtrusive-page-changer/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/css-015.jpg" width="480" height="300" alt="Css-015 in 45 Powerful CSS/JavaScript-Techniques"/></a></p>
<p><a href="http://kntl.org/css-imageless-but-cool-javascript-and-jquery">CSS Navigation: No JavaScript, jQuery or Image Required, Free CSS Navigation / Pagination with Tooltip</a><br />CSS-based navigation / pagination bar without JavaScript. There is a tooltip on hover for the â€˜previousâ€™ and â€˜nextâ€™ pageâ€™s bullets that makes navigation easier.</p>
<p><a href="http://kntl.org/css-imageless-but-cool-javascript-and-jquery"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/css-170.jpg" width="480" height="300" alt="Css-170 in 45 Powerful CSS/JavaScript-Techniques"/></a></p>
<p><a href="http://www.code-pal.com/how-to-code-an-overlapping-tabbed-main-menu/">How to Code an Overlapping Tabbed Main Menu</a><br />Main navigation menu is that part of a website design that makes the whole site look lively and complete. But the most common type of navigation menu style still being used a lot is the tabbed navigation menu. Here is a tutorial on how to code an overlapping tabbed menu.</p>
<p><a href="http://www.code-pal.com/how-to-code-an-overlapping-tabbed-main-menu/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/css-187.jpg" width="480" height="300" alt="Css-187 in 45 Powerful CSS/JavaScript-Techniques"/></a></p>
<p><a href="http://css-tricks.com/long-dropdowns-solution/">Solution For Very Long Dropdown Menus</a><br />â€œI like to be confident with post titles, but the reality in this case is a <em>possible</em> solution for very long dropdowns. The problem with long dropdowns is that the dropdown itself can go below the â€œfoldâ€ of the website. That is, below the visible area of the browser window. So in order to access those menu items down below, you need to scroll your browser window. For those of us with scroll wheels of some kind on our mice (mouses?), itâ€™s not a big deal. For those without, those lower menu items are totally inaccessible, because to use the browser scrollbar means mousing off the menu (and probably having it close).â€</p>
<p><a href="http://css-tricks.com/long-dropdowns-solution/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/css-052.jpg" width="480" height="300" alt="Css-052 in 45 Powerful CSS/JavaScript-Techniques"/></a></p>
<p><a href="http://www.sohtanaka.com/web-design/mega-drop-downs-w-css-jquery/">Mega Drop Down Menu w/ CSS &amp; jQuery</a><br />When used properly, mega drop down menus can be quite efficient for large scale websites. Letâ€™s experiment with different ways of implementing this technique. A tutorial by Soh Tanaka, Smashing Magazineâ€™s regular author.</p>
<p><a href="http://www.sohtanaka.com/web-design/mega-drop-downs-w-css-jquery/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/css-053.jpg" width="480" height="300" alt="Css-053 in 45 Powerful CSS/JavaScript-Techniques"/></a></p>
<h3>CSS Typography and Body Copy</h3>
<p><a href="http://line25.com/tutorials/how-to-create-a-cool-anaglyphic-text-effect-with-css">How to Create a Cool Anaglyphic Text Effect with CSS</a><br />Anaglyphs are those amazing 3D images that are created by offsetting two of the red, green and blue channels, and are viewed with those nerdy looking 3D glasses with different coloured lenses. I donâ€™t know if this effect works for real, as Iâ€™ve unfortunately misplaced my 3D specs, but itâ€™s a pretty cool text effect nevertheless! Letâ€™s take a look at how a similar style can be created for sprucing up your web designs, while taking into consideration semantics and avoiding the repetition of any markup.</p>
<p><a href="http://line25.com/tutorials/how-to-create-a-cool-anaglyphic-text-effect-with-css"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/css-193.jpg" width="480" height="300" alt="Css-193 in 45 Powerful CSS/JavaScript-Techniques"/></a></p>
<p><a href="http://csswizardry.com/2009/12/typographic-work-planner/">Typographic work planner</a><br />Enter this, a little HTML/CSS typographic work planner. By using some super-semantic HTML and a dash of CSS you can craft a beautiful looking yet incredibly simple work planner for you and your staff.</p>
<p><a href="http://csswizardry.com/2009/12/typographic-work-planner/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/css-199.jpg" width="480" height="300" alt="Css-199 in 45 Powerful CSS/JavaScript-Techniques"/></a></p>
<p><a href="http://orderedlist.com/our-writing/resources/html-css/thinning-text-in-webkit-safari/">Thinning Text in Webkit (Safari)</a><br />Safari has a not-so-lovely way of bulking up text using sub-pixel rendering. On previous versions of Safari, this was fixed with a text-shadow declaration, but since Snow Leopard that method no longer works. Fortunately, there is an alternative.</p>
<p><a href="http://orderedlist.com/our-writing/resources/html-css/thinning-text-in-webkit-safari/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/css-196.jpg" width="480" height="300" alt="Css-196 in 45 Powerful CSS/JavaScript-Techniques"/></a></p>
<p><a href="http://jackosborne.co.uk/articles/pseudo-drop-caps/">Pseudo Drop Caps</a><br />Theyâ€™ve been around for a while now, appearing in magazines, print and now the web. Designers and developers alike have experimented with multiple workarounds from using inline styles to using image replacement but with both of these solutions there are problems. For example, what happens when you recreate your site and decide that you no longer want to upload the drop cap images, youâ€™re now going to left with a broken image at the start of every single post that you had previously created, this is obviously assuming you havenâ€™t used text-indent. If you decided to go down on the inline style route then your are just bad, just very bad.</p>
<p><a href="http://jackosborne.co.uk/articles/pseudo-drop-caps/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/css-081.jpg" width="480" height="300" alt="Css-081 in 45 Powerful CSS/JavaScript-Techniques"/></a></p>
<p><a href="http://perishablepress.com/press/2009/11/09/perfect-pre-tags/">How to Create Perfect Pre Tags</a><br />If you operate a website that features lots of code examples, you know how important it is to spend some quality time styling the &amp;tl;pre&gt; element. When left unstyled, wild &lt;pre&gt; tags will mangle your preformatted content and destroy your siteâ€™s layout. Different browsers treat the &lt;pre&gt; tag quite differently, varying greatly in their default handling of font-sizing, scrollbar-rendering, and word-wrapping. Indeed, getting your preformatted code to look consistent, usable, and stylish across browsers is no easy task, but it certainly can be done. This article explains everything you need to create proper &lt;pre&gt; tags.</p>
<p><a href="http://perishablepress.com/press/2009/11/09/perfect-pre-tags/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/css-090.jpg" width="480" height="300" alt="Css-090 in 45 Powerful CSS/JavaScript-Techniques"/></a></p>
<p><a href="http://forabeautifulweb.com/blog/about/improve_your_web_typography_with_baseline_shift/">Improve your web typography with baseline shift</a><br />The baseline is an invisible line onto which all type characters sit, although of course some characters (including â€˜jâ€™, â€˜pâ€™, â€˜gâ€™ and â€˜yâ€™) have descenders that hang below the baseline. Baseline shift involves moving characters up or down in relation to the baseline and using it effectively can make a huge difference to the professional look of your type. Although baseline shift has traditionally been a part of using tools like InDesign or Quark, there are ways to accomplish the same results using CSS.</p>
<p><a href="http://forabeautifulweb.com/blog/about/improve_your_web_typography_with_baseline_shift/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/css-109.jpg" width="480" height="300" alt="Css-109 in 45 Powerful CSS/JavaScript-Techniques"/></a></p>
<p><a href="http://lamb.cc/typograph/">Typograph â€“ Scale &amp; Rhythm</a><br />This page is both an essay and a tool. It sets out to explore how two, intertwined concepts, often playful but sometimes cheeky, can be encouraged to dance in web pages. Drag the colored boxes along the scale to throw these words anew. For the most part, this text is just a libretto for the performance you are about to play upon it.</p>
<p><a href="http://lamb.cc/typograph/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/css-085.jpg" width="480" height="300" alt="Css-085 in 45 Powerful CSS/JavaScript-Techniques"/></a></p>
<p><a href="http://tutorialzine.com/2009/11/fancy-quotes/">Fancy Quotes With jQuery, AJAX &amp; CSS</a><br />Learn how to create a fancy quote rating system that will display a number of famous quotes and will enable site visitors to rate their favorites.</p>
<p><a href="http://tutorialzine.com/2009/11/fancy-quotes/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/css-156.jpg" width="480" height="300" alt="Css-156 in 45 Powerful CSS/JavaScript-Techniques"/></a></p>
<p><a href="http://www.cssnewbie.com/how-to-create-simple-stylish-and-swappable-image-captions/">How To Create Simple, Stylish and Swappable Image Captions</a><br />Most image caption solutions require a lot of excessive HTML, make it difficult to redesign or donâ€™t communicate clearly that they belong to an image. Letâ€™s see what we can do to address these problems.</p>
<p><a href="http://www.cssnewbie.com/how-to-create-simple-stylish-and-swappable-image-captions/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/css-189.jpg" width="480" height="300" alt="Css-189 in 45 Powerful CSS/JavaScript-Techniques"/></a></p>
<p><a href="http://www.devlounge.net/design/styling-photo-captions-with-css">Styling photo captions with CSS</a><br />Sure, some photos are self-explanatory, but most photos are best served with text captions. Itâ€™s true for traditional media like newspapers and magazines, and just as true for blog posts and web articles. Hereâ€™s a quick tip on using photo captions and styling them nicely with the magic of CSS.</p>
<p><a href="http://www.devlounge.net/design/styling-photo-captions-with-css"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/css-183.jpg" width="480" height="300" alt="Css-183 in 45 Powerful CSS/JavaScript-Techniques"/></a></p>
<p><a href="http://www.cs.tut.fi/~jkorpela/www/captions.html">Image captions on Web pages</a><br />This document suggests three ways of presenting an image with a caption in HTML. Styling in CSS is also discussed.</p>
<p><a href="http://www.cs.tut.fi/~jkorpela/www/captions.html"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/css-176.jpg" width="480" height="300" alt="Css-176 in 45 Powerful CSS/JavaScript-Techniques"/></a></p>
<p><a href="http://www.sohtanaka.com/web-design/styling-post-headings-that-stick-out/">Styling Post Headings That Stick Out</a><br />â€œRecently, Iâ€™ve noticed a trend in blog post headings where it sticks out of its base layout. I would like to share this technique for those who would like to give their post headings a new style. One tip to keep in mind when designing this is to make sure it fits your target audience screen resolution size.  Note that this technique may vary depending on your design. My goal is for you to grasp the main concept in this tutorial so you can experiment and apply it to your own projects.â€</p>
<p><a href="http://www.electrictoolbox.com/ellipsis-html-css/">Using ellipsis with HTML and CSS</a><br />If the text is too wide to fit into a container, a nice solution can be to have ellipsis to show thereâ€™s more information available. While not currently part of the official HTML specifications, it is possible to have ellipsis defined in CSS and it works for Internet Explorer, Safari, Chrome and Opera. It doesnâ€™t work for Firefox but thereâ€™s a workaround that can be done with jQuery.</p>
<p><a href="http://www.jcargoo.org/2009/11/5-message-boxes-to-style-your.html">5 Message Boxes to Style your Notifications with CSS</a><br />This article presents free notification boxes to use/customize as well as a very simple technique to create your own ones inspired from this roundup.</p>
<h3>CSS Lists</h3>
<p><a href="http://www.cssnewbie.com/word-style-outline/">Create a Microsoft Word-Style Outline with CSS</a><br />As you can see, the browser doesnâ€™t bother to vary the indentation style much, or change the list type from roman numerals to alphabetical characters and so onâ€¦ all the things weâ€™re so used to seeing because Microsoft Word and other writing programs do them by default. So letâ€™s use a bit of CSS ingenuity to make a Microsoft Word-styled outline using ordered lists!</p>
<p><a href="http://www.cssnewbie.com/word-style-outline/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/css-188.jpg" width="480" height="300" alt="Css-188 in 45 Powerful CSS/JavaScript-Techniques"/></a></p>
<p><a href="http://mattbango.com/notebook/web-development/pure-css-timeline/">Pure CSS Timeline</a><br />â€œI wanted to build a CSS  timeline for the â€œAboutâ€ section of my site while using some clean and simple markup. I wanted to avoid using images as much as possible, so I spent a few minutes prototyping some options and came up with a solution using unordered lists. The result is a simple and clean looking timeline with some very straight forward markup. In this article Iâ€™ll share my approach to creating a timeline out of CSS and HTML which results in a nice looking, simple timeline.â€</p>
<p><a href="http://mattbango.com/notebook/web-development/pure-css-timeline/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/css-106.jpg" width="480" height="300" alt="Css-106 in 45 Powerful CSS/JavaScript-Techniques"/></a></p>
<p><a href="http://dev.opera.com/articles/view/automatic-numbering-with-css-counters/">Automatic numbering with CSS Counters</a><br />When writing documents, it is often useful to number sections and have a table of contents. You can number these by hand, directly in the markup, but this can be time consuming if the order changes and you have to edit all the numbers. CSS2.1 gives us a automated way to generate numbers using CSS counters, and this article will walk you through how to use them. One word of note before we start is that CSS counters are not yet implemented in IE, although they are on the roadmap for IE8.</p>
<p><a href="http://dev.opera.com/articles/view/automatic-numbering-with-css-counters/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/css-116.jpg" width="480" height="300" alt="Css-116 in 45 Powerful CSS/JavaScript-Techniques"/></a></p>
<p><a href="http://www.macworld.com/article/48296/2005/12/januarycreate.html">CSS tricks for custom bullets</a></p>
<p><a href="http://www.macworld.com/article/48296/2005/12/januarycreate.html"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/css-129.jpg" width="480" height="300" alt="Css-129 in 45 Powerful CSS/JavaScript-Techniques"/></a></p>
<p><a href="http://css-tricks.com/elastic-calendar-styling-with-pure-css/">Elastic Calendar Styling with CSS</a><br />A traditional calendar is a grid of numbered boxes on a page. As a web designer, you might go right for a table, and I wouldnâ€™t fault you for that. Tables, though, can sometimes be tough to muscle into shape. The CSS purist in me gets pissed when I set the width of a table (or a cell) and it decides it knows better and grows or shrinks as it sees fit. <br /> You can tackle calendar styling with pure CSS, and I feel it makes just as much sense semantically as a table does. What is a calender, if not an ordered list of days? By using CSS, we can even do some cool things like do all our sizing with ems so our calendar layout will be elastic. That is, grow in both width and height when text is resized in browsers, while greatly increasing accessibility.</p>
<p><a href="http://css-tricks.com/elastic-calendar-styling-with-pure-css/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/css-030.jpg" width="480" height="300" alt="Css-030 in 45 Powerful CSS/JavaScript-Techniques"/></a></p>
<p><a href="http://css-tricks.com/style-a-list-with-one-pixel/">Style a List with One Pixel</a><br />A one-pixel background image can be a pretty versatile thing. With repeat-x it can be a horizontal line, repeat-y makes a vertical line, and repeat makes it a fill color. Just as a little fun proof of concept, we can use that to create a depth-chart looking unordered list.</p>
<p><a href="http://css-tricks.com/style-a-list-with-one-pixel/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/css-017.jpg" width="480" height="300" alt="Css-017 in 45 Powerful CSS/JavaScript-Techniques"/></a></p>
<p><a href="http://www.webdesignerwall.com/tutorials/style-your-ordered-list/">Style Your Ordered List</a><br />By default, most browsers display the ordered list numbers same font style as the body text. Here is a quick CSS tutorial on how you can use the ordered list (ol) and paragraph (p) element to design a stylish numbered list.</p>
<p><a href="http://www.webdesignerwall.com/tutorials/style-your-ordered-list/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/css-029.jpg" width="480" height="300" alt="Css-029 in 45 Powerful CSS/JavaScript-Techniques"/></a></p>
<p><a href="http://blog.innovativethought.net/2007/06/11/simulating-a-table-using-an-unordered-list/">Simulating a Table Using an Unordered List</a><br />Your first question immediately might be, â€œwhy would I want to simulate a table with a list, why not just use a table?â€ With the raise in popularity of AJAX sortable list elements, using list items to represent a multiple column data table can allow for easy sorting of various more â€œtableyâ€ information. So letâ€™s get started.</p>
<p><a href="http://blog.innovativethought.net/2007/06/11/simulating-a-table-using-an-unordered-list/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/css-031.jpg" width="480" height="300" alt="Css-031 in 45 Powerful CSS/JavaScript-Techniques"/></a></p>
<p><a href="http://www.marcofolio.net/css/8_different_ways_to_beautifully_style_your_lists.html">8 different ways to beautifully style your HTML lists with CSS</a><br />â€œThe use of HTML lists (&lt;ol&gt; for an ordered list, &lt;ul&gt; for an unordered list) is very common these days. Today, weâ€™re going to look a little bit further than creating regular lists, by showing 8 different ways to beautifully style your HTML lists with CSS. Weâ€™ll use some pure CSS techniques to make a bored list look awesome (and even have some extra functionality).â€</p>
<p><a href="http://www.marcofolio.net/css/8_different_ways_to_beautifully_style_your_lists.html"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/css-042.jpg" width="480" height="300" alt="Css-042 in 45 Powerful CSS/JavaScript-Techniques"/></a></p>
<p><a href="http://buildinternet.com/2009/09/quick-tip-simplify-list-margins-with-css/">Quick Tip â€“ Simplify List Margins with CSS</a><br />Have you ever set default margins for a layout, and then had to go back and manually adjust all of your lists? By default, list item markers have a negative positioning in relationship to the list item itself. This means that zero-ing out margins automatically leads to an overflow if the list is contained inside anything else.  Wouldnâ€™t it be easier to put the list item marker at the same starting point as other elements instead? Lucky for us, thereâ€™s a style to help do just that. Letâ€™s see what can be done with the <code>list-style-position</code> property.</p>
<p><a href="http://buildinternet.com/2009/09/quick-tip-simplify-list-margins-with-css/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/css-068.jpg" width="480" height="300" alt="Css-068 in 45 Powerful CSS/JavaScript-Techniques"/></a></p>
<p><a href="http://perishablepress.com/press/2009/08/16/sexy-html-list-tricks/">Sexy HTML List Tricks</a><br />Behold the ubiquitous list elements, &lt;ul&gt; and &lt;ol&gt;. These two sexy elements help millions of websites display lists of information in clean, semantic fashion. Without them, weâ€™d be crawling around like filthy cavemen, eating dirt and howling at the moon. But these list elements arenâ€™t just sexy, they are also extremely flexible, enabling us humble designers to create robust list configurations that are semantically versatile and highly customizable.</p>
<p><a href="http://perishablepress.com/press/2009/08/16/sexy-html-list-tricks/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/css-091.jpg" width="480" height="300" alt="Css-091 in 45 Powerful CSS/JavaScript-Techniques"/></a></p>
<p><a href="http://iloveusability.com/usability-tip/clickable-list-item/">Clickable &lt;li&gt;</a><br />I originally coded the markup to be a table, but discovered a problem when I tried to make the whole row clickable. I ended up with a list of articles instead.</p>
<p><a href="http://iloveusability.com/usability-tip/clickable-list-item/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/css-061.jpg" width="480" height="300" alt="Css-061 in 45 Powerful CSS/JavaScript-Techniques"/></a></p>
<h3>CSS Buttons</h3>
<p><a href="http://www.p51labs.com/simply-buttons-v2/">Simply-Buttons v2</a><br />This technique presents buttons of the size that always fits the content. There are 3 states: inactive, active and hover. The technique works in all major browsers and doesnâ€™t require JavaScript.</p>
<p><a href="http://www.p51labs.com/simply-buttons-v2/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/css-099.jpg" width="480" height="300" alt="Css-099 in 45 Powerful CSS/JavaScript-Techniques"/></a></p>
<p><a href="http://www.oscaralexander.com/tutorials/how-to-make-sexy-buttons-with-css.html">How to make sexy buttons with CSS</a><br />This tutorial will teach you how to create pretty looking textual buttons (with alternate pressed state) using CSS. Dynamic buttons save you heaps of time otherwise spent creating graphics and will basically make you a happier person at the end of the day.</p>
<p><a href="http://www.oscaralexander.com/tutorials/how-to-make-sexy-buttons-with-css.html"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/css-173.jpg" width="480" height="300" alt="Css-173 in 45 Powerful CSS/JavaScript-Techniques"/></a></p>
<p><a href="http://www.sohtanaka.com/web-design/liquid-color-adjustable-css-buttons/">Liquid &amp; Color Adjustable CSS Buttons</a><br />When working on a large site with multiple buttons, it can be quite tedious to make all the buttons in Photoshop. Making future adjustments on the verbiage and colors can be also be time consuming. By having dynamic buttons, this scenario is much easier to handle, and by having liquid and color adjustable buttons with CSS, we are able to change the verbiage and colors in a flash.</p>
<p><a href="http://www.sohtanaka.com/web-design/liquid-color-adjustable-css-buttons/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/css-175.jpg" width="480" height="300" alt="Css-175 in 45 Powerful CSS/JavaScript-Techniques"/></a></p>
<p><a href="http://inspectelement.com/tutorials/create-a-button-with-hover-and-active-states-using-css-sprites/">Create a Button with Hover and Active States using CSS Sprites</a><br />Too many designers neglect the click state (<code>active</code>-property in CSS) in web design, either because theyâ€™re unaware of it, underestimate the importance of it or are plain lazy. Itâ€™s a simple effect that improves usability by giving the user some feedback as to what theyâ€™ve clicked on but can also add depth to a design.</p>
<p><a href="http://inspectelement.com/tutorials/create-a-button-with-hover-and-active-states-using-css-sprites/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/css-159.jpg" width="480" height="300" alt="Css-159 in 45 Powerful CSS/JavaScript-Techniques"/></a></p>
<p><a href="http://stopdesign.com/archive/2009/02/04/recreating-the-button.html">Recreating the button</a><br />â€œI thought it would be interesting to provide a portion of the background on buttons here, and discuss some of the iterations weâ€™ve been through so far to get to the current state.â€</p>
<p><a href="http://stopdesign.com/archive/2009/02/04/recreating-the-button.html"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/css-134.jpg" width="480" height="300" alt="Css-134 in 45 Powerful CSS/JavaScript-Techniques"/></a></p>
<p><a href="http://aplus.rs/css/rounded-form-buttons/">Rounded form buttons</a></p>
<p><a href="http://aplus.rs/css/rounded-form-buttons/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/css-101.jpg" width="480" height="300" alt="Css-101 in 45 Powerful CSS/JavaScript-Techniques"/></a></p>
<p><a href="http://stackoverflow.com/questions/520640/how-can-i-use-googles-new-imageless-button-how-could-i-reverse-engineer-or-rol">Googleâ€™s Imageless Buttons</a><br />An interesting discussion about various buttons design techniques to reconstruct Googleâ€™s imageless buttons.</p>
<h3>Stay tuned!</h3>
<p>This is the first part of our large round-up of fresh CSS/JavaScript-techniques. Donâ€™t forget to <a href="http://rss1.smashingmagazine.com/feed/">subscribe to our RSS-feed</a> and <a href="http://twitter.com/smashingmag">follow us on Twitter</a> for similar articles and a stream of useful resources. Please also let us know what we should change or improve in our future posts!</p>
<p> <a href="http://answers.polldaddy.com/poll/2509495/">Would you like to see more similar round-ups on Smashing Magazine in the future?</a><span style="font-size:9px">(<a href="http://answers.polldaddy.com">answers</a>)</span> </p>
<hr />
<p><small>Â© Smashing Editorial for <a href="http://www.smashingmagazine.com">Smashing Magazine</a>, 2010. | <a href="http://www.smashingmagazine.com/2010/01/12/45-powerful-css-javascript-techniques/">Permalink</a> | <a href="http://www.smashingmagazine.com/2010/01/12/45-powerful-css-javascript-techniques/#comments">64 comments</a> | <a title="Bookmark in del.icio.us" href="http://del.icio.us/post?url=http://www.smashingmagazine.com/2010/01/12/45-powerful-css-javascript-techniques/&amp;title=45%20Powerful%20CSS/JavaScript-Techniques">Add to del.icio.us</a> | <a title="Bookmark in Digg" href="http://digg.com/submit?phase=2&amp;url=http://www.smashingmagazine.com/2010/01/12/45-powerful-css-javascript-techniques/">Digg this</a> | <a title="Stumble on StumbleUpon" href="http://www.stumbleupon.com/submit?url=http://www.smashingmagazine.com/2010/01/12/45-powerful-css-javascript-techniques/">Stumble on StumbleUpon!</a> | <a title="Tweet us!" href="http://twitter.com/home?status=@tweetmeme%20@smashingmag%20Reading%20&#39;45%20Powerful%20CSS/JavaScript-Techniques&#39;%20http://www.smashingmagazine.com/2010/01/12/45-powerful-css-javascript-techniques/">Tweet it!</a> | <a title="Bookmark in Reddit" href="http://reddit.com/submit?url=http://www.smashingmagazine.com/2010/01/12/45-powerful-css-javascript-techniques/">Submit to Reddit</a> | <a href="http://forum.smashingmagazine.com/">Forum Smashing Magazine</a><br /> Post tags: <a href="http://www.smashingmagazine.com/tag/css/" rel="tag">CSS</a>, <a href="http://www.smashingmagazine.com/tag/javascript/" rel="tag">javascript</a>, <a href="http://www.smashingmagazine.com/tag/js/" rel="tag">js</a><br /> </small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.glennmarcus.com/blog/2010/01/12/45-powerful-cssjavascript-techniques/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Great visualizations with Protovis</title>
		<link>http://www.glennmarcus.com/blog/2009/04/06/great-visualizations-with-protovis/</link>
		<comments>http://www.glennmarcus.com/blog/2009/04/06/great-visualizations-with-protovis/#comments</comments>
		<pubDate>Mon, 06 Apr 2009 13:29:20 +0000</pubDate>
		<dc:creator>Dion Almaer</dc:creator>
				<category><![CDATA[ajax]]></category>
		<category><![CDATA[Canvas]]></category>
		<category><![CDATA[Front Page]]></category>
		<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">tag:google.com,2005:reader/item/e056c4f71b63c42a</guid>
		<description><![CDATA[<p><img src="http://www.visophyte.org/blog/wp-content/uploads/2009/04/exptoolbar-protovis-gloda-256.png" width="500"/></p>
<p>I have been very impressed with Andrew Sutherland of the Mozilla Messaging team (which is one reason that I have faith that I will dump Gmail for something he and the Messaging team come up with one day ;) and the <a href="http://www.visophyte.org/blog/2009/04/01/thunderbird-gloda-exptoolbar-protovis-paninaro-oh-oh-oh/">visualizations that he is playing with</a> are quite cool indeed. Seeing your email in different ways (not just in a table) can open the eyes.</p>
<p>Andrew is using <a href="http://vis.stanford.edu/protovis/">Protovis</a> &#8220;a visualization toolkit for JavaScript using the canvas element. It takes a graphical approach to data visualization, composing custom views of data with simple graphical primitives like bars and dots. These primitives are called marks, and each mark encodes data visually through dynamic properties such as color and position.&#8221;</p>
<p>There are some cool examples such as:</p>
<div><a href="javascript:void(0);">PLAIN TEXT</a></div>
<div><span style="color:#000000;font-weight:bold">JAVASCRIPT:</span></p>
<div>
<div>
<ol>
<li style="font-family:&#39;Courier New&#39;, Courier, monospace;color:black;font-weight:normal;font-style:normal;color:#3A6A8B">
<div style="color:#000000;font-family:&#39;Courier New&#39;, Courier, monospace;font-weight:normal">Â </div>
</li>
<li style="font-weight:bold;color:#26536A">
<div style="color:#000000;font-family:&#39;Courier New&#39;, Courier, monospace;font-weight:normal"><span style="color:#003366;font-weight:bold">new</span> pv.<span style="color:#006600">Panel</span><span style="color:#006600;font-weight:bold">(</span><span style="color:#006600;font-weight:bold">)</span>.<span style="color:#006600">width</span><span style="color:#006600;font-weight:bold">(</span><span style="color:#800000">150</span><span style="color:#006600;font-weight:bold">)</span>.<span style="color:#006600">height</span><span style="color:#006600;font-weight:bold">(</span><span style="color:#800000">150</span><span style="color:#006600;font-weight:bold">)</span></div>
</li>
<li style="font-family:&#39;Courier New&#39;, Courier, monospace;color:black;font-weight:normal;font-style:normal;color:#3A6A8B">
<div style="color:#000000;font-family:&#39;Courier New&#39;, Courier, monospace;font-weight:normal">Â  Â  .<span style="color:#006600">add</span><span style="color:#006600;font-weight:bold">(</span>pv.<span style="color:#006600">Panel</span><span style="color:#006600;font-weight:bold">)</span></div>
</li>
<li style="font-weight:bold;color:#26536A">
<div style="color:#000000;font-family:&#39;Courier New&#39;, Courier, monospace;font-weight:normal">Â  Â  Â  .<span style="color:#006600">data</span><span style="color:#006600;font-weight:bold">(</span><span style="color:#006600;font-weight:bold">[</span><span style="color:#006600;font-weight:bold">[</span>Math.<span style="color:#006600">sin</span><span style="color:#006600;font-weight:bold">(</span>x / y<span style="color:#006600;font-weight:bold">)</span></div>
</li>
<li style="font-family:&#39;Courier New&#39;, Courier, monospace;color:black;font-weight:normal;font-style:normal;color:#3A6A8B">
<div style="color:#000000;font-family:&#39;Courier New&#39;, Courier, monospace;font-weight:normal">Â  Â  Â  Â  Â  Â  Â <span style="color:#000066;font-weight:bold">for</span> <span style="color:#006600;font-weight:bold">(</span>x <span style="color:#000066;font-weight:bold">in</span> pv.<span style="color:#006600">range</span><span style="color:#006600;font-weight:bold">(</span><span style="color:#800000">50</span><span style="color:#006600;font-weight:bold">)</span><span style="color:#006600;font-weight:bold">)</span><span style="color:#006600;font-weight:bold">]</span></div>
</li>
<li style="font-weight:bold;color:#26536A">
<div style="color:#000000;font-family:&#39;Courier New&#39;, Courier, monospace;font-weight:normal">Â  Â  Â  Â  Â  Â  Â <span style="color:#000066;font-weight:bold">for</span> <span style="color:#006600;font-weight:bold">(</span>y <span style="color:#000066;font-weight:bold">in</span> pv.<span style="color:#006600">range</span><span style="color:#006600;font-weight:bold">(</span><span style="color:#800000">3</span>, <span style="color:#800000">9</span><span style="color:#006600;font-weight:bold">)</span><span style="color:#006600;font-weight:bold">)</span><span style="color:#006600;font-weight:bold">]</span><span style="color:#006600;font-weight:bold">)</span></div>
</li>
<li style="font-family:&#39;Courier New&#39;, Courier, monospace;color:black;font-weight:normal;font-style:normal;color:#3A6A8B">
<div style="color:#000000;font-family:&#39;Courier New&#39;, Courier, monospace;font-weight:normal">Â  Â  .<span style="color:#006600">add</span><span style="color:#006600;font-weight:bold">(</span>pv.<span style="color:#006600">Area</span><span style="color:#006600;font-weight:bold">)</span></div>
</li>
<li style="font-weight:bold;color:#26536A">
<div style="color:#000000;font-family:&#39;Courier New&#39;, Courier, monospace;font-weight:normal">Â  Â  Â  .<span style="color:#006600">data</span><span style="color:#006600;font-weight:bold">(</span><span style="color:#003366;font-weight:bold">function</span><span style="color:#006600;font-weight:bold">(</span>d<span style="color:#006600;font-weight:bold">)</span> d<span style="color:#006600;font-weight:bold">)</span></div>
</li>
<li style="font-family:&#39;Courier New&#39;, Courier, monospace;color:black;font-weight:normal;font-style:normal;color:#3A6A8B">
<div style="color:#000000;font-family:&#39;Courier New&#39;, Courier, monospace;font-weight:normal">Â  Â  Â  .<span style="color:#006600">fillStyle</span><span style="color:#006600;font-weight:bold">(</span>pv.<span style="color:#006600">Colors</span>.<span style="color:#006600">category19</span>.<span style="color:#006600">unique</span><span style="color:#006600;font-weight:bold">)</span></div>
</li>
<li style="font-weight:bold;color:#26536A">
<div style="color:#000000;font-family:&#39;Courier New&#39;, Courier, monospace;font-weight:normal">Â  Â  Â  .<span style="color:#006600">bottom</span><span style="color:#006600;font-weight:bold">(</span><span style="color:#003366;font-weight:bold">function</span><span style="color:#006600;font-weight:bold">(</span><span style="color:#006600;font-weight:bold">)</span> let <span style="color:#006600;font-weight:bold">(</span>c = <span style="color:#000066;font-weight:bold">this</span>.<span style="color:#006600">cousin</span><span style="color:#006600;font-weight:bold">(</span><span style="color:#006600;font-weight:bold">)</span><span style="color:#006600;font-weight:bold">)</span></div>
</li>
<li style="font-family:&#39;Courier New&#39;, Courier, monospace;color:black;font-weight:normal;font-style:normal;color:#3A6A8B">
<div style="color:#000000;font-family:&#39;Courier New&#39;, Courier, monospace;font-weight:normal">Â  Â  Â  Â  Â  c ? <span style="color:#006600;font-weight:bold">(</span>c.<span style="color:#006600">bottom</span> + c.<span style="color:#006600">height</span><span style="color:#006600;font-weight:bold">)</span> : <span style="color:#800000">0</span><span style="color:#006600;font-weight:bold">)</span></div>
</li>
<li style="font-weight:bold;color:#26536A">
<div style="color:#000000;font-family:&#39;Courier New&#39;, Courier, monospace;font-weight:normal">Â  Â  Â  .<span style="color:#006600">height</span><span style="color:#006600;font-weight:bold">(</span><span style="color:#003366;font-weight:bold">function</span><span style="color:#006600;font-weight:bold">(</span>d<span style="color:#006600;font-weight:bold">)</span> <span style="color:#006600;font-weight:bold">(</span>d + <span style="color:#800000">1</span><span style="color:#006600;font-weight:bold">)</span> * <span style="color:#800000">13</span><span style="color:#006600;font-weight:bold">)</span></div>
</li>
<li style="font-family:&#39;Courier New&#39;, Courier, monospace;color:black;font-weight:normal;font-style:normal;color:#3A6A8B">
<div style="color:#000000;font-family:&#39;Courier New&#39;, Courier, monospace;font-weight:normal">Â  Â  Â  .<span style="color:#006600">left</span><span style="color:#006600;font-weight:bold">(</span><span style="color:#003366;font-weight:bold">function</span><span style="color:#006600;font-weight:bold">(</span><span style="color:#006600;font-weight:bold">)</span> <span style="color:#000066;font-weight:bold">this</span>.<span style="color:#006600">index</span> * <span style="color:#800000">3</span><span style="color:#006600;font-weight:bold">)</span></div>
</li>
<li style="font-weight:bold;color:#26536A">
<div style="color:#000000;font-family:&#39;Courier New&#39;, Courier, monospace;font-weight:normal">Â  Â  .<span style="color:#006600">root</span>.<span style="color:#006600">render</span><span style="color:#006600;font-weight:bold">(</span><span style="color:#006600;font-weight:bold">)</span>;</div>
</li>
<li style="font-family:&#39;Courier New&#39;, Courier, monospace;color:black;font-weight:normal;font-style:normal;color:#3A6A8B">
<div style="color:#000000;font-family:&#39;Courier New&#39;, Courier, monospace;font-weight:normal">Â </div>
</li>
</ol>
</div>
</div>
</div>
<p>which produces <img src="http://vis.stanford.edu/protovis/ex/area-chart.png"/>.</p>
<p>Very cool indeed!</p>
<div>
<a href="http://feeds2.feedburner.com/~ff/ajaxian?a=PiPgb8gSSNE:V6GfWkreDTo:yIl2AUoC8zA"><img src="http://feeds2.feedburner.com/~ff/ajaxian?d=yIl2AUoC8zA" border="0"/></a> <a href="http://feeds2.feedburner.com/~ff/ajaxian?a=PiPgb8gSSNE:V6GfWkreDTo:7Q72WNTAKBA"><img src="http://feeds2.feedburner.com/~ff/ajaxian?d=7Q72WNTAKBA" border="0"/></a> <a href="http://feeds2.feedburner.com/~ff/ajaxian?a=PiPgb8gSSNE:V6GfWkreDTo:D7DqB2pKExk"><img src="http://feeds2.feedburner.com/~ff/ajaxian?i=PiPgb8gSSNE:V6GfWkreDTo:D7DqB2pKExk" border="0"/></a>
</div>
]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.visophyte.org/blog/wp-content/uploads/2009/04/exptoolbar-protovis-gloda-256.png" width="500"/></p>
<p>I have been very impressed with Andrew Sutherland of the Mozilla Messaging team (which is one reason that I have faith that I will dump Gmail for something he and the Messaging team come up with one day ;) and the <a href="http://www.visophyte.org/blog/2009/04/01/thunderbird-gloda-exptoolbar-protovis-paninaro-oh-oh-oh/">visualizations that he is playing with</a> are quite cool indeed. Seeing your email in different ways (not just in a table) can open the eyes.</p>
<p>Andrew is using <a href="http://vis.stanford.edu/protovis/">Protovis</a> &#8220;a visualization toolkit for JavaScript using the canvas element. It takes a graphical approach to data visualization, composing custom views of data with simple graphical primitives like bars and dots. These primitives are called marks, and each mark encodes data visually through dynamic properties such as color and position.&#8221;</p>
<p>There are some cool examples such as:</p>
<div><a href="javascript:void(0);">PLAIN TEXT</a></div>
<div><span style="color:#000000;font-weight:bold">JAVASCRIPT:</span></p>
<div>
<div>
<ol>
<li style="font-family:&#39;Courier New&#39;, Courier, monospace;color:black;font-weight:normal;font-style:normal;color:#3A6A8B">
<div style="color:#000000;font-family:&#39;Courier New&#39;, Courier, monospace;font-weight:normal">Â </div>
</li>
<li style="font-weight:bold;color:#26536A">
<div style="color:#000000;font-family:&#39;Courier New&#39;, Courier, monospace;font-weight:normal"><span style="color:#003366;font-weight:bold">new</span> pv.<span style="color:#006600">Panel</span><span style="color:#006600;font-weight:bold">(</span><span style="color:#006600;font-weight:bold">)</span>.<span style="color:#006600">width</span><span style="color:#006600;font-weight:bold">(</span><span style="color:#800000">150</span><span style="color:#006600;font-weight:bold">)</span>.<span style="color:#006600">height</span><span style="color:#006600;font-weight:bold">(</span><span style="color:#800000">150</span><span style="color:#006600;font-weight:bold">)</span></div>
</li>
<li style="font-family:&#39;Courier New&#39;, Courier, monospace;color:black;font-weight:normal;font-style:normal;color:#3A6A8B">
<div style="color:#000000;font-family:&#39;Courier New&#39;, Courier, monospace;font-weight:normal">Â  Â  .<span style="color:#006600">add</span><span style="color:#006600;font-weight:bold">(</span>pv.<span style="color:#006600">Panel</span><span style="color:#006600;font-weight:bold">)</span></div>
</li>
<li style="font-weight:bold;color:#26536A">
<div style="color:#000000;font-family:&#39;Courier New&#39;, Courier, monospace;font-weight:normal">Â  Â  Â  .<span style="color:#006600">data</span><span style="color:#006600;font-weight:bold">(</span><span style="color:#006600;font-weight:bold">[</span><span style="color:#006600;font-weight:bold">[</span>Math.<span style="color:#006600">sin</span><span style="color:#006600;font-weight:bold">(</span>x / y<span style="color:#006600;font-weight:bold">)</span></div>
</li>
<li style="font-family:&#39;Courier New&#39;, Courier, monospace;color:black;font-weight:normal;font-style:normal;color:#3A6A8B">
<div style="color:#000000;font-family:&#39;Courier New&#39;, Courier, monospace;font-weight:normal">Â  Â  Â  Â  Â  Â  Â <span style="color:#000066;font-weight:bold">for</span> <span style="color:#006600;font-weight:bold">(</span>x <span style="color:#000066;font-weight:bold">in</span> pv.<span style="color:#006600">range</span><span style="color:#006600;font-weight:bold">(</span><span style="color:#800000">50</span><span style="color:#006600;font-weight:bold">)</span><span style="color:#006600;font-weight:bold">)</span><span style="color:#006600;font-weight:bold">]</span></div>
</li>
<li style="font-weight:bold;color:#26536A">
<div style="color:#000000;font-family:&#39;Courier New&#39;, Courier, monospace;font-weight:normal">Â  Â  Â  Â  Â  Â  Â <span style="color:#000066;font-weight:bold">for</span> <span style="color:#006600;font-weight:bold">(</span>y <span style="color:#000066;font-weight:bold">in</span> pv.<span style="color:#006600">range</span><span style="color:#006600;font-weight:bold">(</span><span style="color:#800000">3</span>, <span style="color:#800000">9</span><span style="color:#006600;font-weight:bold">)</span><span style="color:#006600;font-weight:bold">)</span><span style="color:#006600;font-weight:bold">]</span><span style="color:#006600;font-weight:bold">)</span></div>
</li>
<li style="font-family:&#39;Courier New&#39;, Courier, monospace;color:black;font-weight:normal;font-style:normal;color:#3A6A8B">
<div style="color:#000000;font-family:&#39;Courier New&#39;, Courier, monospace;font-weight:normal">Â  Â  .<span style="color:#006600">add</span><span style="color:#006600;font-weight:bold">(</span>pv.<span style="color:#006600">Area</span><span style="color:#006600;font-weight:bold">)</span></div>
</li>
<li style="font-weight:bold;color:#26536A">
<div style="color:#000000;font-family:&#39;Courier New&#39;, Courier, monospace;font-weight:normal">Â  Â  Â  .<span style="color:#006600">data</span><span style="color:#006600;font-weight:bold">(</span><span style="color:#003366;font-weight:bold">function</span><span style="color:#006600;font-weight:bold">(</span>d<span style="color:#006600;font-weight:bold">)</span> d<span style="color:#006600;font-weight:bold">)</span></div>
</li>
<li style="font-family:&#39;Courier New&#39;, Courier, monospace;color:black;font-weight:normal;font-style:normal;color:#3A6A8B">
<div style="color:#000000;font-family:&#39;Courier New&#39;, Courier, monospace;font-weight:normal">Â  Â  Â  .<span style="color:#006600">fillStyle</span><span style="color:#006600;font-weight:bold">(</span>pv.<span style="color:#006600">Colors</span>.<span style="color:#006600">category19</span>.<span style="color:#006600">unique</span><span style="color:#006600;font-weight:bold">)</span></div>
</li>
<li style="font-weight:bold;color:#26536A">
<div style="color:#000000;font-family:&#39;Courier New&#39;, Courier, monospace;font-weight:normal">Â  Â  Â  .<span style="color:#006600">bottom</span><span style="color:#006600;font-weight:bold">(</span><span style="color:#003366;font-weight:bold">function</span><span style="color:#006600;font-weight:bold">(</span><span style="color:#006600;font-weight:bold">)</span> let <span style="color:#006600;font-weight:bold">(</span>c = <span style="color:#000066;font-weight:bold">this</span>.<span style="color:#006600">cousin</span><span style="color:#006600;font-weight:bold">(</span><span style="color:#006600;font-weight:bold">)</span><span style="color:#006600;font-weight:bold">)</span></div>
</li>
<li style="font-family:&#39;Courier New&#39;, Courier, monospace;color:black;font-weight:normal;font-style:normal;color:#3A6A8B">
<div style="color:#000000;font-family:&#39;Courier New&#39;, Courier, monospace;font-weight:normal">Â  Â  Â  Â  Â  c ? <span style="color:#006600;font-weight:bold">(</span>c.<span style="color:#006600">bottom</span> + c.<span style="color:#006600">height</span><span style="color:#006600;font-weight:bold">)</span> : <span style="color:#800000">0</span><span style="color:#006600;font-weight:bold">)</span></div>
</li>
<li style="font-weight:bold;color:#26536A">
<div style="color:#000000;font-family:&#39;Courier New&#39;, Courier, monospace;font-weight:normal">Â  Â  Â  .<span style="color:#006600">height</span><span style="color:#006600;font-weight:bold">(</span><span style="color:#003366;font-weight:bold">function</span><span style="color:#006600;font-weight:bold">(</span>d<span style="color:#006600;font-weight:bold">)</span> <span style="color:#006600;font-weight:bold">(</span>d + <span style="color:#800000">1</span><span style="color:#006600;font-weight:bold">)</span> * <span style="color:#800000">13</span><span style="color:#006600;font-weight:bold">)</span></div>
</li>
<li style="font-family:&#39;Courier New&#39;, Courier, monospace;color:black;font-weight:normal;font-style:normal;color:#3A6A8B">
<div style="color:#000000;font-family:&#39;Courier New&#39;, Courier, monospace;font-weight:normal">Â  Â  Â  .<span style="color:#006600">left</span><span style="color:#006600;font-weight:bold">(</span><span style="color:#003366;font-weight:bold">function</span><span style="color:#006600;font-weight:bold">(</span><span style="color:#006600;font-weight:bold">)</span> <span style="color:#000066;font-weight:bold">this</span>.<span style="color:#006600">index</span> * <span style="color:#800000">3</span><span style="color:#006600;font-weight:bold">)</span></div>
</li>
<li style="font-weight:bold;color:#26536A">
<div style="color:#000000;font-family:&#39;Courier New&#39;, Courier, monospace;font-weight:normal">Â  Â  .<span style="color:#006600">root</span>.<span style="color:#006600">render</span><span style="color:#006600;font-weight:bold">(</span><span style="color:#006600;font-weight:bold">)</span>;</div>
</li>
<li style="font-family:&#39;Courier New&#39;, Courier, monospace;color:black;font-weight:normal;font-style:normal;color:#3A6A8B">
<div style="color:#000000;font-family:&#39;Courier New&#39;, Courier, monospace;font-weight:normal">Â </div>
</li>
</ol>
</div>
</div>
</div>
<p>which produces <img src="http://vis.stanford.edu/protovis/ex/area-chart.png"/>.</p>
<p>Very cool indeed!</p>
<div>
<a href="http://feeds2.feedburner.com/~ff/ajaxian?a=PiPgb8gSSNE:V6GfWkreDTo:yIl2AUoC8zA"><img src="http://feeds2.feedburner.com/~ff/ajaxian?d=yIl2AUoC8zA" border="0"/></a> <a href="http://feeds2.feedburner.com/~ff/ajaxian?a=PiPgb8gSSNE:V6GfWkreDTo:7Q72WNTAKBA"><img src="http://feeds2.feedburner.com/~ff/ajaxian?d=7Q72WNTAKBA" border="0"/></a> <a href="http://feeds2.feedburner.com/~ff/ajaxian?a=PiPgb8gSSNE:V6GfWkreDTo:D7DqB2pKExk"><img src="http://feeds2.feedburner.com/~ff/ajaxian?i=PiPgb8gSSNE:V6GfWkreDTo:D7DqB2pKExk" border="0"/></a>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.glennmarcus.com/blog/2009/04/06/great-visualizations-with-protovis/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DataTables: Major update to the highly flexible data table component</title>
		<link>http://www.glennmarcus.com/blog/2009/03/10/datatables-major-update-to-the-highly-flexible-data-table-component/</link>
		<comments>http://www.glennmarcus.com/blog/2009/03/10/datatables-major-update-to-the-highly-flexible-data-table-component/#comments</comments>
		<pubDate>Tue, 10 Mar 2009 11:46:41 +0000</pubDate>
		<dc:creator>Dion Almaer</dc:creator>
				<category><![CDATA[ajax]]></category>
		<category><![CDATA[Front Page]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">tag:google.com,2005:reader/item/ed6b060202ba07df</guid>
		<description><![CDATA[<p><img src="http://ajaxian.com/wp-content/uploads/datatables.png" alt="" title="datatables" width="500" height="214"/></p>
<p>Allan Jardine has updated his popular <a href="http://www.datatables.net/">DataTables</a> rich data grid control. Allan told us what his aims were for this 1.4.1 release:</p>
<blockquote><p>
Being fairly happy with the options that DataTables presents to the end user, I&#8217;ve focused this release on providing tools for the developer. A plug-in API, non-destructive DOM manipulation (the biggest weak point of the old versions) and documentation are the major new features.
</p>
</blockquote>
<p>If you take a look at the new <a href="http://www.datatables.net/api">rich API</a> you will see that can manipulate the data in the table, build filters, fetch remote data, and more.</p>
<p>What does DataTables feature again?</p>
<ul>
<li>Variable length pagination</li>
<li>On-the-fly filtering</li>
<li>Multi-coloum sorting with data type detection</li>
<li>Smart handling of column widths</li>
<li>Fully internationalisable<br /><span style="font-style:smaller">UK, French, German, Spanish, Russian, Norwegian, Portuguese Brazilian (and more) translations provided</span></li>
<li>State saving</li>
<li>Hidden columns</li>
<li>Dynamic creation of tables</li>
<li>Ajax auto loading of data</li>
<li>Custom DOM positioning</li>
<li>Single column filtering</li>
<li>Alternative pagination types</li>
<li>Non-destructive DOM interaction</li>
<li>Sorting column(s) highlighting</li>
<li>Extensive plug-in support<br /><span style="font-size:smaller">Sorting, type detection, API functions and pagination</span></li>
<li>Fully themeable by CSS</li>
<li>Solid documentation</li>
</ul>
<div>
<a href="http://feeds2.feedburner.com/~ff/ajaxian?a=tW5s_WVitqk:HiNF55PT54c:yIl2AUoC8zA"><img src="http://feeds2.feedburner.com/~ff/ajaxian?d=yIl2AUoC8zA" border="0"/></a> <a href="http://feeds2.feedburner.com/~ff/ajaxian?a=tW5s_WVitqk:HiNF55PT54c:7Q72WNTAKBA"><img src="http://feeds2.feedburner.com/~ff/ajaxian?d=7Q72WNTAKBA" border="0"/></a> <a href="http://feeds2.feedburner.com/~ff/ajaxian?a=tW5s_WVitqk:HiNF55PT54c:D7DqB2pKExk"><img src="http://feeds2.feedburner.com/~ff/ajaxian?i=tW5s_WVitqk:HiNF55PT54c:D7DqB2pKExk" border="0"/></a>
</div>
]]></description>
			<content:encoded><![CDATA[<p><img src="http://ajaxian.com/wp-content/uploads/datatables.png" alt="" title="datatables" width="500" height="214"/></p>
<p>Allan Jardine has updated his popular <a href="http://www.datatables.net/">DataTables</a> rich data grid control. Allan told us what his aims were for this 1.4.1 release:</p>
<blockquote><p>
Being fairly happy with the options that DataTables presents to the end user, I&#8217;ve focused this release on providing tools for the developer. A plug-in API, non-destructive DOM manipulation (the biggest weak point of the old versions) and documentation are the major new features.
</p>
</blockquote>
<p>If you take a look at the new <a href="http://www.datatables.net/api">rich API</a> you will see that can manipulate the data in the table, build filters, fetch remote data, and more.</p>
<p>What does DataTables feature again?</p>
<ul>
<li>Variable length pagination</li>
<li>On-the-fly filtering</li>
<li>Multi-coloum sorting with data type detection</li>
<li>Smart handling of column widths</li>
<li>Fully internationalisable<br /><span style="font-style:smaller">UK, French, German, Spanish, Russian, Norwegian, Portuguese Brazilian (and more) translations provided</span></li>
<li>State saving</li>
<li>Hidden columns</li>
<li>Dynamic creation of tables</li>
<li>Ajax auto loading of data</li>
<li>Custom DOM positioning</li>
<li>Single column filtering</li>
<li>Alternative pagination types</li>
<li>Non-destructive DOM interaction</li>
<li>Sorting column(s) highlighting</li>
<li>Extensive plug-in support<br /><span style="font-size:smaller">Sorting, type detection, API functions and pagination</span></li>
<li>Fully themeable by CSS</li>
<li>Solid documentation</li>
</ul>
<div>
<a href="http://feeds2.feedburner.com/~ff/ajaxian?a=tW5s_WVitqk:HiNF55PT54c:yIl2AUoC8zA"><img src="http://feeds2.feedburner.com/~ff/ajaxian?d=yIl2AUoC8zA" border="0"/></a> <a href="http://feeds2.feedburner.com/~ff/ajaxian?a=tW5s_WVitqk:HiNF55PT54c:7Q72WNTAKBA"><img src="http://feeds2.feedburner.com/~ff/ajaxian?d=7Q72WNTAKBA" border="0"/></a> <a href="http://feeds2.feedburner.com/~ff/ajaxian?a=tW5s_WVitqk:HiNF55PT54c:D7DqB2pKExk"><img src="http://feeds2.feedburner.com/~ff/ajaxian?i=tW5s_WVitqk:HiNF55PT54c:D7DqB2pKExk" border="0"/></a>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.glennmarcus.com/blog/2009/03/10/datatables-major-update-to-the-highly-flexible-data-table-component/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>50 Useful JavaScript Tools</title>
		<link>http://www.glennmarcus.com/blog/2009/02/08/50-useful-javascript-tools/</link>
		<comments>http://www.glennmarcus.com/blog/2009/02/08/50-useful-javascript-tools/#comments</comments>
		<pubDate>Mon, 09 Feb 2009 02:29:23 +0000</pubDate>
		<dc:creator>Jacob Gube</dc:creator>
				<category><![CDATA[ajax]]></category>
		<category><![CDATA[Developer's Toolbox]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[useful]]></category>

		<guid isPermaLink="false">tag:google.com,2005:reader/item/5eea72ae1ddb6dde</guid>
		<description><![CDATA[<p><em>By Jacob Gube</em></p>
<p><strong>JavaScript</strong> is a  powerful client-side scripting language used in many modern websites and Web applications. In the hands of a skilled Web developer, JavaScript can enhance the userâ€™s  experience of the website and provide rich interactive components and features. But even though syntactically simple in nature, JavaScript is often difficult to author because of the environment it runs in: the Web browser. JavaScriptâ€™s popularity is evident in emerging technologies,  such as <a href="http://livedocs.adobe.com/labs/air/1/jslr/">Adobe AIR</a>, which use it as a supported language for creating desktop-based applications. </p>
<p>Below, youâ€™ll find <strong>50  excellent tools to help you achieve various tasks involved in authoring JavaScript  code</strong>. Youâ€™ll find useful tools to speed up your coding  processes, including debugging tools to hunt down places where your  scripts break, unit testing and validation tools to test your scripts  in various situations, security vulnerability scanners and code optimization  tools to make sure your scripts are light as a feather.</p>
<p>Youâ€™ll also find a few new and alternative JavaScript and AJAX  frameworks to help you explore options beyond the big names  (i.e. MooTools, jQuery, YUI, Dojo, Prototype), in addition to useful scripts  to help you accomplish a host of design and development tasks related to  JavaScript.</p>
<p>Also, be sure to check out the following related posts:</p>
<ul>
<li><a href="http://www.smashingmagazine.com/2008/09/11/75-really-useful-javascript-techniques/">75  (Really) Useful JavaScript Techniques</a></li>
<li><a href="http://www.smashingmagazine.com/2008/04/15/60-more-ajax-and-javascript-solutions-for-professional-coding/">60  AJAX- and Javascript Solutions For Professional Coding</a></li>
<li><a href="http://www.smashingmagazine.com/2008/09/16/jquery-examples-and-best-practices/">jQuery  and JavaScript Coding: Examples and Best Practices</a></li>
<li><a href="http://www.smashingmagazine.com/2008/12/09/50-really-useful-css-tools/">50  Extremely Useful And Powerful CSS Tools</a></li>
</ul>
<h3>JavaScript/AJAX Authoring Tools</h3>
<ul>
<li><a href="http://ui.jquery.com/themeroller/">jQuery UI</a><br />
The jQuery UI allows you to design custom user  interfaces for Web applications using the <a href="http://jquery.com/">jQuery</a> library. With jQuery&#8230;</li></ul>]]></description>
			<content:encoded><![CDATA[<p><em>By Jacob Gube</em></p>
<p><strong>JavaScript</strong> is a  powerful client-side scripting language used in many modern websites and Web applications. In the hands of a skilled Web developer, JavaScript can enhance the userâ€™s  experience of the website and provide rich interactive components and features. But even though syntactically simple in nature, JavaScript is often difficult to author because of the environment it runs in: the Web browser. JavaScriptâ€™s popularity is evident in emerging technologies,  such as <a href="http://livedocs.adobe.com/labs/air/1/jslr/">Adobe AIR</a>, which use it as a supported language for creating desktop-based applications. </p>
<p>Below, youâ€™ll find <strong>50  excellent tools to help you achieve various tasks involved in authoring JavaScript  code</strong>. Youâ€™ll find useful tools to speed up your coding  processes, including debugging tools to hunt down places where your  scripts break, unit testing and validation tools to test your scripts  in various situations, security vulnerability scanners and code optimization  tools to make sure your scripts are light as a feather.</p>
<p>Youâ€™ll also find a few new and alternative JavaScript and AJAX  frameworks to help you explore options beyond the big names  (i.e. MooTools, jQuery, YUI, Dojo, Prototype), in addition to useful scripts  to help you accomplish a host of design and development tasks related to  JavaScript.</p>
<p>Also, be sure to check out the following related posts:</p>
<ul>
<li><a href="http://www.smashingmagazine.com/2008/09/11/75-really-useful-javascript-techniques/">75  (Really) Useful JavaScript Techniques</a></li>
<li><a href="http://www.smashingmagazine.com/2008/04/15/60-more-ajax-and-javascript-solutions-for-professional-coding/">60  AJAX- and Javascript Solutions For Professional Coding</a></li>
<li><a href="http://www.smashingmagazine.com/2008/09/16/jquery-examples-and-best-practices/">jQuery  and JavaScript Coding: Examples and Best Practices</a></li>
<li><a href="http://www.smashingmagazine.com/2008/12/09/50-really-useful-css-tools/">50  Extremely Useful And Powerful CSS Tools</a></li>
</ul>
<h3>JavaScript/AJAX Authoring Tools</h3>
<ul>
<li><a href="http://ui.jquery.com/themeroller/">jQuery UI</a><br />
The jQuery UI allows you to design custom user  interfaces for Web applications using the <a href="http://jquery.com/">jQuery</a> library. With jQuery UI, you can reduce the amount of code you write for common  rich interactive features and website widgets. Be sure to check out the <a href="http://ui.jquery.com/demos/">jQuery UI Demo</a> page, which showcases  some of the things you can accomplish using jQuery UI.</p>
<p><a href="http://ui.jquery.com/themeroller/"><img src="http://88.198.60.17/images/javascript-tools-images/01_jqueryui.jpg" alt="jQuery UI - screen shot." width="500" height="319"/></a></p>
</li>
<li><a href="http://code.google.com/webtoolkit/overview.html">Google Web Toolkit</a><br />
The Google Web Toolkit (commonly referred to as GWT) is a  framework for developing complex and fully featured AJAX-based Web  applications. You write front-end code in Java that is later compiled into  optimized and cross-browser-friendly JavaScript. GWT puts the focus on Web application development by reducing the need for testing and  debugging JavaScript for browser quirks.</li>
<li><a href="http://jxlib.org/">Jx</a><br />
Jx is a JavaScript library for creating graphical user  interfaces written on top of the <a href="http://mootools.net/">MooTools</a> framework. Jx is distributed with an <a href="http://www.opensource.org/licenses/mit-license.php">MIT license</a> and  is well documented. Numerous examples as well as thorough  and well-organized API documentation is available on the website.</p>
<p><a href="http://jxlib.org/"><img src="http://78.46.108.98/images/javascript-tools-images/02_jx.jpg" alt="Jx - screen shto." width="500" height="239"/></a></p>
</li>
<li><a href="http://www.thefrontside.net/freestyle">Freestyle Webtop Toolkit</a><br />
Freestyle aims to reduce the complexity and time involved in  deploying Web-based user interfaces by eliminating the separation of client-side and server-side development. With Freestyle, you focus on  programming logic and UI design, and it handles the rest (i.e. cross-browser  compatibility and DHTML and AJAX development).</p>
<p><a href="http://www.thefrontside.net/freestyle"><img src="http://88.198.60.17/images/javascript-tools-images/03_freestyle.jpg" alt="Freestyle Webtop Toolkit - screen shot." width="356" height="170"/></a></p>
</li>
<li><a href="http://projects.nikhilk.net/ScriptSharp">Script#</a><br />
Script# is an AJAX and JavaScript authoring tool that allows developers to write in C#. It also allows  .NET developers to leverage their existing knowledge and provides powerful  tools associated with the .NET framework.</p>
<p><a href="http://projects.nikhilk.net/ScriptSharp"><img src="http://78.46.108.98/images/javascript-tools-images/04_script.jpg" alt="Script# - screen shot." width="462" height="228"/></a></p>
</li>
<li><a href="http://www.aptana.com/jaxer/">Aptana Jaxer</a><br />
Aptana Jaxer is the first â€œAJAX  serverâ€ that allows developers to use their AJAX, HTML, JavaScript and DOM knowledge to create  fully featured server-side-powered Web applications. With Jaxer, you can even  write database queries in JavaScript syntax. Jaxer integrates very well with  popular JavaScript libraries such as jQuery, <a href="http://www.dojotoolkit.org/">Dojo</a> and <a href="http://extjs.com/">Ext  JS</a>.</li>
<li><a href="http://www.jslab.dk/tools.regex.php">JS Regex Generator</a><br />
JS Regex Generator helps JavaScript developers write <a href="http://en.wikipedia.org/wiki/Regular_expression">Regular Expressions</a> for matching strings of text. This is commonly done for text-format validation, such as when checking  if inputted text has the correct date and email format.</p>
<p><a href="http://www.jslab.dk/tools.regex.php"><img src="http://88.198.60.17/images/javascript-tools-images/05_js_regex_generator.jpg" alt="JS Regex Generator - screen shot." width="330" height="284"/></a></p>
</li>
<li><a href="http://www.wavemaker.com/">WaveMaker</a><br />
WaveMaker is open-source software for complete Web application development and deployment. You can find a host of demo applications built and deployed using WaveMaker on the <a href="http://www.wavemaker.com/product/demos.html">Demo Applications</a> page.</p>
<p><a href="http://www.wavemaker.com/"><img src="http://78.46.108.98/images/javascript-tools-images/06_wavemaker.jpg" alt="WaveMaker - screen shot." width="500" height="228"/></a></p>
</li>
</ul>
<h3>Documentation Tools</h3>
<ul>
<li><a href="http://code.google.com/p/jsdoc-toolkit/">JSDoc Toolkit</a><br />
JSDoc Toolkit makes code documentation a breeze. Written in  JavaScript, it helps developers automatically generate templates for  JavaScript comments. Itâ€™s a great tool for managing large-scale applications  developed by teams of developers who have different coding styles.</li>
<li><a href="http://jgrouse.com/#jgdoc">jGrouseDoc</a><br />
jGrouseDoc is an open-source project distributed through <a href="http://code.google.com/p/jgrousedoc/">Google Code</a> under a modified BSD license. It lets  developers document and manage their code comments using a format similar to <a href="http://java.sun.com/j2se/javadoc/">Javadoc</a>â€™s.</p>
<p><a href="http://jgrouse.com/#jgdoc"><img src="http://88.198.60.17/images/javascript-tools-images/07_jsgrouse.jpg" alt="jGrouseDoc - screen shot." width="354" height="253"/></a></p>
</li>
</ul>
<h3>JavaScript Debugging Tools</h3>
<ul>
<li><a href="http://getfirebug.com/">Firebug</a><br />
Firebug is an extremely popular and well-regarded front-end  debugging tool. It has all the features youâ€™d expect from a JavaScript  debugging tool, such as the ability to set breakpoints in your code so that you  can step through your script. For people developing outside of Mozilla-based  browsers, check out <a href="http://getfirebug.com/lite.html">Firebug Lite</a>, which is a JavaScript library you can include in your Web pages to access  some of the features of Firebug.</p>
<p><a href="http://getfirebug.com/"><img src="http://78.46.108.98/images/javascript-tools-images/08_firebug.jpg" alt="Firebug - screen shot." width="470" height="269"/></a></p>
</li>
<li><a href="http://www.mozilla.org/projects/venkman/">Venkman  JavaScript Debugger</a><br />
Venkman is Mozillaâ€™s JavaScript debugger and an add-on for  Gecko-based browsers. Venkman is a robust and fully featured JavaScript  debugging environment, with a host of useful features and options, such as code  profiling to inspect your scriptâ€™s performance.</p>
<p><a href="http://www.mozilla.org/projects/venkman/"><img src="http://88.198.60.17/images/javascript-tools-images/09_venkman.jpg" alt="Venkman JavaScript Debugger - screen shot." width="500" height="233"/></a></p>
</li>
<li><a href="http://webkit.org/blog/61/introducing-drosera/">Drosera</a><br />
Drosera is an excellent debugging tool for Safari and  WebKit-based browsers.</p>
<p><a href="http://webkit.org/blog/61/introducing-drosera/"><img src="http://78.46.108.98/images/javascript-tools-images/10_drosera.jpg" alt="Drosera - screen shot." width="274" height="344"/></a></p>
</li>
<li><a href="http://www.opera.com/dragonfly/">Opera Dragonfly</a><br />
Opera Dragonfly is a robust debugging environment for the  Opera browser. Dragonfly allows you to view and inspect errors, debug your  scripts and inspect and edit the DOM and CSS on the fly.</li>
<li><a href="http://www.nitobibug.com/">NitobiBug</a><br />
NitobiBug is a browser-based JavaScript object logger and  inspector. It runs on numerous browsers, including IE, Safari, Opera and  Firefox. It is a powerful tool in helping developers build rich interactive AJAX applications.</li>
<li><a href="http://www.debugbar.com/">DebugBar</a><br />
DebugBar is an in-browser front-end debugger for Internet  Explorer. Much like its Firefox counterparts, it has a robust set of features, such as DOM, JavaScript and cookie inspection. Be sure to check out <a href="http://www.my-debugbar.com/wiki/CompanionJS/HomePage">Companion JS</a>,  which is a JavaScript debugging library to be used alongside DebugBar.</p>
<p><a href="http://www.debugbar.com/"><img src="http://88.198.60.17/images/javascript-tools-images/11_debugbar.jpg" alt="DebugBar - screen shot." width="489" height="284"/></a></p>
</li>
<li><a href="http://www.microsoft.com/downloads/details.aspx?familyid=e59c3964-672d-4511-bb3e-2d5e1db91038&amp;displaylang=en">Internet  Explorer Developer Toolbar</a><br />
Similar to Firebug, IE Developer Toolbar is an  in-browser tool to help you debug front-end code in Internet Explorer. Itâ€™s  especially handy as a debugging and inspection alternative to Firefox when  youâ€™re developing and testing in IE.</li>
</ul>
<h3>JavaScript Testing and Validation Tools</h3>
<ul>
<li><a href="http://javascriptmvc.com/learningcenter/test/index.html">Test &#8211;  JavaScriptMVC</a><br />
Test is a JavaScriptMVC component for easily setting up  automated unit testing for JavaScript code. It lets you effectively test for  DOM events (such as a key press or form submission), thereby lessening  development time, oversight and errors associated with manual testing.</p>
<p><a href="http://javascriptmvc.com/learningcenter/test/index.html"><img src="http://78.46.108.98/images/javascript-tools-images/12_test.jpg" alt="Test - JavaScriptMVC - screen shot." width="450" height="171"/></a></p>
</li>
<li><a href="http://www.jsunit.net/">JsUnit</a><br />
JsUnit is a popular unit testing framework for JavaScript  code. Itâ€™s a JavaScript port from another unit testing framework for Java called <a href="http://www.junit.org/">JUnit</a>. JsUnit allows you to write test cases and provides tools for automated code execution.</li>
<li><a href="http://jslint.com/">JSLint</a><br />
JSLint is a Web-based tool for verifying your JavaScript  code for errors. It has a ton of features and settings that you can use to  customize verification algorithms to suit your needs.</p>
<p><a href="http://jslint.com/"><img src="http://88.198.60.17/images/javascript-tools-images/12_jslint.jpg" alt="JSLint - screen shot." width="368" height="205"/></a></p>
</li>
<li><a href="http://www.thefrontside.net/crosscheck">Crosscheck</a><br />
Crosscheck is an open-source testing framework for  JavaScript. Crosscheck is unique because it works independent of environment:  you can run tests outside of a Web browser, which avoids discrepancies that occur when testing  in various browsers.</li>
<li><a href="http://developer.yahoo.com/yui/yuitest/#start">YUI  Test</a><br />
YUI Test is a suite of testing utilities thatâ€™s part of the <a href="http://developer.yahoo.com/yui/">YUI library</a> developed by Yahoo!. It  has numerous features, such as easy creation of test cases through an intuitive  syntax, advanced failure detection and the ability to organize test cases by  grouping them into test suites.</p>
<p><a href="http://developer.yahoo.com/yui/yuitest/#start"><img src="http://78.46.108.98/images/javascript-tools-images/14_yui_test.jpg" alt="YUI Test - screen shot." width="436" height="169"/></a></p>
</li>
<li><a href="http://j3unit.sourceforge.net/">J3Unit</a><br />
J3Unit is an excellent object-oriented unit-testing  framework for JavaScript. It gives you a host of options for writing automated  test cases and has three modes: <a href="http://j3unit.sourceforge.net/#static">Static  Mode</a>, <a href="http://j3unit.sourceforge.net/#local">Local Browser Mode</a> and <a href="http://j3unit.sourceforge.net/#remote">Remote Browser Mode</a>.</li>
<li><a href="http://erik.eae.net/playground/regexp/regexp.html">Regular  Expression Tool</a><br />
The Regular Expression Tool is an online utility that allows  you to test your RegEx code against a sample test. Itâ€™s a handy tool to have  around when you want to quickly test the efficacy of your regular expressions  in a variety of example texts.</p>
<p><a href="http://erik.eae.net/playground/regexp/regexp.html"><img src="http://88.198.60.17/images/javascript-tools-images/15_regex_tool.jpg" alt="Regular Expression Tool - screen shot." width="458" height="251"/></a></p>
</li>
<li><a href="http://www.codeproject.com/KB/scripting/regex2.aspx">JavaScript  Regular Expression Tester</a><br />
This is another handy tool for testing regular expressions  within the Web browser.</p>
<p><a href="http://www.codeproject.com/KB/scripting/regex2.aspx"><img src="http://78.46.108.98/images/javascript-tools-images/16_reg_ex_tester.jpg" alt="JavaScript Regular Expression Tester - screen shot." width="450" height="287"/></a></p>
</li>
<li><a href="http://broofa.com/Tools/JSLitmus/">JSLitmus</a><br />
JSLitmus is a lightweight tool for creating JavaScript  benchmarks and performance tests, using an intuitive API.</p>
<p><a href="http://broofa.com/Tools/JSLitmus/"><img src="http://88.198.60.17/images/javascript-tools-images/27_jslitmus.jpg" alt="JSLitmus - screen shot." width="283" height="251"/></a></p>
</li>
</ul>
<h3>Security Tools</h3>
<ul>
<li><a href="http://www.gnucitizen.org/blog/attackapi/">AttackAPI</a><br />
AttackAPI is a framework for writing test cases of potential  JavaScript exploits and vulnerabilities.</li>
<li><a href="http://code.google.com/p/jsfuzzer/">jsfuzzer</a><br />
jsfuzzer is a <a href="http://en.wikipedia.org/wiki/Fuzz_testing">fuzzing</a> tool to help you  write (and test for) attack vectors in JavaScript.</li>
</ul>
<h3>New and Alternative JavaScript and Ajax Development Frameworks</h3>
<ul>
<li><a href="http://clean-ajax.sourceforge.net/">Clean AJAX</a><br />
Clean AJAX  is an open-source framework for creating AJAX-based applications. Check  out the <a href="http://clean-ajax.sourceforge.net/index.php?tab=demos">demo  page</a> to see it in action.</p>
<p><a href="http://clean-ajax.sourceforge.net/"><img src="http://78.46.108.98/images/javascript-tools-images/17_cleanajax.jpg" alt="Clean AJAX - screen shot." width="409" height="115"/></a></p>
</li>
<li><a href="http://www.modernmethod.com/sajax/index.phtml">SAJAX</a><br />
SAJAX is an excellent toolkit for developing AJAX-based  applications. It supports PHP, Perl and Python.</p>
<p><a href="http://www.modernmethod.com/sajax/index.phtml"><img src="http://88.198.60.17/images/javascript-tools-images/18_sajax.jpg" alt="SAJAX - screen shot." width="235" height="243"/></a></p>
</li>
<li><a href="http://javascriptmvc.com/">JavaScriptMVC</a><br />
JavaScriptMVC is a Web application framework based on the <a href="http://en.wikipedia.org/wiki/Model-view-controller">MVC</a> software architectural  pattern. It speeds up Web development processes and lays down best practices,  maintainability and standards as principles in a projectâ€™s development.</li>
<li><a href="http://qooxdoo.org/">qooxdoo</a><br />
qooxdoo is a simple and intuitive AJAX application framework. Be sure to check  out the <a href="http://demo.qooxdoo.org/current/demobrowser/">Demo Browser</a>,  a Web-based application that allows you to view demos of qooxdoo at work.</p>
<p><a href="http://qooxdoo.org/"><img src="http://78.46.108.98/images/javascript-tools-images/19_qooxdoo.jpg" alt="qooxdoo - screen shot." width="500" height="251"/></a></p>
</li>
<li><a href="http://simplejs.bleebot.com/">SimpleJS</a><br />
SimpleJS is a small and lightweight JavaScript library that  provides developers with useful JavaScript functions for working with AJAX.</li>
</ul>
<h3>Image Manipulation and Graphing</h3>
<ul>
<li><a href="http://cow.neondragon.net/stuff/reflection/">Reflection.js</a><br />
Reflection.js automatically adds reflections to your images  unobtrusively. Also check out <a href="http://www.netzgesta.de/instant/">instant.js</a>,  a similar script that adds an image border and tilts images on a Web page.</p>
<p><a href="http://cow.neondragon.net/stuff/reflection/"><img src="http://88.198.60.17/images/javascript-tools-images/20_reflectionjs.jpg" alt="Reflection.js - screen shot." width="500" height="251"/></a></p>
</li>
<li><a href="http://typeface.neocracy.org/">typeface.js</a><br />
typeface.js allows you to embed custom fonts on Web pages,  freeing you from having to create images for HTML text.</li>
<li><a href="http://www.liquidx.net/canvasgraphjs/">CanvasGraph.js</a><br />
CanvasGraph.js is a simple JavaScript library that lets you  construct bar, line and pie charts using HTMLâ€™s canvas element.</p>
<p><a href="http://www.liquidx.net/canvasgraphjs/"><img src="http://78.46.108.98/images/javascript-tools-images/21_canvas_graph.jpg" alt="CanvasGraph.js - screen shot." width="500" height="251"/></a></p>
</li>
<li><a href="http://code.google.com/p/flot/">flot</a><br />
flot is a JavaScript library for plotting data and has been  tested to work in most modern Web browsers.</p>
<p><a href="http://code.google.com/p/flot/"><img src="http://88.198.60.17/images/javascript-tools-images/22_flot.jpg" alt="flot - screen shot." width="500" height="251"/></a></p>
</li>
<li><a href="http://www.lutanho.net/diagram/">JavaScript Diagram Builder</a><br />
The JavaScript Diagram Builder is a JavaScript library that consists  of a variety of objects and functions for constructing diagrams.</p>
<p><a href="http://www.lutanho.net/diagram/"><img src="http://78.46.108.98/images/javascript-tools-images/23_diagram_builder.jpg" alt="JavaScript Diagram Builder - screen shot." width="500" height="251"/></a></p>
</li>
<li><a href="http://www.dojotoolkit.org/2006/11/08/dojo-charting-engine-courtesy-greenplum-and-sitepen">The Dojo Charting Engine</a><br />
The Dojo Charting Engine is a robust utility for creating  components for data visualization, written on top of the <a href="http://www.dojotoolkit.org/">Dojo Toolkit</a>.</li>
</ul>
<h3>Useful Utilities and JavaScript Scripts</h3>
<ul>
<li><a href="http://ejohn.org/blog/processingjs/">Processing.js</a><br />
Processing.js is a JavaScript port of <a href="http://processing.org/">Processing</a>, the open-source data-visualization programming language. Check out <a href="http://blog.osmeusapontamentos.com/processing/dataVisualizationExamplesUsingProcessingJS.htm">examples  that use Processing.js</a>.</li>
<li><a href="http://code.google.com/apis/ajaxlibs/">AJAX  Libraries API</a><br />
Googleâ€™s AJAX Libraries API allows you to serve popular JavaScript  libraries using its CDN, which reduces the server load on your website.</li>
<li><a href="https://damnit.jupiterit.com/">DamnIT</a><br />
DamnIT is an error-reporting service that allows you to  gather feedback from beta testers after theyâ€™ve encountered a JavaScript error.  This is perfect for live production testing and as a monitoring tool that helps  you track errors and weak spots in your Web applications.</li>
<li><a href="http://code.google.com/p/ie7-js/">ie7-js</a><br />
ie7-js is a JavaScript library that forces Internet  Explorer to behave like a standards-based browser (like Firefox or  Opera). It automatically fixes IE browser quirks and deviations from Web  standards, as in the case of its box model.</li>
<li><a href="http://www.appelsiini.net/projects/lazyload">Lazy  loader</a><br />
Lazy loader is a jQuery plug-in that delays the loading of  images so that text content can load first, thereby making image-heavy pages load faster.</li>
</ul>
<h3>JavaScript Code Optimization and Minification Tools</h3>
<ul>
<li><a href="http://fmarcia.info/jsmin/test.html">JS Minifier</a><br />
JS Minifier is a Web-based tool for shrinking your JavaScript code  to make it as lightweight as possible.</p>
<p><a href="http://fmarcia.info/jsmin/test.html"><img src="http://88.198.60.17/images/javascript-tools-images/24_js_minifier.jpg" alt="JS Minifier - screen shot." width="500" height="251"/></a></p>
</li>
<li><a href="http://www.crockford.com/javascript/jsmin.html">JSMIN</a><br />
JSMIN is a popular JavaScript minifier that removes unneeded  characters (like spaces and tabs) and comments, thus reducing your scriptâ€™s  file size.</li>
<li><a href="http://developer.yahoo.com/yui/compressor/">YUI  Compressor</a><br />
The YUI Compressor is another well-regarded JavaScript code-optimization tool developed by Yahoo!.</li>
<li><a href="http://www.scriptalizer.com/">Scriptalizer</a><br />
Scriptalizer is a helpful online tool for combining  JavaScript files to reduce HTTP requests.</p>
<p><a href="http://www.scriptalizer.com/"><img src="http://78.46.108.98/images/javascript-tools-images/25_scriptilizer.jpg" alt="Scriptalizer - screen shot." width="500" height="251"/></a></p>
</li>
<li><a href="http://dojotoolkit.org/docs/shrinksafe">ShrinkSafe</a><br />
ShrinkSafe is a compression tool that reduces  JavaScript file sizes.</li>
<li><a href="http://mootools.net/slickspeed/">SlickSpeed  Selectors Test</a><br />
SlickSpeed is a Web page for comparing the  performance of the DOM object selection of various popular frameworks like MooTools  and jQuery.</p>
<p><a href="http://mootools.net/slickspeed/"><img src="http://88.198.60.17/images/javascript-tools-images/26_slickspeed.jpg" alt="SlickSpeed Selectors Test - screen shot." width="500" height="251"/></a></p>
</li>
</ul>
<h4>About the Author</h4>
<p><strong>Jacob Gube</strong> is a Web developer, designer, and founder of <a href="http://sixrevisions.com/">Six Revisions</a>, a blog on Web development  and design. If you want to connect with the author, you can <a href="http://twitter.com/jggube">follow him on Twitter</a>.</p>
<p><em>(al)</em></p>
<div>
<a href="http://feeds.feedburner.com/~f/SmashingMagazine?a=QySOyZ.q"><img src="http://feeds.feedburner.com/~f/SmashingMagazine?i=QySOyZ.q" border="0"/></a> <a href="http://feeds.feedburner.com/~f/SmashingMagazine?a=BwkIOg.q"><img src="http://feeds.feedburner.com/~f/SmashingMagazine?i=BwkIOg.q" border="0"/></a> <a href="http://feeds.feedburner.com/~f/SmashingMagazine?a=uq8NzN.q"><img src="http://feeds.feedburner.com/~f/SmashingMagazine?i=uq8NzN.q" border="0"/></a> <a href="http://feeds.feedburner.com/~f/SmashingMagazine?a=jZlu0R.q"><img src="http://feeds.feedburner.com/~f/SmashingMagazine?i=jZlu0R.q" border="0"/></a> <a href="http://feeds.feedburner.com/~f/SmashingMagazine?a=gPCCVY.Q"><img src="http://feeds.feedburner.com/~f/SmashingMagazine?i=gPCCVY.Q" border="0"/></a> <a href="http://feeds.feedburner.com/~f/SmashingMagazine?a=bPJP7N.Q"><img src="http://feeds.feedburner.com/~f/SmashingMagazine?i=bPJP7N.Q" border="0"/></a> <a href="http://feeds.feedburner.com/~f/SmashingMagazine?a=D6x7Kn.Q"><img src="http://feeds.feedburner.com/~f/SmashingMagazine?i=D6x7Kn.Q" border="0"/></a>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.glennmarcus.com/blog/2009/02/08/50-useful-javascript-tools/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SmartGWT 1.0: Huge open source widget set and more</title>
		<link>http://www.glennmarcus.com/blog/2008/12/03/smartgwt-1-0-huge-open-source-widget-set-and-more/</link>
		<comments>http://www.glennmarcus.com/blog/2008/12/03/smartgwt-1-0-huge-open-source-widget-set-and-more/#comments</comments>
		<pubDate>Wed, 03 Dec 2008 05:52:35 +0000</pubDate>
		<dc:creator>Dion Almaer</dc:creator>
				<category><![CDATA[ajax]]></category>
		<category><![CDATA[Front Page]]></category>
		<category><![CDATA[GWT]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Toolkit]]></category>

		<guid isPermaLink="false">tag:google.com,2005:reader/item/6f8e0f0d358ee2ad</guid>
		<description><![CDATA[<p>You may remember Sanjiv Jivan as the GWT-Ext developer that <a href="http://www.jroller.com/comments/sjivan/Weblog/update_on_future_direction_of1">changed over the debacle</a>. He then went on to start work on a GWT version of SmartClient libraries and has now <a href="http://www.jroller.com/sjivan/entry/smartgwt_1_0_released">released SmartGWT 1.0</a>.</p>
<p>It is a tour de force of not only a huge widget library, but he explains how it is much more:</p>
<blockquote><p>
So what&#8217;s so smart about SmartGWT? Let me try to explain. SmartGWT is not just another Widget library. While most Ajax frameworks focus primarily on presentation and displaying mostly read-only data, either local or via XML / JSON, SmartClient was built with server side integration in mind. Most enterprise applications are not just about about data presentation, but about being able to propagate data changes made by the user to the backend. So while its tempting to use library X that has a cool tree widget, it&#8217;s not until you actually try to use it your application that you encounter the real world hard problems. For example, how do you take data from your business objects on the server to not only display in a tree widget, but also be able to update your data model when, say, the user reorders the tree nodes or make edits / deletes in the UI. How do you display hierarchical data where nodes may have hundreds of children? And so on..</p>
<p>Most Ajax frameworks stop short and leave it up to the user to manage state on the client side and propagating the changes to the server. This is not a&#8230;</p></blockquote>]]></description>
			<content:encoded><![CDATA[<p>You may remember Sanjiv Jivan as the GWT-Ext developer that <a href="http://www.jroller.com/comments/sjivan/Weblog/update_on_future_direction_of1">changed over the debacle</a>. He then went on to start work on a GWT version of SmartClient libraries and has now <a href="http://www.jroller.com/sjivan/entry/smartgwt_1_0_released">released SmartGWT 1.0</a>.</p>
<p>It is a tour de force of not only a huge widget library, but he explains how it is much more:</p>
<blockquote><p>
So what&#8217;s so smart about SmartGWT? Let me try to explain. SmartGWT is not just another Widget library. While most Ajax frameworks focus primarily on presentation and displaying mostly read-only data, either local or via XML / JSON, SmartClient was built with server side integration in mind. Most enterprise applications are not just about about data presentation, but about being able to propagate data changes made by the user to the backend. So while its tempting to use library X that has a cool tree widget, it&#8217;s not until you actually try to use it your application that you encounter the real world hard problems. For example, how do you take data from your business objects on the server to not only display in a tree widget, but also be able to update your data model when, say, the user reorders the tree nodes or make edits / deletes in the UI. How do you display hierarchical data where nodes may have hundreds of children? And so on..</p>
<p>Most Ajax frameworks stop short and leave it up to the user to manage state on the client side and propagating the changes to the server. This is not a trivial problem! Over the past few years UI widget libraries have improved significantly and there are now various options available to users. Simply put, having good looking widgets is not the hard problem today. In addition to having good looking widgets, having end-to-end integration of the UI components with the backend is the hard problem. It&#8217;s this 20% of the functionality that takes 80% of the time in building most enterprise applications.
</p>
</blockquote>
<p>The <a href="http://www.smartclient.com/smartgwt/showcase/">showcase</a> will give you a good feel for what is out there, and it contains some interesting items including:</p>
<ul>
<li><a href="http://www.smartclient.com/smartgwt/showcase/#featured_miller_columns">Miller Columns</a>: The ColumnTree provides an alternate navigation paradigm for Tree data, sometimes called &#8220;Miller Columns&#8221; and seen in iTunes</li>
<li><a href="http://www.smartclient.com/smartgwt/showcase/#featured_nested_grid">Nested Grid</a>: A convenient way to display 1-n relationships</li>
<li><a href="http://www.smartclient.com/smartgwt/showcase/#featured_print_grid">Printable Views</a>: SmartGWT supports printable views of its components.</li>
<li><a href="http://www.smartclient.com/smartgwt/showcase/#featured_filter_builder_grid">Advanced Filter Builder</a>: a databound filter builder. </li>
<li><a href="http://www.smartclient.com/smartgwt/showcase/#featured_dropdown_grid_category">Tile View</a>: Representation of data as &#8220;tiles&#8221;. Again, TileGrid supports data binding so sort / filter and edits can be easily performed.</li>
<li>Calendars : A Google Calendar like widget that supports databinding so edits and drag drop changes can easily be propgated to the server for persisting.</li>
<li>TreeGrid : Supports multiple columns, editing, column locking, lazy loading and more. </li>
<li><a href="http://www.smartclient.com/smartgwt/showcase/#featured_grid_live">Live Grid / Tree</a>: Grid / Tree virtual scrolling or live grid</li>
</ul>
<p><img src="http://ajaxian.com/wp-content/uploads/smartgwt.png" alt="" title="smartgwt" width="500" height="415"/></p>
<p>Really amazing work. Sanjiv recently had a <a href="http://www.infoq.com/news/2008/11/smartgwt">Q&amp;A session with InfoQ</a> where he talks about the approach taken in developing SmartGWT and the his thoughts on the differences between SmartClient and Ext.</p>
<div>
<a href="http://feeds.feedburner.com/~f/ajaxian?a=XVybO"><img src="http://feeds.feedburner.com/~f/ajaxian?i=XVybO" border="0"/></a> <a href="http://feeds.feedburner.com/~f/ajaxian?a=INzAO"><img src="http://feeds.feedburner.com/~f/ajaxian?i=INzAO" border="0"/></a> <a href="http://feeds.feedburner.com/~f/ajaxian?a=c67wo"><img src="http://feeds.feedburner.com/~f/ajaxian?i=c67wo" border="0"/></a>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.glennmarcus.com/blog/2008/12/03/smartgwt-1-0-huge-open-source-widget-set-and-more/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Guid0: JavaScript GUIDs</title>
		<link>http://www.glennmarcus.com/blog/2008/11/14/guid0-javascript-guids/</link>
		<comments>http://www.glennmarcus.com/blog/2008/11/14/guid0-javascript-guids/#comments</comments>
		<pubDate>Fri, 14 Nov 2008 11:47:33 +0000</pubDate>
		<dc:creator>Dion Almaer</dc:creator>
				<category><![CDATA[ajax]]></category>
		<category><![CDATA[Front Page]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Library]]></category>
		<category><![CDATA[Tip]]></category>

		<guid isPermaLink="false">tag:google.com,2005:reader/item/c5521110ce814e0b</guid>
		<description><![CDATA[<p>Our own Michael Mahemoff is at it again, creating a simple little <a href="http://softwareas.com/guid0-a-javascript-guid-generator">GUID generator called Guid0</a>:</p>
<blockquote><p>
Guid0 is a GUID library for Javascript. Okay, it doesn&#8217;t yet do official, bona fide, 128-bit, GUIDs yet, mainly for API design reasons. But this is a library you might find useful if you want to generate a unique ID in your Ajax app.</p>
<div><a href="javascript:void(0);">PLAIN TEXT</a></div>
<div><span style="color:#000000;font-weight:bold">JAVASCRIPT:</span></p>
<div>
<div>
<ol>
<li style="font-family:&#39;Courier New&#39;, Courier, monospace;color:black;font-weight:normal;font-style:normal;color:#3A6A8B">
<div style="color:#000000;font-family:&#39;Courier New&#39;, Courier, monospace;font-weight:normal">Â </div>
</li>
<li style="font-weight:bold;color:#26536A">
<div style="color:#000000;font-family:&#39;Courier New&#39;, Courier, monospace;font-weight:normal"><span style="color:#009900;font-style:italic">// simple</span></div>
</li>
<li style="font-family:&#39;Courier New&#39;, Courier, monospace;color:black;font-weight:normal;font-style:normal;color:#3A6A8B">
<div style="color:#000000;font-family:&#39;Courier New&#39;, Courier, monospace;font-weight:normal">guid = <span style="color:#003366;font-weight:bold">new</span> Guid<span style="color:#006600;font-weight:bold">(</span><span style="color:#006600;font-weight:bold">)</span>;</div>
</li>
<li style="font-weight:bold;color:#26536A">
<div style="color:#000000;font-family:&#39;Courier New&#39;, Courier, monospace;font-weight:normal"><span style="color:#003366;font-weight:bold">var</span> newguid = guid.<span style="color:#006600">generate</span><span style="color:#006600;font-weight:bold">(</span><span style="color:#006600;font-weight:bold">)</span>;</div>
</li>
<li style="font-family:&#39;Courier New&#39;, Courier, monospace;color:black;font-weight:normal;font-style:normal;color:#3A6A8B">
<div style="color:#000000;font-family:&#39;Courier New&#39;, Courier, monospace;font-weight:normal">Â </div>
</li>
<li style="font-weight:bold;color:#26536A">
<div style="color:#000000;font-family:&#39;Courier New&#39;, Courier, monospace;font-weight:normal"><span style="color:#009900;font-style:italic">// options</span></div>
</li>
<li style="font-family:&#39;Courier New&#39;, Courier, monospace;color:black;font-weight:normal;font-style:normal;color:#3A6A8B">
<div style="color:#000000;font-family:&#39;Courier New&#39;, Courier, monospace;font-weight:normal">guid = <span style="color:#003366;font-weight:bold">new</span> Guid<span style="color:#006600;font-weight:bold">(</span></div>
</li>
<li style="font-weight:bold;color:#26536A">
<div style="color:#000000;font-family:&#39;Courier New&#39;, Courier, monospace;font-weight:normal">Â  <span style="color:#006600;font-weight:bold">{</span></div>
</li>
<li style="font-family:&#39;Courier New&#39;, Courier, monospace;color:black;font-weight:normal;font-style:normal;color:#3A6A8B">
<div style="color:#000000;font-family:&#39;Courier New&#39;, Courier, monospace;font-weight:normal">Â  Â  Â  Â  chars: Guid.<span style="color:#006600">constants</span>.<span style="color:#006600">base85</span>,Â  <span style="color:#009900;font-style:italic">// or you could say &#34;abc&#34; if you only wanted those chars to appear</span></div>
</li>
<li style="font-weight:bold;color:#26536A">
<div style="color:#000000;font-family:&#39;Courier New&#39;, Courier, monospace;font-weight:normal">Â  Â  Â  Â  epoch: <span style="color:#3366CC">&#8220;June 1, 2003&#8243;</span>,</div>
</li>
<li style="font-family:&#39;Courier New&#39;, Courier, monospace;color:black;font-weight:normal;font-style:normal;color:#3A6A8B">
<div style="color:#000000;font-family:&#39;Courier New&#39;, Courier, monospace;font-weight:normal">Â  Â  Â  Â  counterSequenceLength: <span style="color:#800000">2</span>, <span style="color:#009900;font-style:italic">// a counter field appended to the end</span></div>
</li>
<li style="font-weight:bold;color:#26536A">
<div style="color:#000000;font-family:&#39;Courier New&#39;, Courier, monospace;font-weight:normal">Â  Â  Â  Â  randomSequenceLength: <span style="color:#800000">2</span> <span style="color:#009900;font-style:italic">// a random field appended to the end</span></div>
</li>
<li style="font-family:&#39;Courier New&#39;, Courier, monospace;color:black;font-weight:normal;font-style:normal;color:#3A6A8B">
<div style="color:#000000;font-family:&#39;Courier New&#39;, Courier, monospace;font-weight:normal">Â  <span style="color:#006600;font-weight:bold">}</span></div>
</li>
<li style="font-weight:bold;color:#26536A">
<div style="color:#000000;font-family:&#39;Courier New&#39;, Courier, monospace;font-weight:normal"><span style="color:#006600;font-weight:bold">)</span>;</div>
</li>
<li style="font-family:&#39;Courier New&#39;, Courier, monospace;color:black;font-weight:normal;font-style:normal;color:#3A6A8B">
<div style="color:#000000;font-family:&#39;Courier New&#39;, Courier, monospace;font-weight:normal">Â </div>
</li>
</ol>
</div>
</div>
</div>
<p>He is working on 128-bit support.</p>
</blockquote>
<div>
<a href="http://feeds.feedburner.com/~f/ajaxian?a=44B6N"><img src="http://feeds.feedburner.com/~f/ajaxian?i=44B6N" border="0"/></a> <a href="http://feeds.feedburner.com/~f/ajaxian?a=8lSJN"><img src="http://feeds.feedburner.com/~f/ajaxian?i=8lSJN" border="0"/></a> <a href="http://feeds.feedburner.com/~f/ajaxian?a=TA3Yn"><img src="http://feeds.feedburner.com/~f/ajaxian?i=TA3Yn" border="0"/></a>
</div>
]]></description>
			<content:encoded><![CDATA[<p>Our own Michael Mahemoff is at it again, creating a simple little <a href="http://softwareas.com/guid0-a-javascript-guid-generator">GUID generator called Guid0</a>:</p>
<blockquote><p>
Guid0 is a GUID library for Javascript. Okay, it doesn&#8217;t yet do official, bona fide, 128-bit, GUIDs yet, mainly for API design reasons. But this is a library you might find useful if you want to generate a unique ID in your Ajax app.</p>
<div><a href="javascript:void(0);">PLAIN TEXT</a></div>
<div><span style="color:#000000;font-weight:bold">JAVASCRIPT:</span></p>
<div>
<div>
<ol>
<li style="font-family:&#39;Courier New&#39;, Courier, monospace;color:black;font-weight:normal;font-style:normal;color:#3A6A8B">
<div style="color:#000000;font-family:&#39;Courier New&#39;, Courier, monospace;font-weight:normal">Â </div>
</li>
<li style="font-weight:bold;color:#26536A">
<div style="color:#000000;font-family:&#39;Courier New&#39;, Courier, monospace;font-weight:normal"><span style="color:#009900;font-style:italic">// simple</span></div>
</li>
<li style="font-family:&#39;Courier New&#39;, Courier, monospace;color:black;font-weight:normal;font-style:normal;color:#3A6A8B">
<div style="color:#000000;font-family:&#39;Courier New&#39;, Courier, monospace;font-weight:normal">guid = <span style="color:#003366;font-weight:bold">new</span> Guid<span style="color:#006600;font-weight:bold">(</span><span style="color:#006600;font-weight:bold">)</span>;</div>
</li>
<li style="font-weight:bold;color:#26536A">
<div style="color:#000000;font-family:&#39;Courier New&#39;, Courier, monospace;font-weight:normal"><span style="color:#003366;font-weight:bold">var</span> newguid = guid.<span style="color:#006600">generate</span><span style="color:#006600;font-weight:bold">(</span><span style="color:#006600;font-weight:bold">)</span>;</div>
</li>
<li style="font-family:&#39;Courier New&#39;, Courier, monospace;color:black;font-weight:normal;font-style:normal;color:#3A6A8B">
<div style="color:#000000;font-family:&#39;Courier New&#39;, Courier, monospace;font-weight:normal">Â </div>
</li>
<li style="font-weight:bold;color:#26536A">
<div style="color:#000000;font-family:&#39;Courier New&#39;, Courier, monospace;font-weight:normal"><span style="color:#009900;font-style:italic">// options</span></div>
</li>
<li style="font-family:&#39;Courier New&#39;, Courier, monospace;color:black;font-weight:normal;font-style:normal;color:#3A6A8B">
<div style="color:#000000;font-family:&#39;Courier New&#39;, Courier, monospace;font-weight:normal">guid = <span style="color:#003366;font-weight:bold">new</span> Guid<span style="color:#006600;font-weight:bold">(</span></div>
</li>
<li style="font-weight:bold;color:#26536A">
<div style="color:#000000;font-family:&#39;Courier New&#39;, Courier, monospace;font-weight:normal">Â  <span style="color:#006600;font-weight:bold">{</span></div>
</li>
<li style="font-family:&#39;Courier New&#39;, Courier, monospace;color:black;font-weight:normal;font-style:normal;color:#3A6A8B">
<div style="color:#000000;font-family:&#39;Courier New&#39;, Courier, monospace;font-weight:normal">Â  Â  Â  Â  chars: Guid.<span style="color:#006600">constants</span>.<span style="color:#006600">base85</span>,Â  <span style="color:#009900;font-style:italic">// or you could say &quot;abc&quot; if you only wanted those chars to appear</span></div>
</li>
<li style="font-weight:bold;color:#26536A">
<div style="color:#000000;font-family:&#39;Courier New&#39;, Courier, monospace;font-weight:normal">Â  Â  Â  Â  epoch: <span style="color:#3366CC">&#8220;June 1, 2003&#8243;</span>,</div>
</li>
<li style="font-family:&#39;Courier New&#39;, Courier, monospace;color:black;font-weight:normal;font-style:normal;color:#3A6A8B">
<div style="color:#000000;font-family:&#39;Courier New&#39;, Courier, monospace;font-weight:normal">Â  Â  Â  Â  counterSequenceLength: <span style="color:#800000">2</span>, <span style="color:#009900;font-style:italic">// a counter field appended to the end</span></div>
</li>
<li style="font-weight:bold;color:#26536A">
<div style="color:#000000;font-family:&#39;Courier New&#39;, Courier, monospace;font-weight:normal">Â  Â  Â  Â  randomSequenceLength: <span style="color:#800000">2</span> <span style="color:#009900;font-style:italic">// a random field appended to the end</span></div>
</li>
<li style="font-family:&#39;Courier New&#39;, Courier, monospace;color:black;font-weight:normal;font-style:normal;color:#3A6A8B">
<div style="color:#000000;font-family:&#39;Courier New&#39;, Courier, monospace;font-weight:normal">Â  <span style="color:#006600;font-weight:bold">}</span></div>
</li>
<li style="font-weight:bold;color:#26536A">
<div style="color:#000000;font-family:&#39;Courier New&#39;, Courier, monospace;font-weight:normal"><span style="color:#006600;font-weight:bold">)</span>;</div>
</li>
<li style="font-family:&#39;Courier New&#39;, Courier, monospace;color:black;font-weight:normal;font-style:normal;color:#3A6A8B">
<div style="color:#000000;font-family:&#39;Courier New&#39;, Courier, monospace;font-weight:normal">Â </div>
</li>
</ol>
</div>
</div>
</div>
<p>He is working on 128-bit support.</p>
</blockquote>
<div>
<a href="http://feeds.feedburner.com/~f/ajaxian?a=44B6N"><img src="http://feeds.feedburner.com/~f/ajaxian?i=44B6N" border="0"/></a> <a href="http://feeds.feedburner.com/~f/ajaxian?a=8lSJN"><img src="http://feeds.feedburner.com/~f/ajaxian?i=8lSJN" border="0"/></a> <a href="http://feeds.feedburner.com/~f/ajaxian?a=TA3Yn"><img src="http://feeds.feedburner.com/~f/ajaxian?i=TA3Yn" border="0"/></a>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.glennmarcus.com/blog/2008/11/14/guid0-javascript-guids/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Great JavaScript and CSS Menu Libraries</title>
		<link>http://www.glennmarcus.com/blog/2008/10/21/great-javascript-and-css-menu-libraries/</link>
		<comments>http://www.glennmarcus.com/blog/2008/10/21/great-javascript-and-css-menu-libraries/#comments</comments>
		<pubDate>Tue, 21 Oct 2008 10:58:33 +0000</pubDate>
		<dc:creator>Dion Almaer</dc:creator>
				<category><![CDATA[ajax]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Front Page]]></category>
		<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">tag:google.com,2005:reader/item/5c35ae3eb3dbea1d</guid>
		<description><![CDATA[<p><img src="http://noupe.com/img/sexy-menu.gif"/></p>
<p>Noupe is doing a good job cataloging content, such as their post on <a href="http://www.noupe.com/css/13-awesome-java-script-css-menu.html">great JavaScript CSS menu libraries</a> which features:</p>
<ul>
<li><a href="http://www.andrewsellick.com/35/sexy-sliding-javascript-side-bar-menu-using-mootools">Sexy Sliding Menu</a> &#8211; Andrew Sellick decided to use mootools due to the smoothness of their effects, however, he developed a sliding menu using script.aculo.us</li>
<li><a href="http://labs.activespotlight.net/jQuery/menu_demo.html">FastFind Menu Script</a> &#8211; This script allows for nested menus, based on dynamic &#8220;AJAX&#8221; responses. The menu can also be dragged/dropped thanks to the <em>jQuery</em> Interface Library.</li>
<li>
</li>
<li><a href="http://2210media.com/dock_menu/">Webber 2.0 Dock Menu</a> &#8211; Great example of a dock type navigation.</li>
<li>
</li>
<li><a href="http://www.phatfusion.net">Phatfusion- Image Menu</a> &#8211; Image menu using javascript, onClick event keeps selected item open and to close it again.</li>
<li>
</li>
<li><a href="http://extjs.com/deploy/dev/examples/tree/reorder.html">Drag and Drop ordering in a TreePanel</a> &#8211; This example shows basic drag and drop node moving in a tree. In this implementation there are no restrictions and anything can be dropped anywhere except appending to nodes marked &#8220;leaf&#8221; (the files).</li>
<li>
</li>
<li><a href="http://www.thinkvitamin.com">Custom Menu Events</a> This is a combination of animation and custom events where <em>Think Vitamin</em> team show us how menu items sliding into view and firing off subscribable events using Yahoo! UI</li>
<li>
</li>
<li><a href="http://yura.thinkweb2.com/scripting/contextMenu/">Context Menu Functionality </a>This is a combination of animation and custom events where <em>Think Vitamin</em> team show us how menu items sliding into view and firing off subscribable events using Yahoo! UI.</li>
<li>
</li>
<li><a href="http://gmarwaha.com/blog/?p=7">LavaLamp jQuery Sliding Menu </a>It is a <em>jQuery </em>sliding nifty effect menu with light weight code and extra two more interface styles.</li>
<li>
</li>
<li><a href="http://www.dynamicdrive.com/dynamicindex1/slashdot.htm">Slashdot Menu- Dynamic Drive</a>This is a stylish collapsible menu modelled after the navigational menu found on Slashdot.</li>
<li>
</li>
<li><a href="http://www.artviper.eu/mootoolsmenu/">Mootools menu with Accordeon and Effects</a>This cool menu has a neat effect by hovering over the links, and opens a 2 level submenu&#8230;</li></ul>]]></description>
			<content:encoded><![CDATA[<p><img src="http://noupe.com/img/sexy-menu.gif"/></p>
<p>Noupe is doing a good job cataloging content, such as their post on <a href="http://www.noupe.com/css/13-awesome-java-script-css-menu.html">great JavaScript CSS menu libraries</a> which features:</p>
<ul>
<li><a href="http://www.andrewsellick.com/35/sexy-sliding-javascript-side-bar-menu-using-mootools">Sexy Sliding Menu</a> &#8211; Andrew Sellick decided to use mootools due to the smoothness of their effects, however, he developed a sliding menu using script.aculo.us</li>
<li><a href="http://labs.activespotlight.net/jQuery/menu_demo.html">FastFind Menu Script</a> &#8211; This script allows for nested menus, based on dynamic &#8220;AJAX&#8221; responses. The menu can also be dragged/dropped thanks to the <em>jQuery</em> Interface Library.</li>
<li>
</li>
<li><a href="http://2210media.com/dock_menu/">Webber 2.0 Dock Menu</a> &#8211; Great example of a dock type navigation.</li>
<li>
</li>
<li><a href="http://www.phatfusion.net">Phatfusion- Image Menu</a> &#8211; Image menu using javascript, onClick event keeps selected item open and to close it again.</li>
<li>
</li>
<li><a href="http://extjs.com/deploy/dev/examples/tree/reorder.html">Drag and Drop ordering in a TreePanel</a> &#8211; This example shows basic drag and drop node moving in a tree. In this implementation there are no restrictions and anything can be dropped anywhere except appending to nodes marked &#8220;leaf&#8221; (the files).</li>
<li>
</li>
<li><a href="http://www.thinkvitamin.com">Custom Menu Events</a> This is a combination of animation and custom events where <em>Think Vitamin</em> team show us how menu items sliding into view and firing off subscribable events using Yahoo! UI</li>
<li>
</li>
<li><a href="http://yura.thinkweb2.com/scripting/contextMenu/">Context Menu Functionality </a>This is a combination of animation and custom events where <em>Think Vitamin</em> team show us how menu items sliding into view and firing off subscribable events using Yahoo! UI.</li>
<li>
</li>
<li><a href="http://gmarwaha.com/blog/?p=7">LavaLamp jQuery Sliding Menu </a>It is a <em>jQuery </em>sliding nifty effect menu with light weight code and extra two more interface styles.</li>
<li>
</li>
<li><a href="http://www.dynamicdrive.com/dynamicindex1/slashdot.htm">Slashdot Menu- Dynamic Drive</a>This is a stylish collapsible menu modelled after the navigational menu found on Slashdot.</li>
<li>
</li>
<li><a href="http://www.artviper.eu/mootoolsmenu/">Mootools menu with Accordeon and Effects</a>This cool menu has a neat effect by hovering over the links, and opens a 2 level submenu with an accordeon.</li>
<li>
</li>
<li><a href="http://www.ndesign-studio.com/blog/mac/css-dock-menu">CSS Dock Menu</a> If you are a big Mac fan, you will love this CSS dock menu that Nick La designed. It is using <em>Jquery</em> Javascript library and <em>Fisheye</em> component from Interface and some of their icons.</li>
<li>
</li>
<li><a href="http://www.getintothis.com/pub/projects/rb_menu/">jQuery Plugin: Sliding Menu</a> A very simple sliding menu using the effects provided by the Interface plugin.</li>
<li>
</li>
<li><a href="http://www.456bereastreet.com/archive/200705/accessible_expanding_and_collapsing_menu/">Accessible expanding and collapsing menu</a></li>
<li>
</li>
</ul>
<div>
<a href="http://feeds.feedburner.com/~f/ajaxian?a=FWS8M"><img src="http://feeds.feedburner.com/~f/ajaxian?i=FWS8M" border="0"/></a> <a href="http://feeds.feedburner.com/~f/ajaxian?a=iSvDM"><img src="http://feeds.feedburner.com/~f/ajaxian?i=iSvDM" border="0"/></a> <a href="http://feeds.feedburner.com/~f/ajaxian?a=U6wGm"><img src="http://feeds.feedburner.com/~f/ajaxian?i=U6wGm" border="0"/></a>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.glennmarcus.com/blog/2008/10/21/great-javascript-and-css-menu-libraries/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using JavaScript to make things work</title>
		<link>http://www.glennmarcus.com/blog/2008/10/15/using-javascript-to-make-things-work/</link>
		<comments>http://www.glennmarcus.com/blog/2008/10/15/using-javascript-to-make-things-work/#comments</comments>
		<pubDate>Wed, 15 Oct 2008 10:31:21 +0000</pubDate>
		<dc:creator>Dion Almaer</dc:creator>
				<category><![CDATA[ajax]]></category>
		<category><![CDATA[Front Page]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">tag:google.com,2005:reader/item/f5be38e595dd1c0b</guid>
		<description><![CDATA[<p>An interesting top 12 list has been published, on <a href="http://www.noupe.com/css/using-javascript-to-fix-12-common-browser-headaches.html">using Javascript to fix 12 common browser headaches</a>:</p>
<p><img src="http://noupe.com/img/jquery9.jpg"/></p>
<ol>
<li>Setting Equal Heights (jQuery example: <code>$("#col1, #col2").equalizeCols();</code>)</li>
<li>IE6 PNG Alpha Transperancy support</li>
<li>Changing CSS Classes in JavaScript</li>
<li>Browser selectors in CSS (<code>$('html').addClass($.browser);</code>)</li>
<li>min-/max- height &#38; width support</li>
<li>Center Elements Vertically / Horizontally</li>
<li>Display Q tags in Internet Explorer</li>
<li>Increase the size of click targets and get more call-to-action conversions</li>
<li>Lazy loader</li>
<li>bgiframe: Helps ease the pain when having to deal with IE z-index issues.</li>
<li>ieFixButtons: fixes the buggy behavior of the  element in Internet Explorer 6 and 7</li>
<li>Fix Overflow</li>
</ol>
<p>As you will see, most of the solutions are jQuery plugins, but you could roll your own.</p>
<div>
<a href="http://feeds.feedburner.com/~f/ajaxian?a=3axzM"><img src="http://feeds.feedburner.com/~f/ajaxian?i=3axzM" border="0"/></a> <a href="http://feeds.feedburner.com/~f/ajaxian?a=sNHAM"><img src="http://feeds.feedburner.com/~f/ajaxian?i=sNHAM" border="0"/></a> <a href="http://feeds.feedburner.com/~f/ajaxian?a=wyEhm"><img src="http://feeds.feedburner.com/~f/ajaxian?i=wyEhm" border="0"/></a>
</div>
]]></description>
			<content:encoded><![CDATA[<p>An interesting top 12 list has been published, on <a href="http://www.noupe.com/css/using-javascript-to-fix-12-common-browser-headaches.html">using Javascript to fix 12 common browser headaches</a>:</p>
<p><img src="http://noupe.com/img/jquery9.jpg"/></p>
<ol>
<li>Setting Equal Heights (jQuery example: <code>$("#col1, #col2").equalizeCols();</code>)</li>
<li>IE6 PNG Alpha Transperancy support</li>
<li>Changing CSS Classes in JavaScript</li>
<li>Browser selectors in CSS (<code>$('html').addClass($.browser);</code>)</li>
<li>min-/max- height &amp; width support</li>
<li>Center Elements Vertically / Horizontally</li>
<li>Display Q tags in Internet Explorer</li>
<li>Increase the size of click targets and get more call-to-action conversions</li>
<li>Lazy loader</li>
<li>bgiframe: Helps ease the pain when having to deal with IE z-index issues.</li>
<li>ieFixButtons: fixes the buggy behavior of the  element in Internet Explorer 6 and 7</li>
<li>Fix Overflow</li>
</ol>
<p>As you will see, most of the solutions are jQuery plugins, but you could roll your own.</p>
<div>
<a href="http://feeds.feedburner.com/~f/ajaxian?a=3axzM"><img src="http://feeds.feedburner.com/~f/ajaxian?i=3axzM" border="0"/></a> <a href="http://feeds.feedburner.com/~f/ajaxian?a=sNHAM"><img src="http://feeds.feedburner.com/~f/ajaxian?i=sNHAM" border="0"/></a> <a href="http://feeds.feedburner.com/~f/ajaxian?a=wyEhm"><img src="http://feeds.feedburner.com/~f/ajaxian?i=wyEhm" border="0"/></a>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.glennmarcus.com/blog/2008/10/15/using-javascript-to-make-things-work/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Practical Functional JavaScript</title>
		<link>http://www.glennmarcus.com/blog/2008/10/03/practical-functional-javascript/</link>
		<comments>http://www.glennmarcus.com/blog/2008/10/03/practical-functional-javascript/#comments</comments>
		<pubDate>Fri, 03 Oct 2008 15:11:13 +0000</pubDate>
		<dc:creator>Dion Almaer</dc:creator>
				<category><![CDATA[ajax]]></category>
		<category><![CDATA[Front Page]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[The Ajax Experience]]></category>

		<guid isPermaLink="false">tag:google.com,2005:reader/item/9cbfb9b058a79f24</guid>
		<description><![CDATA[<p>Oliver Steele <a href="http://osteele.com/archives/2008/10/code-samples-from-practical-functional-javascript">gave a great talk</a> at The Ajax Experience this week on <a href="http://osteele.com/talks/ajaxian-2008/samples/">Practical Functional JavaScript</a>.</p>
<p>For his talk, he ended up creating a samples application where you can run the code directly, very similar to what John Resig did in Learn JavaScript.</p>
<p>The samples take you through JavaScript world, stopping for:</p>
<ul>
<li><a href="http://osteele.com/talks/ajaxian-2008/samples/callbacks-1.js.html">Callbacks</a></li>
<li><a href="http://osteele.com/talks/ajaxian-2008/samples/functions-1.js.html">Functions</a></li>
<li><a href="http://osteele.com/talks/ajaxian-2008/samples/closures-1.js.html">Closures</a></li>
<li><a href="http://osteele.com/talks/ajaxian-2008/samples/idioms-1.js.html">Idioms</a></li>
<li><a href="http://osteele.com/talks/ajaxian-2008/samples/throttling-1.js.html">Throttling</a></li>
<li><a href="http://osteele.com/talks/ajaxian-2008/samples/caching-1.js.html">Caching</a></li>
<li><a href="http://osteele.com/talks/ajaxian-2008/samples/retry-1.js.html">Retry</a></li>
</ul>
<div>
<a href="http://feeds.feedburner.com/~f/ajaxian?a=qMkHM"><img src="http://feeds.feedburner.com/~f/ajaxian?i=qMkHM" border="0"/></a> <a href="http://feeds.feedburner.com/~f/ajaxian?a=pFV7M"><img src="http://feeds.feedburner.com/~f/ajaxian?i=pFV7M" border="0"/></a> <a href="http://feeds.feedburner.com/~f/ajaxian?a=EXjTm"><img src="http://feeds.feedburner.com/~f/ajaxian?i=EXjTm" border="0"/></a>
</div>
]]></description>
			<content:encoded><![CDATA[<p>Oliver Steele <a href="http://osteele.com/archives/2008/10/code-samples-from-practical-functional-javascript">gave a great talk</a> at The Ajax Experience this week on <a href="http://osteele.com/talks/ajaxian-2008/samples/">Practical Functional JavaScript</a>.</p>
<p>For his talk, he ended up creating a samples application where you can run the code directly, very similar to what John Resig did in Learn JavaScript.</p>
<p>The samples take you through JavaScript world, stopping for:</p>
<ul>
<li><a href="http://osteele.com/talks/ajaxian-2008/samples/callbacks-1.js.html">Callbacks</a></li>
<li><a href="http://osteele.com/talks/ajaxian-2008/samples/functions-1.js.html">Functions</a></li>
<li><a href="http://osteele.com/talks/ajaxian-2008/samples/closures-1.js.html">Closures</a></li>
<li><a href="http://osteele.com/talks/ajaxian-2008/samples/idioms-1.js.html">Idioms</a></li>
<li><a href="http://osteele.com/talks/ajaxian-2008/samples/throttling-1.js.html">Throttling</a></li>
<li><a href="http://osteele.com/talks/ajaxian-2008/samples/caching-1.js.html">Caching</a></li>
<li><a href="http://osteele.com/talks/ajaxian-2008/samples/retry-1.js.html">Retry</a></li>
</ul>
<div>
<a href="http://feeds.feedburner.com/~f/ajaxian?a=qMkHM"><img src="http://feeds.feedburner.com/~f/ajaxian?i=qMkHM" border="0"/></a> <a href="http://feeds.feedburner.com/~f/ajaxian?a=pFV7M"><img src="http://feeds.feedburner.com/~f/ajaxian?i=pFV7M" border="0"/></a> <a href="http://feeds.feedburner.com/~f/ajaxian?a=EXjTm"><img src="http://feeds.feedburner.com/~f/ajaxian?i=EXjTm" border="0"/></a>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.glennmarcus.com/blog/2008/10/03/practical-functional-javascript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

