<?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>James Padolsey&#187; News category &#8211; James Padolsey</title>
	<atom:link href="http://james.padolsey.com/category/news/feed/" rel="self" type="application/rss+xml" />
	<link>http://james.padolsey.com</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Sun, 22 Jan 2012 17:04:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2</generator>
		<item>
		<title>Who won a jQuery cookbook!?</title>
		<link>http://james.padolsey.com/javascript/who-won-a-jquery-cookbook/</link>
		<comments>http://james.padolsey.com/javascript/who-won-a-jquery-cookbook/#comments</comments>
		<pubDate>Fri, 11 Dec 2009 02:05:59 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://james.padolsey.com/?p=1292</guid>
		<description><![CDATA[I want to say a huge Thank You to everyone that entered the <a href="http://james.padolsey.com/javascript/the-jquery-cookbook/">cookbook competition</a>! It was very interesting reading through all your comments; some funny, some saddening, some very insightful and others just plain silly!

I was considering picking the winners based on the&#8230;]]></description>
			<content:encoded><![CDATA[<p>I want to say a huge Thank You to everyone that entered the <a href="http://james.padolsey.com/javascript/the-jquery-cookbook/">cookbook competition</a>! It was very interesting reading through all your comments; some funny, some saddening, some very insightful and others just plain silly!</p>

<p>I was considering picking the winners based on the comments themselves, but after considering the sheer number of comments (over 250) and the fact that there are <strong>many more than five people</strong> that genuinely deserve a free copy, I decided to pick the winners randomly!</p>

<p>So, without further delay, here are the five winners (<a href="http://gist.github.com/253916">see the code that picked them</a>):</p>

<ul>
    <li><h3><a href="http://james.padolsey.com/javascript/the-jquery-cookbook/#comment-25491">9swords</a></h3>
        <blockquote><p>Going to leave a word here to try my luck. I could use some more learning. I should have created a plug in by now, maybe the book could help me get there.</p></blockquote>
    </li>
    <li><h3><a href="http://james.padolsey.com/javascript/the-jquery-cookbook/#comment-25528">Morena</a></h3>
        <blockquote><p>Hi. Thanks for this possibility! I would like to win this book to gain a better and deeper understanding of jQuery. I am trying to make the best use of the online examples many sites offer, but I am still a bit &#8220;old fashioned&#8221; and still need a good printed book to highlight, comment, carry with me and draw funny faces on when I’m learning something <img src='http://james.padolsey.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p></blockquote>
    </li>
    <li><h3><a href="http://james.padolsey.com/javascript/the-jquery-cookbook/#comment-25550">John Nelson</a></h3>
        <blockquote><p>I have a craving for some jQuery and I have no recipe to go by. Why use the frozen microwave jQuery you find on the web, when you can have fully baked goodness printed and bound? I want to have a great reference for my daily jQuery needs. It makes javascript something special.
</p></blockquote>
    </li>
    <li><h3><a href="http://james.padolsey.com/javascript/the-jquery-cookbook/#comment-25674">Trond</a></h3>
        <blockquote><p>Because I haven’t read it yet?</p></blockquote>
    </li>
    <li><h3><a href="http://james.padolsey.com/javascript/the-jquery-cookbook/#comment-25738">Aaron</a></h3>
        <blockquote><p>We love jquery and need to get better at it. Being a small, non-profit, public radio station, any money i can save our .org on books&#8230; is always good!</p></blockquote>
    </li>
</ul>

<p>Congratulations to these commenters! I&#8217;ll be emailing you within the next day! <img src='http://james.padolsey.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>

<p>I know that some of you would have preferred me to pick the comments based on the contents of each comment, but it just wouldn&#8217;t have been feasible. There were so many great comments &#8211; it would have been impossible to fairly decide.</p>

<p>Once more, congratulations to the lucky winners!</p>]]></content:encoded>
			<wfw:commentRss>http://james.padolsey.com/javascript/who-won-a-jquery-cookbook/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Zoomer component for sale!</title>
		<link>http://james.padolsey.com/javascript/zoomer-component-for-sale/</link>
		<comments>http://james.padolsey.com/javascript/zoomer-component-for-sale/#comments</comments>
		<pubDate>Wed, 17 Jun 2009 09:23:49 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Cool Stuff]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Zoomer]]></category>

		<guid isPermaLink="false">http://james.padolsey.com/?p=934</guid>
		<description><![CDATA[<a href="http://themeforest.net?ref=JimmyP">ThemeForest</a>, one of Envato&#8217;s marketplaces, has just launched a &#8220;<a href="http://themeforest.net/category/javascript?ref=JimmyP">JavaScript</a>&#8221; category and within it my new JavaScript component, &#8220;<a href="http://themeforest.net/item/zoomer/46445?ref=JimmyP">Zoomer</a>&#8220;. As the description states, &#8220;&#8216;Zoomer&#8217; enables your users to closely inspect images by hovering their cursor over them. It’s been built as a robust, unobtrusive and&#8230;]]></description>
			<content:encoded><![CDATA[<p><a href="http://themeforest.net?ref=JimmyP">ThemeForest</a>, one of Envato&#8217;s marketplaces, has just launched a &#8220;<a href="http://themeforest.net/category/javascript?ref=JimmyP">JavaScript</a>&#8221; category and within it my new JavaScript component, &#8220;<a href="http://themeforest.net/item/zoomer/46445?ref=JimmyP">Zoomer</a>&#8220;. As the description states, &#8220;&#8216;Zoomer&#8217; enables your users to closely inspect images by hovering their cursor over them. It’s been built as a robust, unobtrusive and highly customizable jQuery plugin.&#8221; Here&#8217;s a brief overview of its key features:</p>

<ul>
    <li>A fully customizable zoomer for use with any image</li>
    <li>Works in all modern browsers (including IE6 )</li>
    <li>This is a progressive enhancement; images will still be viewable when JavaScript is not available.</li>
    <li>The Zoomer itself is highly customizable.</li>
    <li>The Zoomer requires NO images – the shadows/gradients are dynamically generated by JavaScript (using VML /Canvas technologies)</li>
    <li>In-depth documentation including <strong>two videos</strong> and an FAQ !</li>
</ul>

<p class="video"><a href="http://themeforest.net/item/zoomer/full_screen_preview/46445?ref=JimmyP"><strong>See the demo</strong></a></p>

<h2>It&#8217;s customizable!</h2>

<p>Almost every aspect of the zoomer is customizable, here&#8217;s a preview of the jQuery options:</p>


<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">$.<span class="me1">zoomer</span>.<span class="me1">defaultOptions</span> <span class="sy0">=</span> <span class="br0">&#123;</span>
    zoomerClass<span class="sy0">:</span> <span class="st0">'_zoomer'</span><span class="sy0">,</span>
    zoomSrc<span class="sy0">:</span> <span class="st0">''</span><span class="sy0">,</span>
    height<span class="sy0">:</span> <span class="nu0">150</span><span class="sy0">,</span>
    width<span class="sy0">:</span> <span class="nu0">150</span><span class="sy0">,</span>
    mousewheelZoom<span class="sy0">:</span> <span class="kw2">true</span><span class="sy0">,</span>
    defaultZoom<span class="sy0">:</span> <span class="nu0">2</span><span class="sy0">,</span>
    maxZoom<span class="sy0">:</span> <span class="nu0">5</span><span class="sy0">,</span>
    minZoom<span class="sy0">:</span> <span class="nu0">1</span><span class="sy0">,</span>
    feedback<span class="sy0">:</span> <span class="kw2">function</span><span class="br0">&#40;</span>x<span class="sy0">,</span>y<span class="sy0">,</span>zoom<span class="br0">&#41;</span><span class="br0">&#123;</span><span class="br0">&#125;</span><span class="sy0">,</span>
    onOver<span class="sy0">:</span> <span class="kw2">function</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#123;</span><span class="br0">&#125;</span><span class="sy0">,</span>
    onOut<span class="sy0">:</span> <span class="kw2">function</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#123;</span><span class="br0">&#125;</span><span class="sy0">,</span>
    zoomerOverlay<span class="sy0">:</span> <span class="br0">&#123;</span>
        className<span class="sy0">:</span> <span class="st0">'_zoomer-overlay'</span><span class="sy0">,</span>
        shadowWidth<span class="sy0">:</span> <span class="nu0">10</span><span class="sy0">,</span>
        shadowOpacity<span class="sy0">:</span> <span class="nu0">0.5</span><span class="sy0">,</span>
        <span class="co2">/* Must be in &quot;rgb(r,g,b)&quot; format */</span>
        shadowColor<span class="sy0">:</span> <span class="st0">'rgb(0,0,0)'</span><span class="sy0">,</span>
        radialOpacity<span class="sy0">:</span> <span class="nu0">0.4</span><span class="sy0">,</span>
        <span class="co2">/* Must be in &quot;rgb(r,g,b)&quot; format */</span>
        radialColor<span class="sy0">:</span> <span class="st0">'rgb(0,0,0)'</span>
    <span class="br0">&#125;</span>
<span class="br0">&#125;</span><span class="sy0">;</span></pre></div></div>




<p>Even the shadow beneath the Zoomer is customizable &#8211; this is possible thanks to canvas/VML technologies.</p>

<p class="video">
    <a href="http://themeforest.net/item/zoomer/46445?ref=JimmyP"><strong>Buy Zoomer (currently $5)!</strong></a>
</p>]]></content:encoded>
			<wfw:commentRss>http://james.padolsey.com/javascript/zoomer-component-for-sale/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Things you may not know about jQuery</title>
		<link>http://james.padolsey.com/javascript/things-you-may-not-know-about-jquery/</link>
		<comments>http://james.padolsey.com/javascript/things-you-may-not-know-about-jquery/#comments</comments>
		<pubDate>Thu, 19 Feb 2009 10:43:57 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Cool Stuff]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[My Life]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Plugins]]></category>

		<guid isPermaLink="false">http://james.padolsey.com/?p=558</guid>
		<description><![CDATA[I was going to do a bit of a series, releasing a jQuery tip every day or week or something, but I think I&#8217;m a little too lazy to commit to something like that. So I&#8217;ve compiled them all into one post! I&#8217;ll probably add&#8230;]]></description>
			<content:encoded><![CDATA[<p>I was going to do a bit of a series, releasing a jQuery tip every day or week or something, but I think I&#8217;m a little too lazy to commit to something like that. So I&#8217;ve compiled them all into one post! I&#8217;ll probably add to the list at later dates so make sure to bookmark it!</p>

<p>Do you have a tip nobody knows about? &#8211; Add it in the comments&#8230;</p>

<ul class="imp">
    <li><code>$.fn</code> is just a shortcut to <code>jQuery.prototype</code>.</li>
    <li>You can test if a jQuery collection contains any elements by trying to access the first element, e.g. <code>if($(selector)[0]){...}</code>.</li>
    <li>jQuery normalizes the event object across all browsers! Have a look at all the available properties/methods over here: <a href="http://docs.jquery.com/Events/jQuery.Event">http://docs.jquery.com/Events/jQuery.Event</a>.</li>
    <li>When you create a plugin you have access to the jQuery chain&#8217;s previous object:


<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">jQuery.<span class="me1">fn</span>.<span class="me1">doSomething</span> <span class="sy0">=</span> <span class="kw2">function</span><span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
    <span class="kw1">this</span><span class="sy0">;</span> <span class="co1">// =&gt; $('a')</span>
    <span class="kw1">this</span>.<span class="me1">prevObject</span><span class="sy0">;</span> <span class="co1">// =&gt; $('li')</span>
    <span class="co1">// Remember chaining in your plugins:</span>
    <span class="kw1">return</span> <span class="kw1">this</span><span class="sy0">;</span>
<span class="br0">&#125;</span><span class="sy0">;</span>
&nbsp;
jQuery<span class="br0">&#40;</span><span class="st0">'li'</span><span class="br0">&#41;</span>.<span class="me1">show</span><span class="br0">&#40;</span><span class="br0">&#41;</span>
    .<span class="me1">find</span><span class="br0">&#40;</span><span class="st0">'a'</span><span class="br0">&#41;</span>.<span class="me1">doSomething</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
<span class="co1">// You could even create a new 'root' plugin:</span>
<span class="co1">// (Returns the 'root' of a chain)</span>
jQuery.<span class="me1">fn</span>.<span class="me1">root</span> <span class="sy0">=</span> <span class="kw2">function</span><span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
    <span class="co1">// Root is always document so we have to </span>
    <span class="co1">// go back to one before the last:</span>
    <span class="kw2">var</span> root <span class="sy0">=</span> <span class="kw1">this</span><span class="sy0">;</span>
    <span class="kw1">while</span><span class="br0">&#40;</span>root.<span class="me1">prevObject</span>.<span class="me1">prevObject</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
        root <span class="sy0">=</span> root.<span class="me1">prevObject</span><span class="sy0">;</span>
    <span class="br0">&#125;</span>
    <span class="kw1">return</span> root<span class="sy0">;</span>
<span class="br0">&#125;</span><span class="sy0">;</span>
&nbsp;
$<span class="br0">&#40;</span><span class="st0">'li'</span><span class="br0">&#41;</span>.<span class="me1">find</span><span class="br0">&#40;</span><span class="st0">'a'</span><span class="br0">&#41;</span>.<span class="me1">children</span><span class="br0">&#40;</span><span class="br0">&#41;</span>.<span class="me1">root</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span> <span class="co1">// &lt;= $('li') is returned</span>
<span class="co1">// Using root() is the same as using end().end() in this situation</span></pre></div></div>



    </li>
    <li>You can namespace events! This is especially useful for plugin development:


<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">jQuery.<span class="me1">fn</span>.<span class="me1">myPlugin</span> <span class="sy0">=</span> <span class="kw2">function</span><span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
&nbsp;
    <span class="co1">// Clean up after yourself!</span>
&nbsp;
    jQuery.<span class="me1">myPlugin</span> <span class="sy0">=</span> <span class="br0">&#123;</span>
        cleanUp<span class="sy0">:</span> <span class="kw2">function</span><span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
&nbsp;
            <span class="co1">// Remove all click handlers binded</span>
            <span class="co1">// as a result of the plugin:</span>
            jQuery<span class="br0">&#40;</span><span class="st0">'*'</span><span class="br0">&#41;</span>.<span class="me1">unbind</span><span class="br0">&#40;</span><span class="st0">'click.myPlugin'</span><span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
            <span class="co1">// ALternatively, remove ALL events:</span>
            jQuery<span class="br0">&#40;</span><span class="st0">'*'</span><span class="br0">&#41;</span>.<span class="me1">unbind</span><span class="br0">&#40;</span><span class="st0">'.myPlugin'</span><span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
        <span class="br0">&#125;</span>
    <span class="br0">&#125;</span><span class="sy0">;</span>
&nbsp;
    <span class="kw1">return</span> <span class="kw1">this</span>.<span class="me1">bind</span><span class="br0">&#40;</span><span class="st0">'click.myPlugin'</span><span class="sy0">,</span> <span class="kw2">function</span><span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
        <span class="co1">// Do something...</span>
    <span class="br0">&#125;</span><span class="br0">&#41;</span><span class="sy0">;</span>
<span class="br0">&#125;</span><span class="sy0">;</span>
&nbsp;
<span class="co1">// Note, you can also namespace data:</span>
<span class="co1">// E.g. $(elem).data('whatever.myPlugin',value);</span></pre></div></div>



    </li>
    <li>You can access all event handlers bound to an element (or any object) through jQuery&#8217;s event storage:


<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span class="co1">// List bound events:</span>
console.<span class="me1">dir</span><span class="br0">&#40;</span> jQuery<span class="br0">&#40;</span><span class="st0">'#elem'</span><span class="br0">&#41;</span>.<span class="me1">data</span><span class="br0">&#40;</span><span class="st0">'events'</span><span class="br0">&#41;</span> <span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
<span class="co1">// Log ALL handlers for ALL events:</span>
jQuery.<span class="me1">each</span><span class="br0">&#40;</span>$<span class="br0">&#40;</span><span class="st0">'#elem'</span><span class="br0">&#41;</span>.<span class="me1">data</span><span class="br0">&#40;</span><span class="st0">'events'</span><span class="br0">&#41;</span><span class="sy0">,</span> <span class="kw2">function</span><span class="br0">&#40;</span>i<span class="sy0">,</span> event<span class="br0">&#41;</span><span class="br0">&#123;</span>
    jQuery.<span class="me1">each</span><span class="br0">&#40;</span>event<span class="sy0">,</span> <span class="kw2">function</span><span class="br0">&#40;</span>i<span class="sy0">,</span> handler<span class="br0">&#41;</span><span class="br0">&#123;</span>
        console.<span class="me1">log</span><span class="br0">&#40;</span> handler.<span class="me1">toString</span><span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#41;</span><span class="sy0">;</span>
    <span class="br0">&#125;</span><span class="br0">&#41;</span><span class="sy0">;</span>
<span class="br0">&#125;</span><span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
<span class="co1">// You can see the actual functions which will occur</span>
<span class="co1">// on certain events; great for debugging!</span></pre></div></div>



    </li>
    <li>jQuery natively supports JSONP (&#8216;<a href="http://json.org">JSON</a> with padding&#8217;) which effectively means you can make cross-domain &quot;Ajax&quot; requests (although not strictly Ajax since it doesn&#8217;t use XHR). For this to work the requested domain must have some JSONP API in place (it must be able wrap the JSON with a specified callback function). An example:


<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span class="kw2">function</span> getLatestFlickrPics<span class="br0">&#40;</span>tag<span class="sy0">,</span>callback<span class="br0">&#41;</span> <span class="br0">&#123;</span>
    <span class="kw2">var</span> flickrFeed <span class="sy0">=</span> <span class="st0">'http://api.flickr.com/services/feeds/photos_public.gne?tags='</span>
                   <span class="sy0">+</span> tag <span class="sy0">+</span> <span class="st0">'&amp;tagmode=any&amp;format=json&amp;jsoncallback=?'</span><span class="sy0">;</span>
    jQuery.<span class="me1">getJSON</span><span class="br0">&#40;</span>flickrFeed<span class="sy0">,</span> callback<span class="br0">&#41;</span><span class="sy0">;</span>
<span class="br0">&#125;</span>
&nbsp;
<span class="co1">// Usage:</span>
getLatestFlickrPics<span class="br0">&#40;</span><span class="st0">'ferrari'</span><span class="sy0">,</span> <span class="kw2">function</span><span class="br0">&#40;</span>data<span class="br0">&#41;</span><span class="br0">&#123;</span>
    jQuery.<span class="me1">each</span><span class="br0">&#40;</span>data.<span class="me1">items</span><span class="sy0">,</span> <span class="kw2">function</span><span class="br0">&#40;</span>i<span class="sy0">,</span> <span class="kw1">item</span><span class="br0">&#41;</span><span class="br0">&#123;</span>
        $<span class="br0">&#40;</span><span class="st0">&quot;&lt;img/&gt;&quot;</span><span class="br0">&#41;</span>.<span class="me1">attr</span><span class="br0">&#40;</span><span class="st0">&quot;src&quot;</span><span class="sy0">,</span> <span class="kw1">item</span>.<span class="me1">media</span>.<span class="me1">m</span><span class="br0">&#41;</span>.<span class="me1">appendTo</span><span class="br0">&#40;</span><span class="st0">'body'</span><span class="br0">&#41;</span><span class="sy0">;</span>
    <span class="br0">&#125;</span><span class="br0">&#41;</span><span class="sy0">;</span>
<span class="br0">&#125;</span><span class="br0">&#41;</span><span class="sy0">;</span></pre></div></div>


                                                                                                                                   
    </li>
    <li>You might find it a little messy but jQuery enables us to create an entire DOM structure within a single chain:


<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span class="co1">// Create and inject in one chain:</span>
jQuery<span class="br0">&#40;</span><span class="st0">'&lt;div/&gt;'</span><span class="br0">&#41;</span>
    .<span class="me1">append</span><span class="br0">&#40;</span><span class="st0">'&lt;p&gt;&lt;a href=&quot;#&quot;&gt;Foo&lt;/a&gt;&lt;/p&gt;'</span><span class="br0">&#41;</span>
    .<span class="me1">find</span><span class="br0">&#40;</span><span class="st0">'p a'</span><span class="br0">&#41;</span>
        .<span class="me1">click</span><span class="br0">&#40;</span><span class="kw2">function</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#123;</span>
            <span class="co1">// Do something...</span>
            <span class="kw1">return</span> <span class="kw2">false</span><span class="sy0">;</span>
        <span class="br0">&#125;</span><span class="br0">&#41;</span>
        .<span class="me1">end</span><span class="br0">&#40;</span><span class="br0">&#41;</span>
    .<span class="me1">append</span><span class="br0">&#40;</span><span class="st0">'&lt;p&gt;&lt;a href=&quot;#&quot;&gt;Bar&lt;/a&gt;&lt;/p&gt;'</span><span class="br0">&#41;</span>
    .<span class="me1">find</span><span class="br0">&#40;</span><span class="st0">'p:eq(1) a'</span><span class="br0">&#41;</span>
        .<span class="me1">click</span><span class="br0">&#40;</span><span class="kw2">function</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#123;</span>
            <span class="co1">// Do something else...</span>
            <span class="kw1">return</span> <span class="kw2">false</span><span class="sy0">;</span>
        <span class="br0">&#125;</span><span class="br0">&#41;</span>
        .<span class="me1">end</span><span class="br0">&#40;</span><span class="br0">&#41;</span>
    .<span class="me1">appendTo</span><span class="br0">&#40;</span><span class="st0">'body'</span><span class="br0">&#41;</span><span class="sy0">;</span></pre></div></div>



    </li>
    <li>Accessing the DOM elements within a jQuery collection is incredibly easy:


<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span class="kw2">var</span> HTMLCollection <span class="sy0">=</span> $<span class="br0">&#40;</span><span class="st0">'div'</span><span class="br0">&#41;</span>.<span class="me1">get</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
<span class="co1">// Alternatively, if you only want the first element:</span>
$<span class="br0">&#40;</span><span class="st0">'div'</span><span class="br0">&#41;</span>.<span class="me1">get</span><span class="br0">&#40;</span><span class="nu0">0</span><span class="br0">&#41;</span><span class="sy0">;</span>
$<span class="br0">&#40;</span><span class="st0">'div'</span><span class="br0">&#41;</span>.<span class="me1">get</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span><span class="sy0">;</span>
$<span class="br0">&#40;</span><span class="st0">'div'</span><span class="br0">&#41;</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span><span class="sy0">;</span></pre></div></div>


  
    </li>
    <li>Not only can you bind events to DOM elements; you can also bind a custom event to ANY object!


<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span class="kw2">function</span> Widget<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
    <span class="co1">// Do something...</span>
<span class="br0">&#125;</span><span class="sy0">;</span>
&nbsp;
<span class="kw2">var</span> myPhotoWidget <span class="sy0">=</span> <span class="kw2">new</span> Widget<span class="br0">&#40;</span><span class="st0">'photos'</span><span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
jQuery<span class="br0">&#40;</span>myPhotoWidget<span class="br0">&#41;</span>.<span class="me1">bind</span><span class="br0">&#40;</span><span class="st0">'photoAdd'</span><span class="sy0">,</span> <span class="kw2">function</span><span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
    <span class="co1">// Custom event handling...</span>
<span class="br0">&#125;</span><span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
<span class="co1">// Trigger event:</span>
jQuery<span class="br0">&#40;</span>myPhotoWidget<span class="br0">&#41;</span>.<span class="me1">trigger</span><span class="br0">&#40;</span><span class="st0">'photoAdd'</span><span class="br0">&#41;</span><span class="sy0">;</span></pre></div></div>



    </li>
    <li>Finding the index of a selected element is very easy. jQuery gives us the &#8216;index&#8217; method:


<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">$<span class="br0">&#40;</span><span class="st0">'table tr'</span><span class="br0">&#41;</span>.<span class="me1">click</span><span class="br0">&#40;</span><span class="kw2">function</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#123;</span>
    <span class="co1">// Find index of clicked table row:</span>
    <span class="kw2">var</span> index <span class="sy0">=</span> $<span class="br0">&#40;</span><span class="st0">'table tr'</span><span class="br0">&#41;</span>.<span class="me1">index</span><span class="br0">&#40;</span><span class="kw1">this</span><span class="br0">&#41;</span><span class="sy0">;</span>
<span class="br0">&#125;</span><span class="br0">&#41;</span><span class="sy0">;</span></pre></div></div>


 
    </li>
    <li>You can create your own filter selectors. I did a <a href="http://james.padolsey.com/javascript/extending-jquerys-selector-capabilities/">post on this</a> a while back, but take a look at an example anyway:


<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">$.<span class="me1">expr</span><span class="br0">&#91;</span><span class="st0">':'</span><span class="br0">&#93;</span>.<span class="me1">external</span> <span class="sy0">=</span> <span class="kw2">function</span><span class="br0">&#40;</span>elem<span class="sy0">,</span>index<span class="sy0">,</span>match<span class="br0">&#41;</span> <span class="br0">&#123;</span>
    <span class="kw2">var</span> url <span class="sy0">=</span> elem.<span class="me1">href</span> <span class="sy0">||</span> elem.<span class="me1">src</span><span class="sy0">,</span>
        loc <span class="sy0">=</span> window.<span class="me1">location</span><span class="sy0">;</span>
    <span class="kw1">return</span> <span class="sy0">!!</span>url.<span class="me1">match</span><span class="br0">&#40;</span><span class="kw2">new</span> RegExp<span class="br0">&#40;</span><span class="st0">'^'</span> <span class="sy0">+</span> loc.<span class="me1">protocol</span> <span class="sy0">+</span> <span class="st0">'//'</span> <span class="sy0">+</span> <span class="st0">'(?!'</span> <span class="sy0">+</span> loc.<span class="me1">hostname</span> <span class="sy0">+</span> <span class="st0">')'</span> <span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span>
<span class="br0">&#125;</span><span class="sy0">;</span>
&nbsp;
<span class="co1">// You can now use it within your selectors:</span>
&nbsp;
<span class="co1">// Find all external anchors:</span>
$<span class="br0">&#40;</span><span class="st0">'a:external'</span><span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
<span class="co1">// Find all external script elements:</span>
$<span class="br0">&#40;</span><span class="st0">'script:external'</span><span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
<span class="co1">// Determine if link is external:</span>
$<span class="br0">&#40;</span><span class="st0">'a#mylink'</span><span class="br0">&#41;</span>.<span class="kw1">is</span><span class="br0">&#40;</span><span class="st0">':external'</span><span class="br0">&#41;</span><span class="sy0">;</span> <span class="co1">// true/false</span></pre></div></div>



    </li>
    <li>I see quite a lot of people still using JavaScript&#8217;s FOR or WHILE constructs to create loops in their jQuery scripts. There&#8217;s nothing wrong with this but be aware that jQuery&#8217;s &#8216;each&#8217; method can also iterate over arrays and objects!


<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span class="kw2">var</span> myArr <span class="sy0">=</span> <span class="br0">&#91;</span><span class="st0">'apple'</span><span class="sy0">,</span><span class="st0">'banana'</span><span class="sy0">,</span><span class="st0">'orange'</span><span class="br0">&#93;</span><span class="sy0">;</span>
&nbsp;
$.<span class="me1">each</span><span class="br0">&#40;</span>myArr<span class="sy0">,</span> <span class="kw2">function</span><span class="br0">&#40;</span>index<span class="sy0">,</span> <span class="kw1">item</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
    <span class="co1">// Do something with 'item'</span>
    <span class="co1">// return false to BREAK</span>
    <span class="co1">// return true to CONTINUE</span>
<span class="br0">&#125;</span><span class="br0">&#41;</span><span class="sy0">;</span></pre></div></div>



    </li>
    <li>The &#8216;filter&#8217; method accepts a String selector or a function. When using it with a function you must return false to remove the element from the stack and true to keep it:


<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">$<span class="br0">&#40;</span><span class="st0">'div'</span><span class="br0">&#41;</span>.<span class="me1">filter</span><span class="br0">&#40;</span><span class="kw2">function</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#123;</span>
    <span class="kw1">return</span> <span class="kw1">this</span>.<span class="me1">childNodes</span>.<span class="me1">length</span> <span class="sy0">&gt;</span> <span class="nu0">10</span><span class="sy0">;</span> <span class="co1">// Must return a Boolean</span>
<span class="br0">&#125;</span><span class="br0">&#41;</span><span class="sy0">;</span></pre></div></div>



    </li>
    <li>You don&#8217;t have to give new elements IDs or classes to reference them later, just cache them into a variable:


<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span class="kw2">var</span> myInjectedDiv <span class="sy0">=</span> $<span class="br0">&#40;</span><span class="st0">'&lt;div/&gt;'</span><span class="br0">&#41;</span>.<span class="me1">appendTo</span><span class="br0">&#40;</span><span class="st0">'body'</span><span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
<span class="co1">// Use 'myInjectedDiv' to reference the element:</span>
myInjectedDiv.<span class="me1">bind</span><span class="br0">&#40;</span><span class="st0">'click'</span><span class="sy0">,</span> <span class="kw2">function</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#123;</span>
    <span class="co1">// ...</span>
<span class="br0">&#125;</span><span class="br0">&#41;</span><span class="sy0">;</span></pre></div></div>



    </li>
    <li>jQuery&#8217;s &#8216;map&#8217; method is incredibly useful, the passed function will be run on every item of the passed array (or object) and whatever the function returns each time is added to the new array, take a look:


<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span class="co1">// Create an array containing all anchor HREF attributes:</span>
<span class="kw2">var</span> URLs <span class="sy0">=</span> $.<span class="me1">map</span><span class="br0">&#40;</span>$<span class="br0">&#40;</span><span class="st0">'a'</span><span class="br0">&#41;</span><span class="sy0">,</span> <span class="kw2">function</span><span class="br0">&#40;</span>elem<span class="sy0">,</span> index<span class="br0">&#41;</span><span class="br0">&#123;</span>
    <span class="kw1">return</span> elem.<span class="me1">href</span><span class="sy0">;</span>
<span class="br0">&#125;</span><span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
<span class="co1">// URLs = ['http://google.com', 'http://whatever.com', 'http://yahoo.com']</span></pre></div></div>



    </li>
    <li>This isn&#8217;t jQuery related but it can be very useful. When you need to compare two different ways of doing something (performance-wise) you can use the Firebug console to log the time taken to complete a chunk of code, for example:


<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">console.<span class="me1">time</span><span class="br0">&#40;</span><span class="st0">'My first method'</span><span class="br0">&#41;</span><span class="sy0">;</span>
<span class="co1">// Do something...</span>
console.<span class="me1">timeEnd</span><span class="br0">&#40;</span><span class="st0">'My first method'</span><span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
console.<span class="me1">time</span><span class="br0">&#40;</span><span class="st0">'My second method'</span><span class="br0">&#41;</span><span class="sy0">;</span>
<span class="co1">// Do something else...</span>
console.<span class="me1">timeEnd</span><span class="br0">&#40;</span><span class="st0">'My second method'</span><span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
<span class="co1">// Firebug will log the time (in milliseconds) taken</span>
<span class="co1">// to complete each chunk...</span></pre></div></div>



</ul>]]></content:encoded>
			<wfw:commentRss>http://james.padolsey.com/javascript/things-you-may-not-know-about-jquery/feed/</wfw:commentRss>
		<slash:comments>36</slash:comments>
		</item>
		<item>
		<title>Getting the real time in JavaScript</title>
		<link>http://james.padolsey.com/javascript/getting-the-real-time-in-javascript/</link>
		<comments>http://james.padolsey.com/javascript/getting-the-real-time-in-javascript/#comments</comments>
		<pubDate>Thu, 29 Jan 2009 00:03:51 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Code Snippets]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Usability]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Mootools]]></category>
		<category><![CDATA[Time]]></category>

		<guid isPermaLink="false">http://james.padolsey.com/?p=477</guid>
		<description><![CDATA[Getting the time in JavaScript is pretty simple. Using the <a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Date">Date</a> constructor will give us the time as set on the user's computer, but what if we want the accurate time, or the time in a different timezone?]]></description>
			<content:encoded><![CDATA[<p>Getting the time in JavaScript is pretty simple. Using the <a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Date">Date</a> constructor will give us the time as set on the user&#8217;s computer, but what if we want the accurate time, or the time in a different timezone?</p>

<p>Even with <a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Date/getTimezoneOffset"><code>getTimezoneOffset()</code></a> you&#8217;re still relying on the client!</p>

<p>It turns out that the only way of getting a complete and accurate time from any timezone requires a little bit of server interaction. Luckily there are a few APIs out there that offer this service (actually, there&#8217;s only one; well I couldn&#8217;t find any others)! </p>

<p>Here we&#8217;re using the <a href="http://simonwillison.net/2008/Jun/21/jsontime/">&#8216;json-time&#8217; API developed by Simon Willson</a>:</p>


<h2>JSON-time</h2>


<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span class="kw2">function</span> getTime<span class="br0">&#40;</span>zone<span class="sy0">,</span> success<span class="br0">&#41;</span> <span class="br0">&#123;</span>
    <span class="kw2">var</span> url <span class="sy0">=</span> <span class="st0">'http://json-time.appspot.com/time.json?tz='</span> <span class="sy0">+</span> zone<span class="sy0">,</span>
        ud <span class="sy0">=</span> <span class="st0">'json'</span> <span class="sy0">+</span> <span class="br0">&#40;</span><span class="sy0">+</span><span class="kw2">new</span> Date<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span>
    window<span class="br0">&#91;</span>ud<span class="br0">&#93;</span><span class="sy0">=</span> <span class="kw2">function</span><span class="br0">&#40;</span>o<span class="br0">&#41;</span><span class="br0">&#123;</span>
        success <span class="sy0">&amp;&amp;</span> success<span class="br0">&#40;</span><span class="kw2">new</span> Date<span class="br0">&#40;</span>o.<span class="me1">datetime</span><span class="br0">&#41;</span><span class="sy0">,</span> o<span class="br0">&#41;</span><span class="sy0">;</span>
    <span class="br0">&#125;</span><span class="sy0">;</span>
    document.<span class="me1">getElementsByTagName</span><span class="br0">&#40;</span><span class="st0">'head'</span><span class="br0">&#41;</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span>.<span class="me1">appendChild</span><span class="br0">&#40;</span><span class="br0">&#40;</span><span class="kw2">function</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#123;</span>
        <span class="kw2">var</span> s <span class="sy0">=</span> document.<span class="me1">createElement</span><span class="br0">&#40;</span><span class="st0">'script'</span><span class="br0">&#41;</span><span class="sy0">;</span>
        s.<span class="me1">type</span> <span class="sy0">=</span> <span class="st0">'text/javascript'</span><span class="sy0">;</span>
        s.<span class="me1">src</span> <span class="sy0">=</span> url <span class="sy0">+</span> <span class="st0">'&amp;callback='</span> <span class="sy0">+</span> ud<span class="sy0">;</span>
        <span class="kw1">return</span> s<span class="sy0">;</span>
    <span class="br0">&#125;</span><span class="br0">&#41;</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span>
<span class="br0">&#125;</span></pre></div></div>




<h2>Usage</h2>

<p>The first parameter of the callback function is the time (having been passed through the Date constructor), so you can use <a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Date#Methods_2">Date methods</a> such as <code>getSeconds()</code> etc. The second parameter is the entire object returned from the JSON request.</p>


<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span class="co1">// Alert GMT:</span>
getTime<span class="br0">&#40;</span><span class="st0">'GMT'</span><span class="sy0">,</span> <span class="kw2">function</span><span class="br0">&#40;</span>time<span class="br0">&#41;</span><span class="br0">&#123;</span>
    <span class="kw3">alert</span><span class="br0">&#40;</span>time<span class="br0">&#41;</span><span class="sy0">;</span>
<span class="br0">&#125;</span><span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
<span class="co1">// Get London time, and format it:</span>
getTime<span class="br0">&#40;</span><span class="st0">'Europe/London'</span><span class="sy0">,</span> <span class="kw2">function</span><span class="br0">&#40;</span>time<span class="br0">&#41;</span><span class="br0">&#123;</span>
    <span class="kw2">var</span> formatted <span class="sy0">=</span> time.<span class="me1">getHours</span><span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="sy0">+</span> <span class="st0">':'</span> 
                  <span class="sy0">+</span> time.<span class="me1">getMinutes</span><span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="sy0">+</span> <span class="st0">':'</span>
                  <span class="sy0">+</span> time.<span class="me1">getSeconds</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
    <span class="kw3">alert</span><span class="br0">&#40;</span> <span class="st0">'The time in London is '</span> <span class="sy0">+</span> formatted <span class="br0">&#41;</span><span class="sy0">;</span>
<span class="br0">&#125;</span><span class="br0">&#41;</span><span class="sy0">;</span></pre></div></div>




<p>For reference, here&#8217;s <a href="http://json-time.appspot.com/timezones.json">a list of all the available timezones</a> (to use one, remove the backslash).</p>

<h2>jQuery version</h2>


<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">$.<span class="me1">getTime</span> <span class="sy0">=</span> <span class="kw2">function</span><span class="br0">&#40;</span>zone<span class="sy0">,</span> success<span class="br0">&#41;</span> <span class="br0">&#123;</span>
    <span class="kw2">var</span> url <span class="sy0">=</span> <span class="st0">'http://json-time.appspot.com/time.json?tz='</span>
            <span class="sy0">+</span> zone <span class="sy0">+</span> <span class="st0">'&amp;callback=?'</span><span class="sy0">;</span>
    $.<span class="me1">getJSON</span><span class="br0">&#40;</span>url<span class="sy0">,</span> <span class="kw2">function</span><span class="br0">&#40;</span>o<span class="br0">&#41;</span><span class="br0">&#123;</span>
        success <span class="sy0">&amp;&amp;</span> success<span class="br0">&#40;</span><span class="kw2">new</span> Date<span class="br0">&#40;</span>o.<span class="me1">datetime</span><span class="br0">&#41;</span><span class="sy0">,</span> o<span class="br0">&#41;</span><span class="sy0">;</span>
    <span class="br0">&#125;</span><span class="br0">&#41;</span><span class="sy0">;</span>
<span class="br0">&#125;</span><span class="sy0">;</span>
&nbsp;
<span class="co1">// Usage:</span>
$.<span class="me1">getTime</span><span class="br0">&#40;</span><span class="st0">'GMT'</span><span class="sy0">,</span> <span class="kw2">function</span><span class="br0">&#40;</span>time<span class="br0">&#41;</span><span class="br0">&#123;</span>
    <span class="kw3">alert</span><span class="br0">&#40;</span>time<span class="br0">&#41;</span><span class="sy0">;</span>
<span class="br0">&#125;</span><span class="br0">&#41;</span><span class="sy0">;</span></pre></div></div>




<h2>MooTools version</h2>

<p>You&#8217;ll need to download the <a href="http://www.clientcide.com/docs/Request/JsonP">JsonP class</a>.</p>


<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span class="kw2">function</span> getTime<span class="br0">&#40;</span>zone<span class="sy0">,</span> success<span class="br0">&#41;</span> <span class="br0">&#123;</span>
    <span class="kw2">var</span> url <span class="sy0">=</span> <span class="st0">'http://json-time.appspot.com/time.json'</span><span class="sy0">;</span>
    <span class="kw2">new</span> JsonP<span class="br0">&#40;</span>url<span class="sy0">,</span> <span class="br0">&#123;</span>
        data<span class="sy0">:</span> <span class="br0">&#123;</span> tz<span class="sy0">:</span> zone <span class="br0">&#125;</span><span class="sy0">,</span>
        onComplete<span class="sy0">:</span> <span class="kw2">function</span><span class="br0">&#40;</span>o<span class="br0">&#41;</span><span class="br0">&#123;</span>
            success <span class="sy0">&amp;&amp;</span> success<span class="br0">&#40;</span><span class="kw2">new</span> Date<span class="br0">&#40;</span>o.<span class="me1">datetime</span><span class="br0">&#41;</span><span class="sy0">,</span> o<span class="br0">&#41;</span><span class="sy0">;</span>
        <span class="br0">&#125;</span>
    <span class="br0">&#125;</span><span class="br0">&#41;</span>.<span class="me1">request</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
<span class="br0">&#125;</span>
&nbsp;
<span class="co1">// Usage:</span>
getTime<span class="br0">&#40;</span><span class="st0">'GMT'</span><span class="sy0">,</span> <span class="kw2">function</span><span class="br0">&#40;</span>time<span class="br0">&#41;</span><span class="br0">&#123;</span>
    <span class="kw3">alert</span><span class="br0">&#40;</span>time<span class="br0">&#41;</span><span class="sy0">;</span>
<span class="br0">&#125;</span><span class="br0">&#41;</span><span class="sy0">;</span></pre></div></div>




<p>Thank you <a href="http://simonwillison.net/">Simon Willison</a> for making this API; seriously, I searched around the entire internets just for one damn API and I almost lost hope!</p>]]></content:encoded>
			<wfw:commentRss>http://james.padolsey.com/javascript/getting-the-real-time-in-javascript/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Welcome to my new blog!</title>
		<link>http://james.padolsey.com/general/welcome/</link>
		<comments>http://james.padolsey.com/general/welcome/#comments</comments>
		<pubDate>Sat, 04 Oct 2008 15:36:56 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Me]]></category>
		<category><![CDATA[New]]></category>
		<category><![CDATA[Welcome]]></category>

		<guid isPermaLink="false">http://james.padolsey.com/?p=1</guid>
		<description><![CDATA[Hello, welcome to my personal blog. To find out more about me, you can visit the &#34;<a href="/about">about me</a>&#34; page. I&#8217;m currently running another blog called &#34;<a href="http://enhance.qd-creative.co.uk">Enhance the user experience</a>&#34; &#8211; it mainly focuses on web development tutorials and various script releases. I&#8217;m hoping to do&#8230;]]></description>
			<content:encoded><![CDATA[<p>Hello, welcome to my personal blog. To find out more about me, you can visit the &quot;<a href="/about">about me</a>&quot; page. I&#8217;m currently running another blog called &quot;<a href="http://enhance.qd-creative.co.uk">Enhance the user experience</a>&quot; &#8211; it mainly focuses on web development tutorials and various script releases. I&#8217;m hoping to do a couple of webdev related posts each month on this blog too since I don&#8217;t want all to be personal.</p>
<p>Since this website of mine is entirely new there a bound to be a couple of issues, if you spot a major one <a href="/contact">please let me know</a>. Also any feedback or suggestions on the design of this site are much appreciated! By the way the relevance of the car is that it is new, much like this website! <img src='http://james.padolsey.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  </p>
<p>I&#8217;ve done a post discussing a couple of the new features over here for those interested.</p>
<p>PS. I&#8217;d like to thank <a href="http://www.adellecharles.com/">Adelle Charles</a> of &quot;<a href="http://www.fuelyourcreativity.com/">Fuel your Creativity</a>&quot; for helping out with the design! </p>]]></content:encoded>
			<wfw:commentRss>http://james.padolsey.com/general/welcome/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

