<?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>Ajaxian &#187; jQuery</title>
	<atom:link href="http://ajaxian.com/by/topic/jquery/feed" rel="self" type="application/rss+xml" />
	<link>http://ajaxian.com</link>
	<description>Cleaning up the web with Ajax</description>
	<lastBuildDate>Tue, 22 May 2012 21:45:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
    	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>A simple random bit on var selector</title>
		<link>http://ajaxian.com/archives/a-simple-random-bit-on-var-selector</link>
		<comments>http://ajaxian.com/archives/a-simple-random-bit-on-var-selector#comments</comments>
		<pubDate>Wed, 10 Aug 2011 00:26:21 +0000</pubDate>
		<dc:creator>jvaughan</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Front Page]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://ajaxian.com/?p=10719</guid>
		<description><![CDATA[Isobar&#8217;s Rob Larsen suggests that there is often a need to build CSS selectors dynamically when building applications. &#8221;This is typically some existing pattern paired with a loop counter or something pulled from a data attribute,&#8221; he writes on his blog. His choice is to create a variable called &#8221;selector&#8221; and &#8221;to craft the selector <a href="http://ajaxian.com/archives/a-simple-random-bit-on-var-selector">Read the rest...</a>]]></description>
			<content:encoded><![CDATA[<p>Isobar&#8217;s Rob Larsen suggests that there is often a need to build CSS selectors dynamically when building applications. &#8221;This is typically some existing pattern paired with a loop counter or something pulled from a data attribute,&#8221; he writes on his <a href="http://htmlcssjavascript.com/javascript/var-selector/">blog</a>. His choice is to create a variable called &#8221;selector&#8221; and &#8221;to craft the selector on its own line.&#8221; This is then passed into jQuery. He shows <a href="http://htmlcssjavascript.com/javascript/var-selector/">a simple example</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://ajaxian.com/archives/a-simple-random-bit-on-var-selector/feed</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>jQuery Mobile Alpha 3 released</title>
		<link>http://ajaxian.com/archives/jquery-mobile-alpha-3-released</link>
		<comments>http://ajaxian.com/archives/jquery-mobile-alpha-3-released#comments</comments>
		<pubDate>Sat, 05 Mar 2011 02:13:20 +0000</pubDate>
		<dc:creator>jvaughan</dc:creator>
				<category><![CDATA[Front Page]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Mobile]]></category>

		<guid isPermaLink="false">http://ajaxian.com/?p=10534</guid>
		<description><![CDATA[jQuery Mobile Alpha 3 increases browser support to include Firefox Mobile, Opera Mobile / Mini. Improvements reported on support for iOS, Android, BlackBerry 6, and Palm WebOS. Moreover, the Ajax navigation system has been … deeply re-factored to improve performance and handle more edge cases. This includes event handling for click, submit, and hashchange, all <a href="http://ajaxian.com/archives/jquery-mobile-alpha-3-released">Read the rest...</a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://jquerymobile.com/2011/02/jquery-mobile-alpha-3-released/">jQuery Mobile Alpha 3</a> increases browser support to include Firefox Mobile, Opera Mobile / Mini. Improvements reported on support for iOS, Android, BlackBerry 6, and Palm WebOS. Moreover, the Ajax navigation system has been …</p>
<blockquote><p>deeply re-factored to improve performance and handle more edge cases. This includes event handling for click, submit, and hashchange, all of the base tag management, path management, active link class handling, etc. and better support for dialogs.</p>
</blockquote>
<p>Individuals have noted some <a href="http://forum.jquery.com/topic/breaking-changes-in-alpha-3-dialogs">breaking changes</a>  relative to early revs.</p>
]]></content:encoded>
			<wfw:commentRss>http://ajaxian.com/archives/jquery-mobile-alpha-3-released/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jQuery Data Binding, Templates, and Mobile: John Resig at FOWA</title>
		<link>http://ajaxian.com/archives/jquery-data-binding-templates-and-mobile-john-resig-at-fowa</link>
		<comments>http://ajaxian.com/archives/jquery-data-binding-templates-and-mobile-john-resig-at-fowa#comments</comments>
		<pubDate>Tue, 05 Oct 2010 15:35:03 +0000</pubDate>
		<dc:creator>Michael Mahemoff</dc:creator>
				<category><![CDATA[Front Page]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://ajaxian.com/?p=10396</guid>
		<description><![CDATA[Here's a live blog from jQuery creator John Resig's talk at FOWA, where he's giving us an update on the new toys from the jQuery team. Data Link jQuery already supports a data API: PLAIN TEXT JAVASCRIPT: &#160; $&#40;"div"&#41;.data&#40;"test", 5&#41;; $&#40;"div"&#41;.data&#40;"test"&#41;===5; $&#40;"div"&#41;.removeData&#40;&#41;; &#160; This is better than attaching data directly to data nodes for various <a href="http://ajaxian.com/archives/jquery-data-binding-templates-and-mobile-john-resig-at-fowa">Read the rest...</a>]]></description>
			<content:encoded><![CDATA[<p>Here's a live blog from jQuery creator John Resig's talk at FOWA, where he's giving us an update on the <a href="http://blog.jquery.com/2010/10/04/new-official-jquery-plugins-provide-templating-data-linking-and-globalization/">new</a> <a href="http://jquerymobile.com/">toys</a> from the jQuery team.</p>
<p><a href="http://ajaxian.com/wp-content/images/resig.jpg"><img src="http://ajaxian.com/wp-content/images/resig.jpg" alt="" title="resig" width="300" height="450" class="alignnone size-full wp-image-10400" /></a></p>
<h3>Data Link</h3>
<p>jQuery already supports a data API:</p>
<div class="igBar"><a href="javascript:showCodeTxt('javascript-6');">PLAIN TEXT</a></div>
<div class="syntax_hilite"><span style="color:#000000; font-weight:bold;">JAVASCRIPT:</span>
<div id="javascript-6">
<div class="javascript">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">$<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #3366CC;">"div"</span><span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color: #006600;">data</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #3366CC;">"test"</span>, <span style="color:#800000;">5</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">$<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #3366CC;">"div"</span><span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color: #006600;">data</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #3366CC;">"test"</span><span style="color:#006600; font-weight:bold;">&#41;</span>===<span style="color:#800000;">5</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">$<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #3366CC;">"div"</span><span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color: #006600;">removeData</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
</ol>
</div>
</div>
</div>
<p>This is better than attaching data directly to data nodes for various reasons, e.g. storing non-string data and improving performance. And it also avoids memory leaks - when you remove an element, jQuery removes everything. Looking towards jQuery 1.4.3, the project had to decide if they want to remove data events, and they decided to keep them and make them more useful.</p>
<p>The <a href="http://api.jquery.com/category/plugins/data-link/">new data linking plugin</a>, developed in conjunction with Microsoft and released yesterday, supports binding between DOM objects and elements. Binding from an object to a form element looks like this:</p>
<div class="igBar"><a href="javascript:showCodeTxt('javascript-7');">PLAIN TEXT</a></div>
<div class="syntax_hilite"><span style="color:#000000; font-weight:bold;">JAVASCRIPT:</span>
<div id="javascript-7">
<div class="javascript">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #003366; font-weight: bold;">var</span> user = <span style="color: #003366; font-weight: bold;">new</span> User<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">$<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #3366CC;">"form"</span><span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color: #006600;">link</span><span style="color:#006600; font-weight:bold;">&#40;</span>user, <span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; firstName: <span style="color: #3366CC;">"first-name"</span>, </div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; lastName: <span style="color: #3366CC;">"last-name"</span>, </div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#006600; font-weight:bold;">&#125;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
</ol>
</div>
</div>
</div>
<p>Whenever "first-name" or "last-name" elements are updated, the form element is updated. You can also bind in the opposite direction, so that a form element changes when you change an object.</p>
<p><a href="http://github.com/jquery/jquery-datalink">More info on GitHub</a>.</p>
<h3>Templating</h3>
<p>Templating has become a big deal in Javascript, and there's now an official <a href="http://api.jquery.com/category/plugins/templates/">jQuery templating plugin</a>, also released yesterday, which John tells me has a good chance of being integrated into the core at some point. John told me his <a href="http://ejohn.org/blog/javascript-micro-templating/">original Micro-Templating library</a> was considered at one point, but the new templating is more refined.</p>
<div class="igBar"><a href="javascript:showCodeTxt('javascript-8');">PLAIN TEXT</a></div>
<div class="syntax_hilite"><span style="color:#000000; font-weight:bold;">JAVASCRIPT:</span>
<div id="javascript-8">
<div class="javascript">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">$<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #3366CC;">"#test"</span><span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color: #006600;">append</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #3366CC;">"&lt;li&gt;&lt;em&gt;${name}&lt;/em&gt;&lt;/li&gt;"</span>, <span style="color: #3366CC;">"john"</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
</ol>
</div>
</div>
</div>
<p>Pre-compiling template strings is possible too:</p>
<div class="igBar"><a href="javascript:showCodeTxt('javascript-9');">PLAIN TEXT</a></div>
<div class="syntax_hilite"><span style="color:#000000; font-weight:bold;">JAVASCRIPT:</span>
<div id="javascript-9">
<div class="javascript">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #003366; font-weight: bold;">var</span> data = <span style="color:#006600; font-weight:bold;">&#123;</span> firstName: <span style="color: #3366CC;">"John"</span> <span style="color:#006600; font-weight:bold;">&#125;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">$<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #3366CC;">"#item"</span><span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color: #006600;">tmp</span><span style="color:#006600; font-weight:bold;">&#40;</span>data<span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color: #006600;">appendTo</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #3366CC;">"ul"</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&lt;script id=<span style="color: #3366CC;">"item"</span> type=<span style="color: #3366CC;">"text/html"</span>&gt;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &lt;li&gt;$<span style="color:#006600; font-weight:bold;">&#40;</span>firstName<span style="color:#006600; font-weight:bold;">&#125;</span>&lt;/li&gt;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&lt;/script&gt;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
</ol>
</div>
</div>
</div>
<p>The most interesting feature is that elements retain the data that made them - you can ask an element "what data did you come from"?</p>
<div class="igBar"><a href="javascript:showCodeTxt('javascript-10');">PLAIN TEXT</a></div>
<div class="syntax_hilite"><span style="color:#000000; font-weight:bold;">JAVASCRIPT:</span>
<div id="javascript-10">
<div class="javascript">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #003366; font-weight: bold;">var</span> lastTemplateItem = $<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #3366CC;">".movieName:last"</span><span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color: #006600;">tmplItem</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #003366; font-weight: bold;">var</span> movie = lastTemplateItem.<span style="color: #006600;">data</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #003366; font-weight: bold;">var</span> htmlNodes = lastTemplateItem.<span style="color: #006600;">nodes</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
</ol>
</div>
</div>
</div>
<p>John argues that developers try to create too much abstraction between HTML and the data model. At least in the client, the DOM "is everywhere" and you should be okay with storing your data against it.</p>
<p><a href="http://github.com/jquery/jquery-tmpl">More info on GitHub.</a></p>
<h3>jQuery Mobile</h3>
<p><a href="http://jquerymobile.com/">jQuery Mobile</a>, under development, aims for broad mobile browser support, which also means a high regard for progressive enhancement. John explains the need to target multiple mobile browsers by focusing on BlackBerry. Why support BlackBerry? Among other things, BlackBerry mobile traffic is rising (<a href="http://gs.statcounter.com/#mobile_browser-ww-monthly-200909-201009">he shows this stat of 10% growth in the past 12 months</a>), your boss probably views your apps in it, and targeting one mobile browser is like targeting one desktop browser. (i.e. wrong.)</p>
<p>With most mobile browsers, there's a big problem: You can't do fixed positioning - John says it's just been added in Android 2.2, but not there in earlier Android, iPhone, etc. Some frameworks have done the complete simulation of scrolling to get around this, but it leads to massive amounts of code and doesn't work right - the subtle UI issues it causes are very noticeable.</p>
<p>Considering it unacceptable to simulate scrolling, jQuery Mboile always uses native scrolling. e.g. to show a select menu, it simply hides the rest of the page and makes the select list occupy the entire page.</p>
<p>There are toolbars available - user clicks to show and hide them, and it works nicely because it supports native scrolling. While you're scrolling, the toolbars are hidden, and they show again when the scroll action is complete (if they were cvisible before the scroll action began). </p>
<p>Developers can detect the various touch events:</p>
<p>taphold<br />
tap<br />
swipeleft<br />
swiperight<br />
swipe</p>
<h3>Web Roundup</h3>
<p>John finishes off with some highlights on the web in general:</p>
<ul>
<li>Performance improvements (showing <a href="http://arewefastyet.com/">Are We There Yet?</a>)</li>
<li>Web GL (he shows <a href="http://people.mozilla.com/~sicking/webgl/ray.html">this ray-tracing </a><a href="http://ajaxian.com/wp-content/images/resig.jpg"></a>)</li>
<li>Audio (he shows <a href="http://www.nihilogic.dk/labs/pocket_full_of_canvas/">some Nihlogic magic</a> and <a href="http://cubicvr.org/CubicVR.js/bd3/BeatDetektor4HD.html">the Beat Detektor</a>).</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://ajaxian.com/archives/jquery-data-binding-templates-and-mobile-john-resig-at-fowa/feed</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>Glimmer: Visual Builder for JQuery Animations</title>
		<link>http://ajaxian.com/archives/glimmer-visual-builder-for-jquery-animations</link>
		<comments>http://ajaxian.com/archives/glimmer-visual-builder-for-jquery-animations#comments</comments>
		<pubDate>Tue, 17 Aug 2010 10:00:19 +0000</pubDate>
		<dc:creator>Brad Neuberg</dc:creator>
				<category><![CDATA[Front Page]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Library]]></category>

		<guid isPermaLink="false">http://ajaxian.com/?p=9947</guid>
		<description><![CDATA[From Tim Aidlin over at Microsoft comes a tutorial on using JQuery to do animation. The tutorial is focused on using a new library they have designed called Glimmer that allows designers and developers to create interactive elements and animations on web pages using JQuery. Using Glimmer you setup your HTML and CSS and then <a href="http://ajaxian.com/archives/glimmer-visual-builder-for-jquery-animations">Read the rest...</a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://ajaxian.com/wp-content/images/glimmer2.png"><img src="http://ajaxian.com/wp-content/images/glimmer2.png" alt="" title="glimmer2" width="947" height="375" class="aligncenter size-full wp-image-9949" /></a></p>
<p>From Tim Aidlin over at Microsoft <a href="http://visitmix.com/LabNotes/Using-jQuery-to-animate-a-Hero">comes a tutorial on using JQuery to do animation</a>. The tutorial is focused on using a new library they have designed called <a href="http://visitmix.com/labs/glimmer/">Glimmer</a> that allows designers and developers to create interactive elements and animations on web pages using JQuery. Using Glimmer you setup your HTML and CSS and then use the visual Glimmer tool to create animations and other effects:</p>
<p><a href="http://ajaxian.com/wp-content/images/glimmer1.jpg"><img src="http://ajaxian.com/wp-content/images/glimmer1.jpg" alt="" title="glimmer1" width="327" height="455" class="aligncenter size-full wp-image-9948" /></a></p>
<p>The Glimmer tool then generates JQuery JavaScript automatically that you can pull into your page. An example snippet:</p>
<div class="igBar"><a href="javascript:showCodeTxt('javascript-12');">PLAIN TEXT</a></div>
<div class="syntax_hilite"><span style="color:#000000; font-weight:bold;">JAVASCRIPT:</span>
<div id="javascript-12">
<div class="javascript">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">jQuery<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color:#006600; font-weight:bold;">&#40;</span>$<span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #003366; font-weight: bold;">var</span> timer;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #003366; font-weight: bold;">function</span> clear_canvas<span style="color:#006600; font-weight:bold;">&#40;</span>event<span style="color:#006600; font-weight:bold;">&#41;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">clearTimeout<span style="color:#006600; font-weight:bold;">&#40;</span>timer<span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">timer = setTimeout<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #000066; font-weight: bold;">eval</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #3366CC;">"big_guy_in"</span><span style="color:#006600; font-weight:bold;">&#41;</span>,<span style="color: #3366CC;">"600"</span><span style="color:#006600; font-weight:bold;">&#41;</span>;$<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #3366CC;">"#slide1text"</span><span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color: #006600;">css</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #3366CC;">"left"</span>,<span style="color: #3366CC;">"-800px"</span><span style="color:#006600; font-weight:bold;">&#41;</span>;$<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #3366CC;">"#slide1text"</span><span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color: #006600;">animate</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#123;</span><span style="color: #3366CC;">"left"</span>:<span style="color:#800000;">0</span><span style="color:#006600; font-weight:bold;">&#125;</span>,<span style="color:#800000;">600</span>, <span style="color: #3366CC;">"easeOutElastic"</span>, <span style="color: #003366; font-weight: bold;">null</span><span style="color:#006600; font-weight:bold;">&#41;</span>;$<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #3366CC;">"#bigGuyPointing"</span><span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color: #006600;">css</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #3366CC;">"left"</span>,<span style="color: #3366CC;">"600px"</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">$<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #3366CC;">"#bigGuyPointing"</span><span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color: #006600;">animate</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#123;</span><span style="color: #3366CC;">"left"</span>:<span style="color:#800000;">600</span><span style="color:#006600; font-weight:bold;">&#125;</span>,<span style="color:#800000;">1000</span>, <span style="color: #3366CC;">"linear"</span>, <span style="color: #003366; font-weight: bold;">null</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">$<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #3366CC;">"#slide1"</span><span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color: #006600;">css</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #3366CC;">"display"</span>,<span style="color: #3366CC;">"block"</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">$<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #3366CC;">"#bigGuyPointing"</span><span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color: #006600;">animate</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#123;</span><span style="color: #3366CC;">"left"</span>:<span style="color:#800000;">600</span><span style="color:#006600; font-weight:bold;">&#125;</span>,<span style="color:#800000;">1000</span>, <span style="color: #3366CC;">"linear"</span>, <span style="color: #003366; font-weight: bold;">null</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#006600; font-weight:bold;">&#125;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
</ol>
</div>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://ajaxian.com/archives/glimmer-visual-builder-for-jquery-animations/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>jQuery Mobile Announced; Touch-Optimized Web Framework for Smartphones &amp; Tablets</title>
		<link>http://ajaxian.com/archives/jquery-mobile-announced-touch-optimized-web-framework-for-smartphones-tablets</link>
		<comments>http://ajaxian.com/archives/jquery-mobile-announced-touch-optimized-web-framework-for-smartphones-tablets#comments</comments>
		<pubDate>Sat, 14 Aug 2010 02:12:19 +0000</pubDate>
		<dc:creator>Dion Almaer</dc:creator>
				<category><![CDATA[Front Page]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Mobile]]></category>

		<guid isPermaLink="false">http://ajaxian.com/?p=9930</guid>
		<description><![CDATA[I have had the pleasure to start working with the awesome jQuery team on a new mobile development. Today, John announced jQuery Mobile, "a unified user interface system across all popular mobile device platforms, built on the rock-solid jQuery and jQuery UI foundation." Palm has sponsored the effort with other great folks, and I wrote <a href="http://ajaxian.com/archives/jquery-mobile-announced-touch-optimized-web-framework-for-smartphones-tablets">Read the rest...</a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://jquerymobile.com/"><img class="alignnone size-full wp-image-2131" src="http://developer.palm.com/blog/wp-content/uploads/2010/08/jquerymobile.png" alt="" width="406" height="377" /></a></p>
<p>I have had the pleasure to start working with the awesome jQuery team on a new mobile development. Today, <a href="http://jquerymobile.com/2010/08/announcing-the-jquery-mobile-project/">John announced jQuery Mobile</a>, "a unified user interface system across all popular mobile device platforms, built on the rock-solid jQuery and jQuery UI foundation."</p>
<p>Palm has sponsored the effort with other great folks, and I wrote about it <a href="http://developer.palm.com/blog/2010/08/jquery-mobile-announced-palm-excited-to-sponsor-the-effort/">over here</a>:</p>
<p>When we heard that the jQuery team was putting a lot of effort towards supporting their great library on devices, we wanted to help. At first we started with devices for John to test on as he explored compatibility, but with the <a href="http://jquerymobile.com/2010/08/announcing-the-jquery-mobile-project/">newly announced jQuery Mobile initiative</a>, we wanted to do more.</p>
<p>What are we doing? We are going to sponsor some of the great work that will go into jQuery Mobile from jQuery team members such as the <a href="http://www.filamentgroup.com/">Filament Group</a> who are well known for their work on jQuery UI and ThemeRoller. First and foremost, we want to allow the team to focus on making a great jQuery experience across the mobile Web.</p>
<p>Secondly, we will be working hard to make sure that webOS itself is a fantastic host for the product. This will mean testing help, and also some jQuery plugins that show off some of the great abilities of webOS (e.g. the notifications system) in a progressive way.</p>
<p>We are really excited to be working with the team as their launch into jQuery Mobile en force.</p>
<p>Here are some more details on the goals of jQuery Mobile from Mr. John Resig himself:</p>
<blockquote><p>"The jQuery project is really excited to announce the work that we’ve been doing to bring jQuery to mobile devices. Not only is the core jQuery library being improved to work across all of the major mobile platforms, but we’re also working to release a complete, unified, mobile UI framework.</p>
<p>Absolutely critical to us is that jQuery and the mobile UI framework that we’re developing work across all major international mobile platforms (not just a few of the most popular platforms in North America). We’ve published a complete <a href="http://jquerymobile.com/strategy/">strategy overview</a> detailing the work that we’re doing and a <a href="http://jquerymobile.com/gbs/">chart showing all the browsers that we’re going to support</a>.</p>
<p>Right now we're working hard, planning out the features that we want to land and doing testing against the devices that we want to support — and hoping for a release later this year.</p>
<p>If you wish to help, please join the discussion in the <a href="http://forum.jquery.com/jquery-mobile">jQuery Mobile Community</a>.</p>
<p>Our aim is to provide tools to build dynamic touch interfaces that will adapt gracefully to a range of device form factors. The system will include both layouts (lists, detail panes, overlays) and a rich set of form controls and UI widgets (toggles, sliders, tabs)."</p></blockquote>
<p>It has been enjoyable to see the great touch and mobile support that <a href="http://www.yuiblog.com/blog/2010/07/26/3-2-0pr1/">YUI 3.2 is adding</a>, and we look forward to hosting the Dojo team at Palm for one of their events. Sencha Touch and SproutCore are showing us that Web applications can feel like "native" apps on other platforms. All in all, the future for a cross platform Web application world is bright. We look forward to working with the entire community to make it happen.</p>
]]></content:encoded>
			<wfw:commentRss>http://ajaxian.com/archives/jquery-mobile-announced-touch-optimized-web-framework-for-smartphones-tablets/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>jQuery.fn.webkitTransform: bananas on the skew-whiff</title>
		<link>http://ajaxian.com/archives/jquery-fn-webkittransform-bananas-on-the-skew-whiff</link>
		<comments>http://ajaxian.com/archives/jquery-fn-webkittransform-bananas-on-the-skew-whiff#comments</comments>
		<pubDate>Wed, 30 Jun 2010 12:01:09 +0000</pubDate>
		<dc:creator>Dion Almaer</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Front Page]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://ajaxian.com/?p=9725</guid>
		<description><![CDATA[Franz Enzenhofer has created a nice new webkitTransform plugin that helps you manage transforms and state. Franz tells us more: With jQuery.css you can't easily change the webkitTransform CSS because webkitTransform is not your average CSS. If in one step you add .css('-webkit-transform', "rotate(20deg)") and in the next step .css('-webkit-transform', "scale(2.0)") the rotate value gets <a href="http://ajaxian.com/archives/jquery-fn-webkittransform-bananas-on-the-skew-whiff">Read the rest...</a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.facesaerch.com/banana.html"><img src="http://ajaxian.com/wp-content/images/bananacss3.png" alt="" title="bananacss3" width="690" height="425" class="alignnone size-full wp-image-9726" /></a></p>
<p>Franz Enzenhofer has created a nice new <a href="http://www.facesaerch.com/banana.html">webkitTransform</a> plugin that helps you manage transforms and state.</p>
<p>Franz tells us more:</p>
<blockquote><p>
With jQuery.css you can't easily change the webkitTransform CSS because webkitTransform is not your average CSS.</p>
<p>If in one step you add <code>.css('-webkit-transform', "rotate(20deg)")</code> and in the next step <code>.css('-webkit-transform', "scale(2.0)")</code> the rotate value gets reset, as you have rewritten the complete -webkit-transform CSS value. </p>
<p>You could use the WebKitCSSMatrix javascript element, but it's currently buggy, not consistently implemented and a pain to use. </p>
<p>Additionally you can't just retrieve the '-webkit-transform' css with .css('-webkit-transform') as this just gives a matrix code.</p>
<p>Our goal with webkitTransform() was to fix this problem. With it, every element you assign webkit-transform css with can be edited in a simple way, without resetting every other -webkit-transform values.</p>
<blockquote></blockquote>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://ajaxian.com/archives/jquery-fn-webkittransform-bananas-on-the-skew-whiff/feed</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>RequireJS 0.11 Released; Ready for jQuery</title>
		<link>http://ajaxian.com/archives/requirejs-011</link>
		<comments>http://ajaxian.com/archives/requirejs-011#comments</comments>
		<pubDate>Mon, 17 May 2010 05:11:03 +0000</pubDate>
		<dc:creator>Dion Almaer</dc:creator>
				<category><![CDATA[Front Page]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Library]]></category>

		<guid isPermaLink="false">http://ajaxian.com/?p=9311</guid>
		<description><![CDATA[James Burke is moving quickly with his RequireJS library. He recently posted about the requirements that John Resig has for a script loader for jQuery: script loading must be async script loading should do as much in parallel as possible. This means in particular, that it should be possible to avoid dynamic nested dependency loading. <a href="http://ajaxian.com/archives/requirejs-011">Read the rest...</a>]]></description>
			<content:encoded><![CDATA[<p>James Burke is moving quickly with his RequireJS library. He recently posted about the requirements that John Resig has for <a href="http://tagneto.blogspot.com/2010/04/require-for-jquery.html">a script loader for jQuery</a>:</p>
<ol>
<li>script loading must be async
</li>
<li>script loading should do as much in parallel as possible. This means in particular, that it should be possible to avoid dynamic nested dependency loading.
</li>
<li>it looks like a script wrapper is needed to allow #1 and #2 to work effectively, particularly for cross-domain loading. It is unfortunate, but a necessity for script loading in browsers.
</li>
</ol>
<p>With the <a href="http://tagneto.blogspot.com/2010/05/requirejs-0110-released.html">RequireJS 0.11.0 release</a> James feels like he has the features to make that real:</p>
<ul>
<li>There is a new <a href="http://requirejs.org/docs/faq-optimization.html#priority">priority config option</a> to indicate priority, parallel download of build layers.</li>
<li>A new <a href="http://requirejs.org/docs/api.html#jsonp">JSONP plugin</a> allows you to treat any JSONP service as dependency.</li>
<li>require.js should be Caja-compliant. The plugins may not be, but the main require.js file passed cajoling on <a href="http://caja.appspot.com/">http://caja.appspot.com/</a>.</li>
<li>Instructions and optimization support for <a href="http://requirejs.org/docs/faq-advanced.html#rename">renaming require()</a>.</li>
<li>There is a <a href="http://requirejs.org/docs/download.html#requirejstransportD">new RequireJS+Transport D download option</a> that supports the <a href="http://wiki.commonjs.org/wiki/Modules/Transport/D">CommonJS Transport D</a> proposal. This can be useful in conjunction with the server-side <a href="http://github.com/kriszyp/transporter">Transporter project</a>.</li>
</ul>
<p>James mentioned a server side scanning tool.... and Kyle Simpson (of <a href="http://labjs.com/">LABjs</a>) is almost ready to show something there too.</p>
]]></content:encoded>
			<wfw:commentRss>http://ajaxian.com/archives/requirejs-011/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>jQuery Micro Optimizations</title>
		<link>http://ajaxian.com/archives/jquery-micro-optimizations</link>
		<comments>http://ajaxian.com/archives/jquery-micro-optimizations#comments</comments>
		<pubDate>Thu, 29 Apr 2010 11:05:55 +0000</pubDate>
		<dc:creator>Dion Almaer</dc:creator>
				<category><![CDATA[Front Page]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://ajaxian.com/?p=9168</guid>
		<description><![CDATA[Corey Hart has a fun post on jQuery micro optimization tips by walking through the jQuery codebase to see what is running. Right away he notes that these are true micro optimizations, and to "use with caution and balance elegance with performance correctly." Chances are you are a lucky chap if these are the biggest <a href="http://ajaxian.com/archives/jquery-micro-optimizations">Read the rest...</a>]]></description>
			<content:encoded><![CDATA[<p>Corey Hart has a fun post on <a href="http://www.codenothing.com/archives/2010/8-jquery-micro-optimization-tips/">jQuery micro optimization tips</a> by walking through the jQuery codebase to see what is running.</p>
<p>Right away he notes that these are true micro optimizations, and to "use with caution and balance elegance with performance correctly." Chances are you are a lucky chap if these are the biggest issues for performance on your application!</p>
<p>The post is still interesting as it shows a lot of jQuery core itself. I would think that <a href="http://twitter.com/jdalton">Mr. "inline it" Dalton</a> would approve of some of these tips :)</p>
<ol>
<li>jQuery.root: Internally, all selectors that don't provide a context use jQuery( document ).find( selector ). Save yourself some ms, store the document root onto jQuery itself, and then run all global selectors off of that element.
</li>
<li>Context sucks, use find: Don't get me wrong, you should always run selections based on a context if possible. But passing in a context to the jQuery constructor creates an extra unneeded function call. Internally jQuery runs context.find( selector ) anyway, so skip that step
</li>
<li>Live is terrible, delegate is awesome: The best part: delegate is live with a context. So why is live a bad idea? To use live, you first have to run a selection on the page, and then bind the live handler.
</li>
<li>jQuery.data &gt; jQuery.fn.data: avoid jQuery(this)
</li>
<li>Bind and Trigger, get used to it: don't use the short cut methods, save a function call
</li>
<li>Each is evil: there is only one true reason to use each, and that is when a closure is needed for each item. If you are just looping through an array, then the callback function gets triggered on every iteration. So using an array of 25 items, the callback gets triggered 25 times.
</li>
<li>Classes over styles:  I would go so far as to say that using a class for a single style change is better than running through jQuery's style module.
</li>
<li>Object.length, use it: Every jQuery selection comes with a length property that defines how many elements were found. Always check to make sure that there is a set of elements in your object before running a chain of methods.
</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://ajaxian.com/archives/jquery-micro-optimizations/feed</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>&#8220;Visualize&#8221; data as graphs</title>
		<link>http://ajaxian.com/archives/visualize-data-as-graphs</link>
		<comments>http://ajaxian.com/archives/visualize-data-as-graphs#comments</comments>
		<pubDate>Fri, 16 Apr 2010 14:17:52 +0000</pubDate>
		<dc:creator>Dion Almaer</dc:creator>
				<category><![CDATA[Canvas]]></category>
		<category><![CDATA[Front Page]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://ajaxian.com/?p=8991</guid>
		<description><![CDATA[How do you visualize data in interesting ways but allow the data to be accessible for all? The jQuery Visualize work is the latest library that groks HTML and replaces the table with pretty graphs: The Visualize plugin parses key content elements in a well-structured HTML table, and leverages that native HTML5 canvas drawing ability <a href="http://ajaxian.com/archives/visualize-data-as-graphs">Read the rest...</a>]]></description>
			<content:encoded><![CDATA[<p>How do you visualize data in interesting ways but allow the data to be accessible for all? The <a href="http://www.filamentgroup.com/lab/update_to_jquery_visualize_accessible_charts_with_html5_from_designing_with/">jQuery Visualize</a> work is the latest library that groks HTML and replaces the table with pretty graphs:</p>
<blockquote><p>
The Visualize plugin parses key content elements in a well-structured HTML table, and leverages that native HTML5 canvas drawing ability to transform them into a chart or graph visualization. For example, table row data values serve as chart bars, lines or pie wedges; table headers become value and legend labels; and the title and caption values provide title labels within the image. Visualize also automatically checks for the highest and lowest values in the chart and uses them to calculate x-axis values for line and bar charts. Finally, the plugin includes two different CSS styles — one light and one dark — that can be used as is, or can serve as a starting point to customize chart and graph presentation to match any application style.
</p></blockquote>
<p><img src="http://ajaxian.com/wp-content/images/jvisualize.png" alt="jvisualize" title="jvisualize" width="480" height="619" class="alignnone size-full wp-image-8992" /></p>
<p>Someone pointed out that "accessible" means many things. If you have a 10,000 row table, it may not be easy to consume.... but hey!</p>
]]></content:encoded>
			<wfw:commentRss>http://ajaxian.com/archives/visualize-data-as-graphs/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jQuery Special Events; Virtually&#8230; not in Real Life</title>
		<link>http://ajaxian.com/archives/jquery-special-events-virtually-not-in-real-life</link>
		<comments>http://ajaxian.com/archives/jquery-special-events-virtually-not-in-real-life#comments</comments>
		<pubDate>Mon, 29 Mar 2010 20:08:34 +0000</pubDate>
		<dc:creator>Dion Almaer</dc:creator>
				<category><![CDATA[Front Page]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://ajaxian.com/?p=8814</guid>
		<description><![CDATA[Ben Alman has a mother of a post on his special events work for jQuery. I have a special penchant for custom events and the like, even though I have abused them just as I did in the old days of AOP! :) What are special events? The jQuery special events API is a fairly <a href="http://ajaxian.com/archives/jquery-special-events-virtually-not-in-real-life">Read the rest...</a>]]></description>
			<content:encoded><![CDATA[<p>Ben Alman has a <a href="http://benalman.com/news/2010/03/jquery-special-events/">mother of a post on his special events</a> work for jQuery. I have a special penchant for custom events and the like, even though I have abused them just as I did in the old days of AOP! :)</p>
<p>What are special events?</p>
<blockquote><p>
The jQuery special events API is a fairly flexible system by which you can specify bind and unbind hooks as well as default actions for custom events. In using this API, you can create custom events that do more than just execute bound event handlers when triggered—these “special” events can modify the event object passed to event handlers, trigger other entirely different events, or execute complex setup and teardown code when event handlers are bound to or unbound from elements.
</p></blockquote>
<p>He does into intrigue detail on the API and gets to show you how to implement the hello world of custom events: <a href="http://benalman.com/news/2010/03/jquery-special-events/#setup-and-teardown-tripleclick">tripleclick</a>:</p>
<div class="igBar"><a href="javascript:showCodeTxt('javascript-14');">PLAIN TEXT</a></div>
<div class="syntax_hilite"><span style="color:#000000; font-weight:bold;">JAVASCRIPT:</span>
<div id="javascript-14">
<div class="javascript">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color:#006600; font-weight:bold;">&#40;</span>$<span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; <span style="color: #009900; font-style: italic;">// A collection of elements to which the tripleclick event is bound.</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; <span style="color: #003366; font-weight: bold;">var</span> elems = $<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#006600; font-weight:bold;">&#93;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; <span style="color: #009900; font-style: italic;">// Click speed threshold, defaults to 500.</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; $.<span style="color: #006600;">tripleclickThreshold</span> = <span style="color:#800000;">500</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; <span style="color: #009900; font-style: italic;">// Special event definition.</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; $.<span style="color: #006600;">event</span>.<span style="color: #006600;">special</span>.<span style="color: #006600;">tripleclick</span> = <span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; setup: <span style="color: #003366; font-weight: bold;">function</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; <span style="color: #009900; font-style: italic;">// Initialize the element plugin data, including clicks counter and</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; <span style="color: #009900; font-style: italic;">// last-clicked timestamp.</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; $<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color: #006600;">data</span><span style="color:#006600; font-weight:bold;">&#40;</span> <span style="color: #3366CC;">'tripleclick'</span>, <span style="color:#006600; font-weight:bold;">&#123;</span> clicks: <span style="color:#800000;">0</span>, last: <span style="color:#800000;">0</span> <span style="color:#006600; font-weight:bold;">&#125;</span> <span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; <span style="color: #009900; font-style: italic;">// Add this element to the internal collection.</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; elems = elems.<span style="color: #006600;">add</span><span style="color:#006600; font-weight:bold;">&#40;</span> <span style="color: #000066; font-weight: bold;">this</span> <span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; <span style="color: #009900; font-style: italic;">// If this is the first element to which the event has been bound,</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; <span style="color: #009900; font-style: italic;">// bind a handler to document to catch all 'click' events.</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; <span style="color: #000066; font-weight: bold;">if</span> <span style="color:#006600; font-weight:bold;">&#40;</span> elems.<span style="color: #006600;">length</span> === <span style="color:#800000;">1</span> <span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; $<span style="color:#006600; font-weight:bold;">&#40;</span>document<span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color: #006600;">bind</span><span style="color:#006600; font-weight:bold;">&#40;</span> <span style="color: #3366CC;">'click'</span>, click_handler <span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; <span style="color:#006600; font-weight:bold;">&#125;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color:#006600; font-weight:bold;">&#125;</span>,</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; teardown: <span style="color: #003366; font-weight: bold;">function</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; <span style="color: #009900; font-style: italic;">// Remove all element plugin data.</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; $<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color: #006600;">removeData</span><span style="color:#006600; font-weight:bold;">&#40;</span> <span style="color: #3366CC;">'tripleclick'</span> <span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; <span style="color: #009900; font-style: italic;">// Remove this element from the internal collection.</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; elems = elems.<span style="color: #006600;">not</span><span style="color:#006600; font-weight:bold;">&#40;</span> <span style="color: #000066; font-weight: bold;">this</span> <span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; <span style="color: #009900; font-style: italic;">// If this is the last element removed, remove the document 'click'</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; <span style="color: #009900; font-style: italic;">// event handler that &quot;powers&quot; this special event.</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; <span style="color: #000066; font-weight: bold;">if</span> <span style="color:#006600; font-weight:bold;">&#40;</span> elems.<span style="color: #006600;">length</span> === <span style="color:#800000;">0</span> <span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; $<span style="color:#006600; font-weight:bold;">&#40;</span>document<span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color: #006600;">unbind</span><span style="color:#006600; font-weight:bold;">&#40;</span> <span style="color: #3366CC;">'click'</span>, click_handler <span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; <span style="color:#006600; font-weight:bold;">&#125;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color:#006600; font-weight:bold;">&#125;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; <span style="color:#006600; font-weight:bold;">&#125;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; <span style="color: #009900; font-style: italic;">// This function is executed every time an element is clicked.</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; <span style="color: #003366; font-weight: bold;">function</span> click_handler<span style="color:#006600; font-weight:bold;">&#40;</span> event <span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #003366; font-weight: bold;">var</span> elem = $<span style="color:#006600; font-weight:bold;">&#40;</span>event.<span style="color: #006600;">target</span><span style="color:#006600; font-weight:bold;">&#41;</span>,</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; <span style="color: #009900; font-style: italic;">// Get plugin data stored on the element.</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; data = elem.<span style="color: #006600;">data</span><span style="color:#006600; font-weight:bold;">&#40;</span> <span style="color: #3366CC;">'tripleclick'</span> <span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #009900; font-style: italic;">// If more than `threshold` time has passed since the last click, reset</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #009900; font-style: italic;">// the clicks counter.</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #000066; font-weight: bold;">if</span> <span style="color:#006600; font-weight:bold;">&#40;</span> event.<span style="color: #006600;">timeStamp</span> - data.<span style="color: #006600;">last</span>&gt; $.<span style="color: #006600;">tripleclickThreshold</span> <span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; data.<span style="color: #006600;">clicks</span> = <span style="color:#800000;">0</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color:#006600; font-weight:bold;">&#125;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #009900; font-style: italic;">// Update the element's last-clicked timestamp.</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; data.<span style="color: #006600;">last</span> = event.<span style="color: #006600;">timeStamp</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #009900; font-style: italic;">// Increment the clicks counter. If the counter has reached 3, trigger</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #009900; font-style: italic;">// the &quot;tripleclick&quot; event and reset the clicks counter to 0. Trigger</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #009900; font-style: italic;">// bound handlers using triggerHandler so the event doesn't propagate.</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #000066; font-weight: bold;">if</span> <span style="color:#006600; font-weight:bold;">&#40;</span> ++data.<span style="color: #006600;">clicks</span> === <span style="color:#800000;">3</span> <span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; elem.<span style="color: #006600;">trigger</span><span style="color:#006600; font-weight:bold;">&#40;</span> <span style="color: #3366CC;">'tripleclick'</span> <span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; data.<span style="color: #006600;">clicks</span> = <span style="color:#800000;">0</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color:#006600; font-weight:bold;">&#125;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; <span style="color:#006600; font-weight:bold;">&#125;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#006600; font-weight:bold;">&#125;</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#40;</span>jQuery<span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
</ol>
</div>
</div>
</div>
<p>There is a lot in his article, so give it a once over.</p>
]]></content:encoded>
			<wfw:commentRss>http://ajaxian.com/archives/jquery-special-events-virtually-not-in-real-life/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>jQuery UI 1.8 comes with new plugins, effect, and fixes</title>
		<link>http://ajaxian.com/archives/jquery-ui-1-8-comes-with-new-plugins-effect-and-fixes</link>
		<comments>http://ajaxian.com/archives/jquery-ui-1-8-comes-with-new-plugins-effect-and-fixes#comments</comments>
		<pubDate>Wed, 24 Mar 2010 05:16:17 +0000</pubDate>
		<dc:creator>Dion Almaer</dc:creator>
				<category><![CDATA[Front Page]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[jqueryui]]></category>

		<guid isPermaLink="false">http://ajaxian.com/?p=8773</guid>
		<description><![CDATA[jQuery UI 1.8 has been released and it contains new plugins, a new effect, bug fixes, and is forkable on GitHub What's new? Position utility Position any element relative to any other, or even relative to the window or the mouse. In true “Write Less. Do More” fashion, it’s a simple as selecting the element <a href="http://ajaxian.com/archives/jquery-ui-1-8-comes-with-new-plugins-effect-and-fixes">Read the rest...</a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.jqueryui.com/2010/03/jquery-ui-18/">jQuery UI 1.8 has been released</a> and it contains new plugins, a new effect, bug fixes, and is <a href="http://github.com/jquery/jquery-ui">forkable on GitHub</a></p>
<p><a style="font-size:larger" href="http://jqueryui.com/docs/Changelog/1.8">What's new?</a></p>
<blockquote><p>
<a href="http://jqueryui.com/demos/position/">Position utility</a></p>
<p>Position any element relative to any other, or even relative to the window or the mouse. In true “Write Less. Do More” fashion, it’s a simple as selecting the element you want and saying which part of it should be positioned relative to which part of another element. Bam.</p>
<p><a href="http://jqueryui.com/demos/button/">Button widget</a></p>
<p>The button widget creates a themable button from any imaginable element you might be using as a native button. Progressive enhancement all the way. Now your &lt;button&gt; will look like your &lt;input type=”submit”&gt; will look like your &lt;a class=”button”&gt;. We updated jQuery UI widgets that have buttons, such as Dialog, to use the button plugin when you’ve opted to include it. Otherwise, they’ll remain native button elements. Again thanks to PE this is as unobtrusive as possible. Thanks to Filament Group for figuring out how to do this and Jörn Zaefferer for making it happen. And of course the community as a whole for providing feedback during early design/dev and later dev/testing. We’re stoked about having pretty form elements, and button is the first step.</p>
<p><a href="http://jqueryui.com/demos/autocomplete/">Autocomplete widget</a></p>
<p>Now you can make any text input pop up a menu to aid the user in completing a text entry or search box, providing suggestions or allowed values. The autocomplete is designed and built based on the popular Jörn Zaefferer’s Autocomplete. As with the button widget we’ve kept the API as minimal as possible while providing the hooks necessary to customize it based on your needs. For example, you can provide static local data using the source option, or provide a callback function as the data source which can handle getting data from a server via Ajax. Single option, overloaded. This is the new way we’ll be writing and refactoring all of our widgets going forward, and we’re excited to hear what people think. It’s quite a change, but should keep the library lean while still as flexible and powerful as possible.
</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://ajaxian.com/archives/jquery-ui-1-8-comes-with-new-plugins-effect-and-fixes/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Spritely: sprite and pan away</title>
		<link>http://ajaxian.com/archives/spritely-sprite-and-pan-away</link>
		<comments>http://ajaxian.com/archives/spritely-sprite-and-pan-away#comments</comments>
		<pubDate>Mon, 22 Mar 2010 11:42:45 +0000</pubDate>
		<dc:creator>Dion Almaer</dc:creator>
				<category><![CDATA[Front Page]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Library]]></category>

		<guid isPermaLink="false">http://ajaxian.com/?p=8760</guid>
		<description><![CDATA[Spritely is a new jQuery plugin that adds sprite() and pan() to your $(). The fun front page of birds is explained with simple goodness of: PLAIN TEXT JAVASCRIPT: &#160; // animate through 3 frames $&#40;'#bird'&#41;.sprite&#40;&#123;fps: 12, no_of_frames: 3&#125;&#41;; &#160; // clicking on the screen flies a sprite to you $&#40;'#bird'&#41;.sprite&#40;&#123;fps: 12, no_of_frames: 3&#125;&#41;.activeOnClick&#40;&#41;.active&#40;&#41;; $&#40;'body'&#41;.flyToTap&#40;&#41;; <a href="http://ajaxian.com/archives/spritely-sprite-and-pan-away">Read the rest...</a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://ajaxian.com/wp-content/images/spritely.png" alt="spritely" title="spritely" width="480" height="215" class="alignnone size-full wp-image-8761"/></p>
<p><a href="http://www.spritely.net/">Spritely</a> is a new jQuery plugin that adds <code>sprite()</code> and <code>pan()</code> to your <code>$()</code>.</p>
<p>The fun front page of birds is <a href="http://www.spritely.net/documentation/">explained</a> with simple goodness of:</p>
<div class="igBar"><a href="javascript:showCodeTxt('javascript-16');">PLAIN TEXT</a></div>
<div class="syntax_hilite"><span style="color:#000000; font-weight:bold;">JAVASCRIPT:</span>
<div id="javascript-16">
<div class="javascript">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900; font-style: italic;">// animate through 3 frames</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">$<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #3366CC;">'#bird'</span><span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color: #006600;">sprite</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#123;</span>fps: <span style="color:#800000;">12</span>, no_of_frames: <span style="color:#800000;">3</span><span style="color:#006600; font-weight:bold;">&#125;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900; font-style: italic;">// clicking on the screen flies a sprite to you</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">$<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #3366CC;">'#bird'</span><span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color: #006600;">sprite</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#123;</span>fps: <span style="color:#800000;">12</span>, no_of_frames: <span style="color:#800000;">3</span><span style="color:#006600; font-weight:bold;">&#125;</span><span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color: #006600;">activeOnClick</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color: #006600;">active</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">$<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #3366CC;">'body'</span><span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color: #006600;">flyToTap</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900; font-style: italic;">// random movement</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">$<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #3366CC;">'#bird'</span><span style="color:#006600; font-weight:bold;">&#41;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; .<span style="color: #006600;">sprite</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#123;</span>fps: <span style="color:#800000;">8</span>, no_of_frames: <span style="color:#800000;">3</span><span style="color:#006600; font-weight:bold;">&#125;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; .<span style="color: #006600;">spRandom</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; top: <span style="color:#800000;">70</span>,</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; left: <span style="color:#800000;">100</span>,</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; right: <span style="color:#800000;">200</span>,</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; bottom: <span style="color:#800000;">340</span>,</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; speed: <span style="color:#800000;">4000</span>,</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; pause: <span style="color:#800000;">3000</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; <span style="color:#006600; font-weight:bold;">&#125;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
</ol>
</div>
</div>
</div>
<p>The library is very new with 0.1 stable and <a href="http://spritely.net/0.2-preview/">0.2 preview</a> out.</p>
<p>Also check out <a href="http://spritely.net/filipealcada/">this demo</a> and <a href="http://twitter.com/_spritely_">follow them</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://ajaxian.com/archives/spritely-sprite-and-pan-away/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Microsoft </title>
		<link>http://ajaxian.com/archives/microsoft-loves-jquery</link>
		<comments>http://ajaxian.com/archives/microsoft-loves-jquery#comments</comments>
		<pubDate>Tue, 16 Mar 2010 17:03:22 +0000</pubDate>
		<dc:creator>Dion Almaer</dc:creator>
				<category><![CDATA[Front Page]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Microsoft]]></category>

		<guid isPermaLink="false">http://ajaxian.com/?p=8734</guid>
		<description><![CDATA[Update: Here is a full set of release notes on the platform preview (called that as it is more of a shell than a browser. Rey Bango (Ajaxian and now Microsoft employee) will do a post that rounds up the news from MIX today where the IE9 team shared a first preview release of IE9 <a href="http://ajaxian.com/archives/microsoft-loves-jquery">Read the rest...</a>]]></description>
			<content:encoded><![CDATA[<p>Update: <a href="http://ie.microsoft.com/testdrive/info/releasenotes/">Here is a full set of release notes</a> on the platform preview (called that as it is more of a shell than a browser.</p>
<p>Rey Bango (Ajaxian and now Microsoft employee) will do a post that rounds up the news from MIX today where the IE9 team shared <a href="http://ie.microsoft.com/testdrive/">a first preview release of IE9</a> that comes with new features from HTML5+ (video, SVG, CSS3, addEventListener, JavaScript compilation spread across multicore, and more). All of this is hardware accelerated. Yum. Missing was news on canvas and I didn't see deets on CSS transforms and the like (which would be awesome with hardware acceleration too).</p>
<p>John Resig just got on stage to talk about the collaboration between jQuery and Microsoft and how Microsoft is now contribution resources and code. For example, <a href="http://forum.jquery.com/topic/jquery-templates-proposal">templates</a> (all on <a href="http://wiki.github.com/nje/jquery/jquery-templates-proposal">GitHub</a> which gives you:</p>
<div class="igBar"><a href="javascript:showCodeTxt('html-18');">PLAIN TEXT</a></div>
<div class="syntax_hilite"><span style="color:#000000; font-weight:bold;">HTML:</span>
<div id="html-18">
<div class="html">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><a href="http://december.com/html/4/element/script.html"><span style="color: #000000; font-weight: bold;">&lt;script</span></a> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">"text/javascript"</span><span style="color: #000000; font-weight: bold;">&gt;</span></a></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; var product = { name: &quot;Laptop&quot;, price: 788.67 };</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; $(showProduct);</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; function showProduct() {</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; $(&quot;#results&quot;).html( tmpl(&quot;productTemplate&quot;, product) );</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; }</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; function formatPrice(price) {</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; return &quot;$&quot; + price;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; }</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; </div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/script&gt;</span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><a href="http://december.com/html/4/element/script.html"><span style="color: #000000; font-weight: bold;">&lt;script</span></a> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">"text/html"</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">"productTemplate"</span><span style="color: #000000; font-weight: bold;">&gt;</span></a></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; Product Name: <span style="color: #009900;">&lt;%= <span style="color: #000066;">name</span> %<span style="color: #000000; font-weight: bold;">&gt;</span></a></span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #009900;"><a href="http://december.com/html/4/element/br.html"><span style="color: #000000; font-weight: bold;">&lt;br</span></a> /<span style="color: #000000; font-weight: bold;">&gt;</span></a></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; Product Price: <span style="color: #009900;">&lt;%= formatPrice<span style="color:#006600; font-weight:bold;">&#40;</span>price<span style="color:#006600; font-weight:bold;">&#41;</span> %<span style="color: #000000; font-weight: bold;">&gt;</span></a></span> </div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/script&gt;</span></span> </div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><a href="http://december.com/html/4/element/div.html"><span style="color: #000000; font-weight: bold;">&lt;div</span></a> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">"results"</span><span style="color: #000000; font-weight: bold;">&gt;</span></a></span><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/div&gt;</span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
</ol>
</div>
</div>
</div>
<p><b>updated</b> with info from <a href="http://www.microsoft.com/presspass/press/2010/mar10/03-16MIX10Day2PR.mspx">Microsoft press release</a>:</p>
<blockquote><p>
As part of Microsoft’s broad engagement with open source communities, Corporate Vice President Scott Guthrie today announced that Microsoft is investing resources to contribute to the development of the jQuery JavaScript Library to help improve the development process of standards-based Web applications. Microsoft will also work to provide better interoperability between ASP.NET and the jQuery JavaScript Library by enhancing ASP.NET so .NET developers can better incorporate jQuery capabilities. In addition, Microsoft will actively promote and distribute versions of the jQuery JavaScript Library by packaging it with popular products such as Microsoft Visual Studio 2010 and ASP.NET MVC 2. As a first step, Microsoft will contribute a templating engine to the jQuery JavaScript Library Team to simplify Web applications.
</p></blockquote>
<p>It is early days (preview release) but great to see a solid go at it here. I *really* want the IE9 team to help us put the Silverlight team out of business :)</p>
]]></content:encoded>
			<wfw:commentRss>http://ajaxian.com/archives/microsoft-loves-jquery/feed</wfw:commentRss>
		<slash:comments>27</slash:comments>
		</item>
		<item>
		<title>Friday fun: Let&#8217;s translate YUI3 to jQuery</title>
		<link>http://ajaxian.com/archives/friday-fun-lets-translate-yui3-to-jquery</link>
		<comments>http://ajaxian.com/archives/friday-fun-lets-translate-yui3-to-jquery#comments</comments>
		<pubDate>Fri, 05 Mar 2010 13:52:01 +0000</pubDate>
		<dc:creator>Chris Heilmann</dc:creator>
				<category><![CDATA[Front Page]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Library]]></category>
		<category><![CDATA[YUI]]></category>
		<category><![CDATA[Mapping]]></category>
		<category><![CDATA[showmethe$]]></category>
		<category><![CDATA[yui3]]></category>

		<guid isPermaLink="false">http://ajaxian.com/?p=8685</guid>
		<description><![CDATA[I just came across this wonderful Gist on gitHub: PLAIN TEXT JAVASCRIPT: &#160; var $; YUI&#40;&#41;.use&#40;'*', function&#40;Y&#41;&#123; &#160; $ = Y.get; &#160; for&#40;var p in Y&#41; &#123; &#160; &#160; &#160; $&#91;p&#93; = Y&#91;p&#93;; &#160; &#125; &#125;&#41;; &#160; // test $&#40;'body'&#41;.append&#40;"boo!"&#41;; &#160; In case you want to use YUI3 but really really like jQuery syntax :) <a href="http://ajaxian.com/archives/friday-fun-lets-translate-yui3-to-jquery">Read the rest...</a>]]></description>
			<content:encoded><![CDATA[<p>I just came across this wonderful Gist on gitHub:</p>
<div class="igBar"><a href="javascript:showCodeTxt('javascript-20');">PLAIN TEXT</a></div>
<div class="syntax_hilite"><span style="color:#000000; font-weight:bold;">JAVASCRIPT:</span>
<div id="javascript-20">
<div class="javascript">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #003366; font-weight: bold;">var</span> $;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">YUI<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color: #006600;">use</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #3366CC;">'*'</span>, <span style="color: #003366; font-weight: bold;">function</span><span style="color:#006600; font-weight:bold;">&#40;</span>Y<span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; $ = Y.<span style="color: #006600;">get</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; <span style="color: #000066; font-weight: bold;">for</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #003366; font-weight: bold;">var</span> p <span style="color: #000066; font-weight: bold;">in</span> Y<span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; $<span style="color:#006600; font-weight:bold;">&#91;</span>p<span style="color:#006600; font-weight:bold;">&#93;</span> = Y<span style="color:#006600; font-weight:bold;">&#91;</span>p<span style="color:#006600; font-weight:bold;">&#93;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; <span style="color:#006600; font-weight:bold;">&#125;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#006600; font-weight:bold;">&#125;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900; font-style: italic;">// test</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">$<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #3366CC;">'body'</span><span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color: #006600;">append</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #3366CC;">"boo!"</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
</ol>
</div>
</div>
</div>
<p>In case you want to use YUI3 but really really like jQuery syntax :) OK, it breaks the whole sandboxing idea of YUI3, but that's a small price to pay, right?</p>
]]></content:encoded>
			<wfw:commentRss>http://ajaxian.com/archives/friday-fun-lets-translate-yui3-to-jquery/feed</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>jQuery 1.4.2: performance and a few APIs</title>
		<link>http://ajaxian.com/archives/jquery-1-4-2-performance-and-a-few-apis</link>
		<comments>http://ajaxian.com/archives/jquery-1-4-2-performance-and-a-few-apis#comments</comments>
		<pubDate>Fri, 19 Feb 2010 23:59:24 +0000</pubDate>
		<dc:creator>Dion Almaer</dc:creator>
				<category><![CDATA[Front Page]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://ajaxian.com/?p=8628</guid>
		<description><![CDATA[jQuery 1.4.2 has been released today and it comes with some performance bumps (aggressive ones according to Taskspeed). Benchmarks are challenging, and John even calls that out: For example, we saw significant overall performance speed-ups in Taskspeed simply by optimizing the $("body") selector because it’s called hundreds of times within the tests. Additionally we saw <a href="http://ajaxian.com/archives/jquery-1-4-2-performance-and-a-few-apis">Read the rest...</a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://farm5.static.flickr.com/4015/4366089781_509c29aff8.jpg"/></p>
<p>jQuery 1.4.2 <a href="http://blog.jquery.com/2010/02/19/jquery-142-released/">has been released today</a> and it comes with some performance bumps (aggressive ones according to Taskspeed). Benchmarks are challenging, and John even calls that out:</p>
<blockquote><p>
For example, we saw significant overall performance speed-ups in Taskspeed simply by optimizing the $("body") selector because it’s called hundreds of times within the tests. Additionally we saw large gains by optimizing .bind() and .unbind()  by a fraction of a millisecond – an inconsequential amount – especially considering that any cases where you would bind hundreds of events you would likely want to use .live() or .delegate()  instead.
</p></blockquote>
<p>There are <a href="http://api.jquery.com/category/version/1.4.2/">some new APIs</a> a bunch of them around ergonomics:</p>
<blockquote><p>
In this release we’ve added two new methods: <strong><a href="http://api.jquery.com/delegate">.delegate()</a> and <a href="http://api.jquery.com/undelegate">.undelegate()</a></strong>. These methods serve as complements to the existing <a href="http://api.jquery.com/live">.live()</a> and <a href="http://api.jquery.com/die">.die()</a> methods in jQuery. They simplify the process of watching for specific events from a certain root within the document.</p>
<p>For example:</p>
<div class="igBar"><a href="javascript:showCodeTxt('javascript-24');">PLAIN TEXT</a></div>
<div class="syntax_hilite"><span style="color:#000000; font-weight:bold;">JAVASCRIPT:</span>
<div id="javascript-24">
<div class="javascript">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">$<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #3366CC;">"table"</span><span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color: #006600;">delegate</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #3366CC;">"td"</span>, <span style="color: #3366CC;">"hover"</span>, <span style="color: #003366; font-weight: bold;">function</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; $<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color: #006600;">toggleClass</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #3366CC;">"hover"</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#006600; font-weight:bold;">&#125;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
</ol>
</div>
</div>
</div>
<p>This is equivalent to the following code written using <code>.live()</code>:</p>
<div class="igBar"><a href="javascript:showCodeTxt('javascript-25');">PLAIN TEXT</a></div>
<div class="syntax_hilite"><span style="color:#000000; font-weight:bold;">JAVASCRIPT:</span>
<div id="javascript-25">
<div class="javascript">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">$<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #3366CC;">"table"</span><span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color: #006600;">each</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; $<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #3366CC;">"td"</span>, <span style="color: #000066; font-weight: bold;">this</span><span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color: #006600;">live</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #3366CC;">"hover"</span>, <span style="color: #003366; font-weight: bold;">function</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color: #006600;">toggleClass</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #3366CC;">"hover"</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#006600; font-weight:bold;">&#125;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#006600; font-weight:bold;">&#125;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
</ol>
</div>
</div>
</div>
<p>Additionally, <code>.live()</code> is roughly equivalent to the following <code>.delegate()</code> code.</p>
<div class="igBar"><a href="javascript:showCodeTxt('javascript-26');">PLAIN TEXT</a></div>
<div class="syntax_hilite"><span style="color:#000000; font-weight:bold;">JAVASCRIPT:</span>
<div id="javascript-26">
<div class="javascript">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">$<span style="color:#006600; font-weight:bold;">&#40;</span>document<span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color: #006600;">delegate</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #3366CC;">"td"</span>, <span style="color: #3366CC;">"hover"</span>, <span style="color: #003366; font-weight: bold;">function</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; $<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color: #006600;">toggleClass</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #3366CC;">"hover"</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#006600; font-weight:bold;">&#125;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
</ol>
</div>
</div>
</div>
</blockquote>
<p>The jQuery team continues to really put the pedal to the metal.</p>
]]></content:encoded>
			<wfw:commentRss>http://ajaxian.com/archives/jquery-1-4-2-performance-and-a-few-apis/feed</wfw:commentRss>
		<slash:comments>23</slash:comments>
		</item>
		<item>
		<title>Quicksand: transition and filtering effect</title>
		<link>http://ajaxian.com/archives/quicksand-transition-and-filtering-effect</link>
		<comments>http://ajaxian.com/archives/quicksand-transition-and-filtering-effect#comments</comments>
		<pubDate>Thu, 18 Feb 2010 11:55:26 +0000</pubDate>
		<dc:creator>Dion Almaer</dc:creator>
				<category><![CDATA[Front Page]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://ajaxian.com/?p=8617</guid>
		<description><![CDATA[Jacek Galanciak has created a nice visual transition library, Quicksand, that filters and shows a set of data in an interesting way. The jQuery plugin has you quickly calling quicksand like this: PLAIN TEXT JAVASCRIPT: &#160; $&#40;'#source'&#41;.quicksand&#40; $&#40;'#destination li'&#41; &#41;; &#160; and you have the data to transition between: PLAIN TEXT HTML: &#160; &#60;ul id="source"&#62; <a href="http://ajaxian.com/archives/quicksand-transition-and-filtering-effect">Read the rest...</a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://ajaxian.com/wp-content/images/quicksand.png" alt="quicksand" title="quicksand" width="480" height="297" class="alignnone size-full wp-image-8618"/></p>
<p>Jacek Galanciak has created a nice visual transition library, <a href="http://razorjack.net/quicksand/">Quicksand</a>, that filters and shows a set of data in an interesting way.</p>
<p>The jQuery plugin has you quickly calling quicksand like this:</p>
<div class="igBar"><a href="javascript:showCodeTxt('javascript-29');">PLAIN TEXT</a></div>
<div class="syntax_hilite"><span style="color:#000000; font-weight:bold;">JAVASCRIPT:</span>
<div id="javascript-29">
<div class="javascript">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">$<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #3366CC;">'#source'</span><span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color: #006600;">quicksand</span><span style="color:#006600; font-weight:bold;">&#40;</span> $<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #3366CC;">'#destination li'</span><span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
</ol>
</div>
</div>
</div>
<p>and you have the data to transition between:</p>
<div class="igBar"><a href="javascript:showCodeTxt('html-30');">PLAIN TEXT</a></div>
<div class="syntax_hilite"><span style="color:#000000; font-weight:bold;">HTML:</span>
<div id="html-30">
<div class="html">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><a href="http://december.com/html/4/element/ul.html"><span style="color: #000000; font-weight: bold;">&lt;ul</span></a> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">"source"</span><span style="color: #000000; font-weight: bold;">&gt;</span></a></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #009900;"><a href="http://december.com/html/4/element/li.html"><span style="color: #000000; font-weight: bold;">&lt;li</span></a> data-<span style="color: #000066;">id</span>=<span style="color: #ff0000;">"iphone"</span><span style="color: #000000; font-weight: bold;">&gt;</span></a></span>iPhone OS<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/li&gt;</span></span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #009900;"><a href="http://december.com/html/4/element/li.html"><span style="color: #000000; font-weight: bold;">&lt;li</span></a> data-<span style="color: #000066;">id</span>=<span style="color: #ff0000;">"android"</span><span style="color: #000000; font-weight: bold;">&gt;</span></a></span>Android<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/li&gt;</span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #009900;"><a href="http://december.com/html/4/element/li.html"><span style="color: #000000; font-weight: bold;">&lt;li</span></a> data-<span style="color: #000066;">id</span>=<span style="color: #ff0000;">"winmo"</span><span style="color: #000000; font-weight: bold;">&gt;</span></a></span>Windows Mobile<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/li&gt;</span></span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/ul&gt;</span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><a href="http://december.com/html/4/element/ul.html"><span style="color: #000000; font-weight: bold;">&lt;ul</span></a> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">"destination"</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">"hidden"</span><span style="color: #000000; font-weight: bold;">&gt;</span></a></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #009900;"><a href="http://december.com/html/4/element/li.html"><span style="color: #000000; font-weight: bold;">&lt;li</span></a> data-<span style="color: #000066;">id</span>=<span style="color: #ff0000;">"macosx"</span><span style="color: #000000; font-weight: bold;">&gt;</span></a></span>Mac OS X<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/li&gt;</span></span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #009900;"><a href="http://december.com/html/4/element/li.html"><span style="color: #000000; font-weight: bold;">&lt;li</span></a> data-<span style="color: #000066;">id</span>=<span style="color: #ff0000;">"macos9"</span><span style="color: #000000; font-weight: bold;">&gt;</span></a></span>Mac OS 9<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/li&gt;</span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #009900;"><a href="http://december.com/html/4/element/li.html"><span style="color: #000000; font-weight: bold;">&lt;li</span></a> data-<span style="color: #000066;">id</span>=<span style="color: #ff0000;">"iphone"</span><span style="color: #000000; font-weight: bold;">&gt;</span></a></span>iPhone OS<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/li&gt;</span></span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/ul&gt;</span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
</ol>
</div>
</div>
</div>
<p>You can customize the effect (set the easing, setup data, and the like). <a href="http://razorjack.net/quicksand/docs-and-demos.html">Seethe docs and demos</a> for more.</p>
]]></content:encoded>
			<wfw:commentRss>http://ajaxian.com/archives/quicksand-transition-and-filtering-effect/feed</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>Rotating maps with CSS3 and jQuery</title>
		<link>http://ajaxian.com/archives/rotating-maps-with-css3-and-jquery</link>
		<comments>http://ajaxian.com/archives/rotating-maps-with-css3-and-jquery#comments</comments>
		<pubDate>Tue, 09 Feb 2010 15:07:48 +0000</pubDate>
		<dc:creator>Chris Heilmann</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Front Page]]></category>
		<category><![CDATA[Geo]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[maps]]></category>
		<category><![CDATA[rotation]]></category>

		<guid isPermaLink="false">http://ajaxian.com/?p=8582</guid>
		<description><![CDATA[One of the things I always want to do with online maps is rotate them - I am used to that with real, physical maps. As physical maps become a lot more clever these days (for example have you seen the zoomable map?) it is time we can do this with the online ones, too. <a href="http://ajaxian.com/archives/rotating-maps-with-css3-and-jquery">Read the rest...</a>]]></description>
			<content:encoded><![CDATA[<p>One of the things I always want to do with online maps is rotate them - I am used to that with real, physical maps. As physical maps become a lot more clever these days (for example have you seen the <a href="http://www.thezoomablemap.com/">zoomable map</a>?) it is time we can do this with the online ones, too. </p>
<p>Whilst Google supports this in the satellite and hybrid maps, the basic ones still can't be turned. Which is why I took CSS3 transformations (wrapped in <a href="http://www.zachstronaut.com/posts/2009/08/07/jquery-animate-css-rotate-scale.html">a very useful jQuery plugin</a>)  and voila - rotating is possible:</p>
<p><a href="http://isithackday.com/hacks/map-rotate/"><img src="http://farm5.static.flickr.com/4054/4343637312_69930f7b0f.jpg" alt="Rotating a map with CSS3 and jQuery by  you."/></a></p>
<p>Read more about the implementation and some of the things that need fixing <a href="http://www.wait-till-i.com/2010/02/09/rotating-maps-with-css3-and-jquery/">in the original blog post about map rotation</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://ajaxian.com/archives/rotating-maps-with-css3-and-jquery/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>jQuery 1.4 is released</title>
		<link>http://ajaxian.com/archives/jquery-1-4-is-released</link>
		<comments>http://ajaxian.com/archives/jquery-1-4-is-released#comments</comments>
		<pubDate>Fri, 15 Jan 2010 05:13:56 +0000</pubDate>
		<dc:creator>Dion Almaer</dc:creator>
				<category><![CDATA[Front Page]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Library]]></category>

		<guid isPermaLink="false">http://ajaxian.com/?p=8451</guid>
		<description><![CDATA[The incredibly popular jQuery library has released jQuery 1.4 on a new website that will celebrate 14 days of jQuery. There are a lot of new features, and as usual performance gains are showcased. Easy Setter Functions: For a while now, you’ve been able to pass a function into .attr() and the return value of <a href="http://ajaxian.com/archives/jquery-1-4-is-released">Read the rest...</a>]]></description>
			<content:encoded><![CDATA[<p>The incredibly popular jQuery library has released <a href="http://jquery14.com/day-01/jquery-14">jQuery 1.4</a> on a new website that will celebrate 14 days of jQuery.</p>
<p>There are a lot of new features, and as usual performance gains are showcased.</p>
<ul>
<li><b>Easy Setter Functions</b>: For a while now, you’ve been able to pass a function into .attr() and the return value of that function is set into the appropriate attribute. This functionalilty has now been extended into all setter methods
</li>
<li><b>Ajax</b>: A lot of enhancements to the various remoting functions including support for native JSON parsing, etags, request context, and more
</li>
<li>.css and .attr have been improved
</li>
<li>Per property easing on effects
</li>
<li>If you want to ensure that “this” inside a function will be permanently bound to a particular value, you can use jQuery.proxy to return a new function with that scope
</li>
<li>New events: focusin and focusout
</li>
</ul>
<p>And Joe Walker will be really excited to see that <code>dojo.create</code> has made it in! :)</p>
<div class="igBar"><a href="javascript:showCodeTxt('javascript-32');">PLAIN TEXT</a></div>
<div class="syntax_hilite"><span style="color:#000000; font-weight:bold;">JAVASCRIPT:</span>
<div id="javascript-32">
<div class="javascript">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">jQuery<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #3366CC;">"&lt;div /&gt;"</span>, <span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; id: <span style="color: #3366CC;">"foo"</span>,</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; css: <span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; height: <span style="color: #3366CC;">"50px"</span>,</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; width: <span style="color: #3366CC;">"50px"</span>,</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; color: <span style="color: #3366CC;">"blue"</span>,</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; backgroundColor: <span style="color: #3366CC;">"#ccc"</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color:#006600; font-weight:bold;">&#125;</span>,</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; click: <span style="color: #003366; font-weight: bold;">function</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp;$<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color: #006600;">css</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #3366CC;">"backgroundColor"</span>, <span style="color: #3366CC;">"red"</span><span style="color:#006600; font-weight:bold;">&#41;</span>; </div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color:#006600; font-weight:bold;">&#125;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#006600; font-weight:bold;">&#125;</span><span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color: #006600;">appendTo</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #3366CC;">"body"</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
</ol>
</div>
</div>
</div>
<p>Congrats to the jQuery team. I look forward to seeing posts over the next 2 weeks that go into more detail on the new coolness.</p>
]]></content:encoded>
			<wfw:commentRss>http://ajaxian.com/archives/jquery-1-4-is-released/feed</wfw:commentRss>
		<slash:comments>23</slash:comments>
		</item>
		<item>
		<title>Using YQL as a proxy for cross-domain Ajax</title>
		<link>http://ajaxian.com/archives/using-yql-as-a-proxy-for-cross-domain-ajax</link>
		<comments>http://ajaxian.com/archives/using-yql-as-a-proxy-for-cross-domain-ajax#comments</comments>
		<pubDate>Tue, 12 Jan 2010 00:42:08 +0000</pubDate>
		<dc:creator>Chris Heilmann</dc:creator>
				<category><![CDATA[Front Page]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[JSON]]></category>
		<category><![CDATA[XmlHttpRequest]]></category>
		<category><![CDATA[Yahoo!]]></category>
		<category><![CDATA[Ajax]]></category>
		<category><![CDATA[crossdomain]]></category>
		<category><![CDATA[json-p]]></category>
		<category><![CDATA[json-p-x]]></category>
		<category><![CDATA[yql]]></category>

		<guid isPermaLink="false">http://ajaxian.com/?p=8416</guid>
		<description><![CDATA[OK, this is nothing shockingly new, but I found it pretty useful. Using jQuery, Ajax has become more or less a one-liner: PLAIN TEXT JAVASCRIPT: $&#40;document&#41;.ready&#40;function&#40;&#41;&#123; &#160; $&#40;'.ajaxtrigger'&#41;.click&#40;function&#40;&#41;&#123; &#160; &#160; $&#40;'#target'&#41;.load&#40;$&#40;this&#41;.attr&#40;'href'&#41;&#41;; &#160; &#160; return false; &#160; &#125;&#41;; &#125;&#41;; This loads the document any link with a class of "ajaxtrigger" points to and updates the content <a href="http://ajaxian.com/archives/using-yql-as-a-proxy-for-cross-domain-ajax">Read the rest...</a>]]></description>
			<content:encoded><![CDATA[<p>OK, this is nothing shockingly new, but I found it pretty useful. Using jQuery, Ajax has become more or less a one-liner:</p>
<div class="igBar"><a href="javascript:showCodeTxt('javascript-37');">PLAIN TEXT</a></div>
<div class="syntax_hilite"><span style="color:#000000; font-weight:bold;">JAVASCRIPT:</span>
<div id="javascript-37">
<div class="javascript">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">$<span style="color:#006600; font-weight:bold;">&#40;</span>document<span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color: #006600;">ready</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; $<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #3366CC;">'.ajaxtrigger'</span><span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color: #006600;">click</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; $<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #3366CC;">'#target'</span><span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color: #006600;">load</span><span style="color:#006600; font-weight:bold;">&#40;</span>$<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color: #006600;">attr</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #3366CC;">'href'</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #000066; font-weight: bold;">return</span> <span style="color: #003366; font-weight: bold;">false</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; <span style="color:#006600; font-weight:bold;">&#125;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#006600; font-weight:bold;">&#125;</span><span style="color:#006600; font-weight:bold;">&#41;</span>; </div>
</li>
</ol>
</div>
</div>
</div>
<p>This loads the document any link with a class of "ajaxtrigger" points to and updates the content of the element with the ID "target". If the link is a third party link on another domain it fails though - and silently at that. Normally you'd work around that with a server-side proxy, but you can actually do without it. </p>
<p><a href="http://developer.yahoo.com/yql">YQL</a> is a hosted web service that can scrape HTML for you. It also runs the HTML through HTML Tidy and caches it for you. For example to load http://bbc.co.uk you'd use the following statement:</p>
<div class="igBar"><a href="javascript:showCodeTxt('code-38');">PLAIN TEXT</a></div>
<div class="syntax_hilite"><span style="color:#000000; font-weight:bold;">CODE:</span>
<div id="code-38">
<div class="code">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">select * from html where url=<span style="color:#CC0000;">'http://bbc.co.uk'</span> </div>
</li>
</ol>
</div>
</div>
</div>
<p>As a URL this turns into:</p>
<div class="igBar"><a href="javascript:showCodeTxt('code-39');">PLAIN TEXT</a></div>
<div class="syntax_hilite"><span style="color:#000000; font-weight:bold;">CODE:</span>
<div id="code-39">
<div class="code">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">http:<span style="color:#FF9933; font-style:italic;">//query.yahooapis.com/v1/public/yql?q=select%20*%20from%20html%20where%20url%3D'http%3A%2F%2Fbbc.co.uk'%0A&amp;format=xml </span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
</ol>
</div>
</div>
</div>
<p>You could request JSON-P by setting the output format to json and define a callback, but that would give the HTML back as a massive object which is not nice. YQL also offers JSON-P-X as an alternative which is a JSON object with a callback and the HTML as a string inside a simple Array. See it by clicking the following URL:</p>
<p><a href="http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20html%20where%20url%3D%27http%3A%2F%2Fbbc.co.uk%27%0A&#038;format=xml&#038;diagnostics=false&#038;callback=foo">http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20html%20where%20url%3D%27http%3A%2F%2Fbbc.co.uk%27%0A&#038;format=xml&#038;diagnostics=false&#038;callback=foo</a></p>
<p>Now, using jQuery's <code>getJSON()</code> we can load this even without a named callback function. That way we can use one method for content that is third party and simply use <code>load()</code> for the other:</p>
<div class="igBar"><a href="javascript:showCodeTxt('javascript-40');">PLAIN TEXT</a></div>
<div class="syntax_hilite"><span style="color:#000000; font-weight:bold;">JAVASCRIPT:</span>
<div id="javascript-40">
<div class="javascript">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">$<span style="color:#006600; font-weight:bold;">&#40;</span>document<span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color: #006600;">ready</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; <span style="color: #003366; font-weight: bold;">var</span> container = $<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #3366CC;">'#target'</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; $<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #3366CC;">'.ajaxtrigger'</span><span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color: #006600;">click</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; doAjax<span style="color:#006600; font-weight:bold;">&#40;</span>$<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color: #006600;">attr</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #3366CC;">'href'</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #000066; font-weight: bold;">return</span> <span style="color: #003366; font-weight: bold;">false</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; <span style="color:#006600; font-weight:bold;">&#125;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; <span style="color: #003366; font-weight: bold;">function</span> doAjax<span style="color:#006600; font-weight:bold;">&#40;</span>url<span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #000066; font-weight: bold;">if</span><span style="color:#006600; font-weight:bold;">&#40;</span>url.<span style="color: #006600;">match</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #3366CC;">'^http'</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; $.<span style="color: #006600;">getJSON</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #3366CC;">"http://query.yahooapis.com/v1/public/yql?"</span>+</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #3366CC;">"q=select%20*%20from%20html%20where%20url%3D%22"</span>+</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; encodeURIComponent<span style="color:#006600; font-weight:bold;">&#40;</span>url<span style="color:#006600; font-weight:bold;">&#41;</span>+</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #3366CC;">"%22&amp;format=xml'&amp;callback=?"</span>,</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #003366; font-weight: bold;">function</span><span style="color:#006600; font-weight:bold;">&#40;</span>data<span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000066; font-weight: bold;">if</span><span style="color:#006600; font-weight:bold;">&#40;</span>data.<span style="color: #006600;">results</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#800000;">0</span><span style="color:#006600; font-weight:bold;">&#93;</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; container.<span style="color: #006600;">html</span><span style="color:#006600; font-weight:bold;">&#40;</span>data.<span style="color: #006600;">results</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#800000;">0</span><span style="color:#006600; font-weight:bold;">&#93;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#006600; font-weight:bold;">&#125;</span> <span style="color: #000066; font-weight: bold;">else</span> <span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #003366; font-weight: bold;">var</span> errormsg = <span style="color: #3366CC;">'&lt;p&gt;Error: could not load the page.&lt;/p&gt;'</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; container.<span style="color: #006600;">html</span><span style="color:#006600; font-weight:bold;">&#40;</span>errormsg<span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#006600; font-weight:bold;">&#125;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#006600; font-weight:bold;">&#125;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; <span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color:#006600; font-weight:bold;">&#125;</span> <span style="color: #000066; font-weight: bold;">else</span> <span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; $<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #3366CC;">'#target'</span><span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color: #006600;">load</span><span style="color:#006600; font-weight:bold;">&#40;</span>url<span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color:#006600; font-weight:bold;">&#125;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; <span style="color:#006600; font-weight:bold;">&#125;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#006600; font-weight:bold;">&#125;</span><span style="color:#006600; font-weight:bold;">&#41;</span>; </div>
</li>
</ol>
</div>
</div>
</div>
<p>You can see the <a href="http://icant.co.uk/articles/crossdomain-ajax-with-jquery/error-handling.html">demo in action here</a>, more details are available <a href="http://www.wait-till-i.com/2010/01/10/loading-external-content-with-ajax-using-jquery-and-yql/">on my blog</a> and the source is available <a href="http://github.com/codepo8/crossdomain-ajax-with-jquery-and-yql">on GitHub</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://ajaxian.com/archives/using-yql-as-a-proxy-for-cross-domain-ajax/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>New jQuery Podcasts</title>
		<link>http://ajaxian.com/archives/new-jquery-podcasts</link>
		<comments>http://ajaxian.com/archives/new-jquery-podcasts#comments</comments>
		<pubDate>Thu, 10 Dec 2009 14:25:43 +0000</pubDate>
		<dc:creator>Michael Mahemoff</dc:creator>
				<category><![CDATA[Front Page]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://ajaxian.com/?p=8192</guid>
		<description><![CDATA[A couple of feature-packed jQuery podcasts have appeared in the past month or so: YayQuery (iTunes), a laid-back video podcast from folks in the jQuery community; and the official jQuery podcast (iTunes), hosted on the official jQuery blog and aiming to be a mix of news and interviews, hosted by Elijah Manor and Ralph Whitbeck. <a href="http://ajaxian.com/archives/new-jquery-podcasts">Read the rest...</a>]]></description>
			<content:encoded><![CDATA[<p><img alt="" src="http://img.skitch.com/20091210-ka2fenpy1qkgkjfn7jt7f34hue.png" title="jQuery" class="alignnone" width="252" height="83" /></p>
<p>A couple of feature-packed jQuery podcasts have appeared in the past month or so: <a href="http://yayquery.com/">YayQuery</a> (<a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewPodcast?id=340422555">iTunes</a>), a laid-back video podcast from folks in the jQuery community; and <a href="http://twitter.com/jquerypodcast">the official jQuery podcast</a> (<a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewPodcast?id=339835419">iTunes</a>), hosted on <a href="http://blog.jquery.com/">the official jQuery blog</a> and aiming to be a mix of news and interviews, hosted by Elijah Manor and Ralph Whitbeck.</p>
<p>Paul Irish sent the following about <a href="http://yayquery.com/">YayQuery</a>:</p>
<blockquote><p>
It's a video podcast hosted by myself and three others,  featuring  laid-back discussions about current news and library/plugin releases; recently we've covered Brian LeRoux's Lawnchair script, JSON serialization options, dependency management and front-end performance techniques. We've just released our fifth episode.</p>
<p>Besides news, we also do a few segments where we dive deeper into particular areas of jQuery; we try to have a range of topics that will appeal to newbs and veterans alike.</p>
<p>- "Hiddenhancements", handy tricks inside jQuery you might not know about<br />
- "Anti-Pattern for Performance of the Week" - Common coding practices that can get you into trouble, and how to avoid them<br />
- "Plugin of the Week" - a new and/or awesome jQuery plugin that needs some evangelisin'<br />
- "Beginner's Corner" - Things we wish we'd known when we were getting started with JavaScript and jQuery<br />
- "nayQuery" - When to *not* use jQuery, and what options exist outside the $</p>
<p>The yayQuery hosts (Paul Irish, Rebecca Murphey, Alex Sexton and Adam J. Sontag)  have years of experience being neck-deep in their own jQuery development, as well as providing support and training to the community
</p></blockquote>
<p>The official jQuery podcast has thus far interviewed jQuery creator Jon Resig, jQuery UI release manager Richard D. Worth, and none other than YayQuery host Paul Irish.</p>
<p>There's also Remy Sharp's <a href="http://jqueryfordesigners.com/">jQuery For Designers</a>, which has been publishing <a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewPodcast?id=281057468">a video podcast feed of screencast tutorials</a> since the start of the year.</p>
]]></content:encoded>
			<wfw:commentRss>http://ajaxian.com/archives/new-jquery-podcasts/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

