<?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>1stwebdesigner - Graphic and Web Design Blog &#187; jquery</title>
	<atom:link href="http://www.1stwebdesigner.com/tag/jquery/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.1stwebdesigner.com</link>
	<description>1stwebdesigner is a design blog dedicated to bloggers, freelancers, web-developers and designers. Topics focus on web design and inspirational articles.</description>
	<lastBuildDate>Sun, 12 Feb 2012 13:09:13 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>jQuery Mobile &#8211; What You Need to Know</title>
		<link>http://www.1stwebdesigner.com/css/jquery-mobile-need-to-know/</link>
		<comments>http://www.1stwebdesigner.com/css/jquery-mobile-need-to-know/#comments</comments>
		<pubDate>Mon, 30 Jan 2012 10:00:22 +0000</pubDate>
		<dc:creator>Rochester Oliveira</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[JS & AJAX]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[jquery mobile]]></category>
		<category><![CDATA[mobile site]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[web mobile]]></category>

		<guid isPermaLink="false">http://www.1stwebdesigner.com/?p=60417</guid>
		<description><![CDATA[jQuery Mobile version 1.0 finally launched this past November. Don&#8217;t know if you heard about it, but if you are planning to do any mobile app or website development, it&#8217;s better to get started with it right now. I&#8217;m sure you&#8217;ve heard about jQuery. So, its mobile version is pretty close to what you already [...]]]></description>
			<content:encoded><![CDATA[<p>jQuery Mobile version 1.0 finally launched this past November. Don&#8217;t know if you heard about it, but if you are planning to do any mobile app or website development, it&#8217;s better to get started with it right now.</p>
<p>I&#8217;m sure you&#8217;ve heard about jQuery. So, its mobile version is pretty close to what you already are used to, but with a lot of enhancements for mobile screen events (like touching instead of click, and there is no hover) and browsers (this one is tricky since there are plenty of browsers and devices out there) and capabilities (pluggable components).</p>
<p>The crazy thing is how simple it is to initiate and build a fully working mobile site. Actually, we&#8217;ll be talking about concepts, tips, codes, and in the meantime you can build your own app, in no more than one hour. Yeah, noob to ninja in one hour, this is what you&#8217;ll get here :)</p>
<p>So, let&#8217;s rock!</p>
<p><span id="more-60417"></span></p>
<h2>jQuery Mobile&#8217;s Main Concept</h2>
<hr style="margin-left: 20px;" align="left" width="60%" />
<p><a href="http://jquerymobile.com/"><img class="alignnone size-full wp-image-62982" title="jquery-print" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2012/01/jquery-print.jpg" alt="" width="550" height="316" /></a></p>
<h3>Cross browsing, a nightmare that was coming back</h3>
<p>Those who used to code anything between 2001 and 2008 (while &lt; IE6 was pretty huge, and Firefox / Chrome were just the new kids on the browser block) faced the nightmare of cross-browser issues. I mean, if you think that putting a vendor prefix before CSS code is cross-browser, try to get things working well on IE5.5, IE6, Opera and Firefox without CSS / JS hacks.</p>
<p>That, dear Padawan, was crazy.</p>
<p>Back to 2010, mobile was getting bigger and bigger. So were the types of browsers out there. Each smart phone and tablet has its own capabilities and its own particularities. Try mixing that with touch oriented screens and a huge range of screen sizes. Sound familiar?</p>
<h2>Then, the hero arrives</h2>
<hr style="margin-left: 20px;" align="left" width="60%" />
<p><img class="alignnone size-full wp-image-62983" title="jquery-hero" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2012/01/jquery-hero.jpg" alt="" width="600" height="400" /></p>
<p>Credits: <a href="http://www.sxc.hu/photo/955075">bizior</a> (photo) &amp; Rochester Oliveira (edit)</p>
<p>jQuery Mobile comes with a huge compatibility table, with lots of devices and platforms well covered. All you&#8217;ve got to do is include their libraries, and try to stop your jaw from hitting the floor when you see the amazing features.</p>
<p>Oh, and it&#8217;s not just about cross browsing. It also covers a lot of UI elements that are already standards out there. And if you want a little more customized look you can easily change that, without messing up functionality.</p>
<h2>Awesomeness proven, let&#8217;s code!</h2>
<hr style="margin-left: 20px;" align="left" width="60%" />
<p>Ok, now you know why this project is so great, let&#8217;s take a look at some of the overall effects, components, good practices and code that you may want to use.</p>
<h2>Basic structure</h2>
<hr style="margin-left: 20px;" align="left" width="60%" />
<p>Just to get started, let&#8217;s grab our files from jQuery&#8217;s CDN. We&#8217;ll need just 3 files:</p>
<ul>
<li>jQuery Mobile stylesheet</li>
<li>jQuery JS</li>
<li>jQuery Mobile JS</li>
</ul>
<p>So your code will look like:</p>
<pre class="brush: php; title: ; notranslate">&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
	&lt;title&gt;Starter page&lt;/title&gt;
	&lt;meta charset=&quot;utf-8&quot; /&gt;
    &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1&quot; /&gt;
    &lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge,chrome=1&quot; /&gt;
	&lt;link rel=&quot;stylesheet&quot; href=&quot;http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.min.css&quot; /&gt;
	&lt;script src=&quot;http://code.jquery.com/jquery-1.6.4.min.js&quot;&gt;&lt;/script&gt;
	&lt;script src=&quot;http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.min.js&quot;&gt;&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;
	&lt;div data-role=&quot;page&quot; id=&quot;home&quot;&gt;
		&lt;div data-role=&quot;header&quot;&gt;
			&lt;h1&gt;Header&lt;/h1&gt;
		&lt;/div&gt;
		&lt;div data-role=&quot;content&quot;&gt;
			&lt;p&gt;Lorem ipsum&lt;/p&gt;
		&lt;/div&gt;
		&lt;div data-role=&quot;footer&quot;&gt;
			&lt;h4&gt;Footer&lt;/h4&gt;
		&lt;/div&gt;
	&lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>
<p>As you may notice it uses HTML5 markup and data-* attributes to get things working. This snippet will output this (all tests done with iOS 5.0.1 @ iPod):</p>
<p><img class="alignnone size-full wp-image-62985" title="screen-1" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2012/01/screen-1.jpg" alt="" width="550" height="367" /></p>
<p>Important note, any &#8220;traditional&#8221; jQuery call should be placed before the call for mobile framework.</p>
<h2>Basic UI components</h2>
<hr style="margin-left: 20px;" align="left" width="60%" />
<p>jQuery Mobile uses data-* attributes to define UI components. Actually you just saw 4 of them above. Let&#8217;s see a small list of them and their correspondent data attribute:</p>
<ul>
<li><strong>data-role=&#8221;page&#8221;</strong> : you can set divs inside your HTML page to behave as pages. SO what we&#8217;ve done above is to create a page &#8220;home&#8221; inside our file</li>
<li><strong>data-role=&#8221;header&#8221;:</strong> used to mark divs as top toolbars. You can set up data-position=&#8221;fixed&#8221; as well so it&#8217;ll behave as fixed toolbar</li>
<li><strong>data-role=&#8221;content&#8221;:</strong> the main part of your website / app. Images, buttons, actions and all the magic happens here!</li>
<li><strong>data-role=&#8221;footer&#8221;:</strong> defines a toolbar at the bottom of current page. May use data-position=&#8221;fixed&#8221; too so it&#8217;ll force to stay at the bottom of the screen</li>
<li><strong>data-role=&#8221;button&#8221;:</strong> it&#8217;ll be useful together with elements. You may use also data-transition to define how it&#8217;ll load next page. Options: slide, slideup, slidedown, pop, fade, flip. Another cool thing is data-icon, which gives you a <a href="http://jquerymobile.com/demos/1.0a4.1/docs/buttons/buttons-icons.html">lot of default icons</a>. You may also reduce its size using data-inline=&#8221;true&#8221;.</li>
<li><strong>data-theme=&#8221;a/b/c/d/e&#8221;:</strong> Define color scheme used for elements.</li>
</ul>
<p>Let&#8217;s wrap up all those attributes in a simple 2-page linking. Output:</p>
<p><img class="alignnone size-full wp-image-62984" title="screen-2" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2012/01/screen-2.jpg" alt="" width="550" height="367" /></p>
<p>Second page:</p>
<p><img class="alignnone size-full wp-image-62986" title="screen-3" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2012/01/screen-3.jpg" alt="" width="550" height="367" /></p>
<p>Code:</p>
<pre class="brush: php; title: ; notranslate">&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
	&lt;title&gt;Starter page&lt;/title&gt;
	&lt;meta charset=&quot;utf-8&quot; /&gt;
    &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1&quot; /&gt;
    &lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge,chrome=1&quot; /&gt;
	&lt;link rel=&quot;stylesheet&quot; href=&quot;http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.min.css&quot; /&gt;
	&lt;script src=&quot;http://code.jquery.com/jquery-1.6.4.min.js&quot;&gt;&lt;/script&gt;
	&lt;script src=&quot;http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.min.js&quot;&gt;&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;
	&lt;div data-role=&quot;page&quot; id=&quot;home&quot; data-theme=&quot;b&quot;&gt;
		&lt;div data-role=&quot;header&quot;&gt;
			&lt;h1&gt;Header&lt;/h1&gt;
		&lt;/div&gt;
		&lt;div data-role=&quot;content&quot;&gt;
			&lt;p&gt;Lorem ipsum&lt;/p&gt;
			 &lt;p&gt;&lt;a href=&quot;#second&quot; data-role=&quot;button&quot; data-transition=&quot;fade&quot; data-icon=&quot;arrow-r&quot; data-iconpos=&quot;right&quot;&gt;Second page&lt;/a&gt;&lt;/p&gt;
		&lt;/div&gt;
		&lt;div data-role=&quot;footer&quot;&gt;
			&lt;h4&gt;Footer&lt;/h4&gt;
		&lt;/div&gt;
	&lt;/div&gt;
	&lt;div data-role=&quot;page&quot; id=&quot;second&quot;&gt;
		&lt;div data-role=&quot;header&quot;&gt;
			&lt;h1&gt;Header second page&lt;/h1&gt;
		&lt;/div&gt;
		&lt;div data-role=&quot;content&quot;&gt;
			&lt;p&gt;I'm second page!&lt;/p&gt;
		&lt;/div&gt;
		&lt;div data-role=&quot;footer&quot;&gt;
			&lt;h4&gt;Footer second page&lt;/h4&gt;
		&lt;/div&gt;
	&lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>
<h2>Navigation, Lists, Form &amp; Dialog Components</h2>
<hr style="margin-left: 20px;" align="left" width="60%" />
<p>Then we have a bunch of other default components that are easily implemented with jQuery Mobile:</p>
<ul>
<li><strong>data-role=&#8221;navbar&#8221;:</strong> Used to create menus. Then you should place a ul item with li&#8217;s and a&#8217;s (BTW, that&#8217;s the way you should create menus, always)</li>
<li><strong>data-role=&#8221;listview&#8221; + data-filter=&#8221;true&#8221; :</strong> Awesomely easy way to create searchable lists. Really useful!</li>
<li><strong>data-role=&#8221;fieldcontain&#8221;:</strong> This is a container for form elements</li>
<li>select  data-native-menu=&#8221;false&#8221;: creates a cool select element as &#8220;floating&#8221; element instead of default select which stole half of screen area</li>
<li><strong>select  data-role=&#8221;slider&#8221;:</strong> Creates a &#8220;on / off&#8221; slider, useful for options pages</li>
<li><strong>input type=email, tel, number, url..:</strong> accepts any HTML5 data format, and adjust keyboard to better fit data type</li>
<li><strong>input type=range:</strong> same as before, but this one uses new HTML format and creates an actual slider, good for numbers range inputs</li>
<li><strong>data-rel=&#8221;dialog&#8221;:</strong> is an anchor attribute that makes target page opens as dialog box.</li>
<li><strong>data-add-back-btn=&#8221;true&#8221;:</strong> add this attribute to your page and you&#8217;ll have a &#8220;back&#8221; button. Cool, huh?</li>
</ul>
<p>Now we&#8217;ll edit our demo file a little bit. It&#8217;ll be 4 pages now:</p>
<ul>
<li>Home screen will have a dialog box</li>
<li>Form elements page will use all we have mentioned</li>
<li>List page will have a searchable list so you can try it</li>
<li>Alert page has target content when user clicks the alert link</li>
</ul>
<p>Previews:</p>
<p><img class="alignnone  wp-image-62987" title="screen-4" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2012/01/screen-4.jpg" alt="" width="334" height="500" /></p>
<p>Alert page:</p>
<p><img class="alignnone  wp-image-62988" title="screen-5" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2012/01/screen-5.jpg" alt="" width="333" height="500" /></p>
<p>Form page:</p>
<p><img class="alignnone  wp-image-62990" title="screen-7" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2012/01/screen-7.jpg" alt="" width="333" height="500" /></p>
<p>Lists page:</p>
<p><img class="alignnone  wp-image-62989" title="screen-6" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2012/01/screen-6.jpg" alt="" width="334" height="500" /></p>
<pre class="brush: php; title: ; notranslate">&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
	&lt;title&gt;Starter page - 1stWebDesigner.com&lt;/title&gt;
	&lt;meta charset=&quot;utf-8&quot; /&gt;
    &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1&quot; /&gt;
    &lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge,chrome=1&quot; /&gt;
	&lt;link rel=&quot;stylesheet&quot; href=&quot;http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.min.css&quot; /&gt;
	&lt;script src=&quot;http://code.jquery.com/jquery-1.6.4.min.js&quot;&gt;&lt;/script&gt;
	&lt;script src=&quot;http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.min.js&quot;&gt;&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;
	&lt;div data-role=&quot;page&quot; id=&quot;home&quot; data-add-back-btn=&quot;true&quot;&gt;
		&lt;div data-role=&quot;header&quot;&gt;
			&lt;h1&gt;Alert element&lt;/h1&gt;
		&lt;/div&gt;
		&lt;div data-role=&quot;content&quot;&gt;
			&lt;p&gt;&lt;a href=&quot;#alert&quot; data-role=&quot;button&quot; data-transition=&quot;fade&quot; data-icon=&quot;arrow-r&quot; data-iconpos=&quot;right&quot; data-theme=&quot;b&quot; data-rel=&quot;dialog&quot;&gt;Open alert&lt;/a&gt;&lt;/p&gt;
		&lt;/div&gt;
		&lt;div data-role=&quot;footer&quot;&gt;
			&lt;div data-role=&quot;navbar&quot;&gt;
				&lt;ul&gt;
					&lt;li&gt;&lt;a href=&quot;#form&quot; data-role=&quot;button&quot; data-transition=&quot;fade&quot; data-icon=&quot;arrow-r&quot; data-iconpos=&quot;right&quot; data-inline=&quot;true&quot;&gt;Form Elements&lt;/a&gt;&lt;/li&gt;
					&lt;li&gt;&lt;a href=&quot;#list&quot; data-role=&quot;button&quot; data-transition=&quot;fade&quot; data-icon=&quot;arrow-r&quot; data-iconpos=&quot;right&quot; data-inline=&quot;true&quot;&gt;List element&lt;/a&gt;&lt;/li&gt;
				&lt;/ul&gt;
			&lt;/div&gt;
		&lt;/div&gt;
	&lt;/div&gt;
	&lt;div data-role=&quot;page&quot; id=&quot;form&quot; data-add-back-btn=&quot;true&quot;&gt;
		&lt;div data-role=&quot;header&quot;&gt;
			&lt;h1&gt;Form elements&lt;/h1&gt;
		&lt;/div&gt;
		&lt;div data-role=&quot;content&quot;&gt;
			&lt;div data-role=&quot;fieldcontain&quot;&gt;
				&lt;label for=&quot;name&quot; class=&quot;select&quot;&gt;Choose:&lt;/label&gt;
				&lt;select id=&quot;name&quot; name=&quot;select&quot; data-native-menu=&quot;false&quot;&gt;
					&lt;option value=&quot;value1&quot;&gt;option1&lt;/option&gt;
					&lt;option value=&quot;value2&quot;&gt;option2&lt;/option&gt;
					&lt;option value=&quot;value3&quot;&gt;option3&lt;/option&gt;
				&lt;/select&gt;

				&lt;label for=&quot;slider&quot;&gt;Select slider:&lt;/label&gt;
				&lt;select name=&quot;slider&quot; id=&quot;slider&quot; data-role=&quot;slider&quot;&gt;
					&lt;option value=&quot;off&quot;&gt;Off&lt;/option&gt;
					&lt;option value=&quot;on&quot;&gt;On&lt;/option&gt;
				&lt;/select&gt;

				&lt;label for=&quot;slider&quot;&gt;Input slider:&lt;/label&gt;
				&lt;input type=&quot;range&quot; name=&quot;slider&quot; id=&quot;slider&quot; value=&quot;0&quot; min=&quot;0&quot; max=&quot;100&quot;  /&gt;

				&lt;label for=&quot;email&quot;&gt;Email Input:&lt;/label&gt;
				&lt;input type=&quot;email&quot; id=&quot;email&quot; name=&quot;email&quot; value=&quot;&quot;  /&gt;

				&lt;label for=&quot;num&quot;&gt;Number Input:&lt;/label&gt;
				&lt;input type=&quot;number&quot; id=&quot;num&quot; name=&quot;num&quot; value=&quot;&quot;  /&gt;
			&lt;/div&gt;
		&lt;/div&gt;
		&lt;div data-role=&quot;footer&quot;&gt;
			&lt;div data-role=&quot;navbar&quot;&gt;
				&lt;ul&gt;
					&lt;li&gt;&lt;a href=&quot;#home&quot; data-role=&quot;button&quot; data-transition=&quot;fade&quot; data-icon=&quot;arrow-r&quot; data-iconpos=&quot;right&quot; data-inline=&quot;true&quot;&gt;Home&lt;/a&gt;&lt;/li&gt;
					&lt;li&gt;&lt;a href=&quot;#list&quot; data-role=&quot;button&quot; data-transition=&quot;fade&quot; data-icon=&quot;arrow-r&quot; data-iconpos=&quot;right&quot; data-inline=&quot;true&quot;&gt;List element&lt;/a&gt;&lt;/li&gt;
				&lt;/ul&gt;
			&lt;/div&gt;
		&lt;/div&gt;
	&lt;/div&gt;
	&lt;div data-role=&quot;page&quot; id=&quot;list&quot; data-add-back-btn=&quot;true&quot;&gt;
		&lt;div data-role=&quot;header&quot;&gt;
			&lt;h1&gt;This is a list&lt;/h1&gt;
		&lt;/div&gt;
		&lt;div data-role=&quot;content&quot;&gt;
			&lt;ul data-role=&quot;listview&quot; data-filter=&quot;true&quot;&gt;
				&lt;li&gt;Lorem ipsum dolor sit amet, consectetur adipiscing elit.&lt;/li&gt;
				&lt;li&gt;Aliquam vitae leo metus, quis suscipit nulla.&lt;/li&gt;
				&lt;li&gt;Maecenas accumsan urna sit amet justo commodo accumsan.&lt;/li&gt;
				&lt;li&gt;Nulla vitae lacus augue, vel eleifend tellus.&lt;/li&gt;
				&lt;li&gt;Integer at ligula turpis, at fermentum nisl.&lt;/li&gt;
				&lt;li&gt;Nam dapibus risus at massa sagittis egestas.&lt;/li&gt;
				&lt;li&gt;Praesent hendrerit purus vitae enim faucibus tincidunt.&lt;/li&gt;
				&lt;li&gt;Curabitur sit amet lectus neque, id facilisis elit.&lt;/li&gt;
			&lt;/ul&gt;
		&lt;/div&gt;
		&lt;div data-role=&quot;footer&quot;&gt;
			&lt;div data-role=&quot;navbar&quot;&gt;
				&lt;ul&gt;
					&lt;li&gt;&lt;a href=&quot;#home&quot; data-role=&quot;button&quot; data-transition=&quot;fade&quot; data-icon=&quot;arrow-r&quot; data-iconpos=&quot;right&quot; data-inline=&quot;true&quot;&gt;Home&lt;/a&gt;&lt;/li&gt;
					&lt;li&gt;&lt;a href=&quot;#form&quot; data-role=&quot;button&quot; data-transition=&quot;fade&quot; data-icon=&quot;arrow-r&quot; data-iconpos=&quot;right&quot; data-inline=&quot;true&quot;&gt;Form element&lt;/a&gt;&lt;/li&gt;
				&lt;/ul&gt;
			&lt;/div&gt;
		&lt;/div&gt;
	&lt;/div&gt;
	&lt;div data-role=&quot;page&quot; id=&quot;alert&quot; data-add-back-btn=&quot;true&quot;&gt;
		&lt;div data-role=&quot;header&quot;&gt;
			&lt;h1&gt;Alert!&lt;/h1&gt;
		&lt;/div&gt;
		&lt;div data-role=&quot;content&quot;&gt;
			&lt;p&gt;I'm alert page!&lt;/p&gt;
		&lt;/div&gt;
	&lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>
<h2>Custom font embedding</h2>
<hr style="margin-left: 20px;" align="left" width="60%" />
<p>Probably no method will beat @font-face. So I suggest you go to <a href="http://www.fontsquirrel.com/fontface/generator">Font Squirrel</a> and generate your font files.</p>
<p><a href="http://www.fontsquirrel.com/fontface/generator"><img class="alignnone size-full wp-image-62991" title="font-squirrel" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2012/01/font-squirrel.jpg" alt="" width="550" height="461" /></a></p>
<h2>Compress images</h2>
<hr style="margin-left: 20px;" align="left" width="60%" />
<p>You should do this all the time, actually. But when you are designing for the mobile world, even a few kb&#8217;s makes big difference. So save your user&#8217;s bandwidth and compress not only your code, but all your images.</p>
<p><a href="http://www.jpegmini.com/main/home">JPEG mini</a> has the best compressing service I&#8217;ve ever seen, and it&#8217;s quite easy to use, you should give it a try!</p>
<p><a href="http://www.jpegmini.com/main/home"><img class="alignnone size-full wp-image-62992" title="jpegmini" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2012/01/jpegmini.jpg" alt="" width="476" height="391" /></a></p>
<h2>Remove components</h2>
<hr style="margin-left: 20px;" align="left" width="60%" />
<p>We talked about just a few of many jQuery Mobile&#8217;s components. So it&#8217;s more likely you won&#8217;t be using them all.</p>
<p>The good news is that you can easily remove them, by <a href="http://jquerymobile.com/blog/2011/08/03/jquery-mobile-beta-2-released/#features">making your own build</a> :)</p>
<p><a href="http://jquerymobile.com/blog/2011/08/03/jquery-mobile-beta-2-released/#features"><img class="alignnone size-full wp-image-62993" title="widgets" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2012/01/widgets.jpg" alt="" width="476" height="391" /></a></p>
<h2>Now it&#8217;s your turn?</h2>
<hr style="margin-left: 20px;" align="left" width="60%" />
<p>So, how are you planning to use jQuery Mobile? Have another cool tip to share? Don&#8217;t be shy and comment!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.1stwebdesigner.com/css/jquery-mobile-need-to-know/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>40+ Fresh jQuery Image and Content Sliders Plugins</title>
		<link>http://www.1stwebdesigner.com/tutorials/40-fresh-jquery-image-and-content-sliders-plugins/</link>
		<comments>http://www.1stwebdesigner.com/tutorials/40-fresh-jquery-image-and-content-sliders-plugins/#comments</comments>
		<pubDate>Wed, 28 Dec 2011 21:00:12 +0000</pubDate>
		<dc:creator>Jameel Khan</dc:creator>
				<category><![CDATA[Photo Effects]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[designing]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[photo effects]]></category>
		<category><![CDATA[Roundup]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://www.1stwebdesigner.com/?p=61070</guid>
		<description><![CDATA[In this round-up, you will find the best of the freshest jQuery Image and Content Sliders Plugins so that you can take advantage of them and produce startling image and content sliders. You may find it quite difficult to figure out which plugin is best for you because all these plugins have different functionality. Keeping [...]]]></description>
			<content:encoded><![CDATA[<p>In this round-up, you will find the best of the freshest jQuery Image and Content Sliders Plugins so that you can take advantage of them and produce startling image and content sliders. You may find it quite difficult to figure out which plugin is best for you because all these plugins have different functionality. Keeping this in mind, we compiled this post. Let’s have a closer look!</p>
<p><span id="more-61070"></span></p>
<h3>1. <a href="http://flex.madebymufffin.com/">FlexSlider</a></h3>
<p>( <a href="http://flex.madebymufffin.com/">Demo </a> | <a href="http://flex.madebymufffin.com/files/FlexSlider-1.7.zip">Download</a> )</p>
<p>FlexSlider is an amazing, totally responsive jQuery slider plugin. It bears uncomplicated, semantic markup, slide and fade animations, and is supported in all major browsers, therefore you won’t have any compatibility issues. Flexslider is built for novices and pros in a similar way.</p>
<p><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/12/jquerysliders8.jpg" alt="FlexSlider" width="570" border="0" /></p>
<h3>2. <a href="http://tutorialzine.com/2011/07/bubble-slideshow-jquery-css/">Bubble Slideshow Effect with jQuery</a></h3>
<p>( <a href="http://demo.tutorialzine.com/2011/07/bubble-slideshow-jquery-css/">Demo </a> | <a href="http://demo.tutorialzine.com/2011/07/bubble-slideshow-jquery-css/bubble-slideshow.zip">Download</a> )</p>
<p>In this tutorial we will be building a jQuery-powered bubble animation effect. It will be a great way to present a set of images on your website as an interesting slideshow, and as the code will be completely modular, you will be able to easily use it and modify it.</p>
<p><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/12/jquerysliders39.jpg" alt="Bubble Slideshow Effect with jQuery" width="570" border="0" /></p>
<h3>3. <a href="http://tympanus.net/codrops/2011/09/20/responsive-image-gallery/">Responsive Image Gallery with Thumbnail Carousel</a></h3>
<p>( <a href="http://tympanus.net/Tutorials/ResponsiveImageGallery/">Demo </a> | <a href="http://tympanus.net/Tutorials/ResponsiveImageGallery/ResponsiveImageGallery.zip">Download</a> )</p>
<p>With this plugin you can create a responsive image gallery with a thumbnail carousel using Elastislide. The gallery will have a view switch that allows people to view it with or without the thumbnail carousel. We’ll also add the possibility to navigate with the keyboard.</p>
<p><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/12/jquerysliders29.jpg" alt="Responsive Image Gallery with Thumbnail Carousel" width="570" border="0" /></p>
<h3>4. <a href="http://tympanus.net/codrops/2011/08/16/circular-content-carousel/">Circular Content Carousel with jQuery</a></h3>
<p>( <a href="http://tympanus.net/Development/CircularContentCarousel/">Demo </a> | <a href="http://tympanus.net/Development/CircularContentCarousel/CircularContentCarousel.zip">Download</a> )</p>
<p>With this circular content carousel, you can have some content boxes that can slide substantially (circular). Clicking the “More” link will move the respective item to the left and slide out the content area, so that you can navigate through the carousel where every step will disclose the next or previous content box with its extended content.</p>
<p><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/12/jquerysliders21.jpg" alt="Circular Content Carousel with jQuery" width="570" border="0" /></p>
<h3>5. <a href="http://tympanus.net/codrops/2011/12/05/lateral-on-scroll-sliding-with-jquery/">Lateral On-Scroll Sliding with jQuery</a></h3>
<p>( <a href="http://tympanus.net/Tutorials/LateralOnScrollSliding/">Demo </a> | <a href="http://tympanus.net/Tutorials/LateralOnScrollSliding/LateralOnScrollSliding.zip">Download</a> )</p>
<p>In this tutorial we are going to show you how to create a “slide-in on scroll” effect. You’ve probably seen this cool effect on some websites, like on Nizo or in the portfolio section of brilliantly designed La Moulade. The main idea is to laterally slide in elements depending on the scroll position of the document. Dividing the page into a left and right side, we want to move the elements from “outside” of the page to the center when they are in the viewport.</p>
<p><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/12/jquerysliders24.jpg" alt="Lateral On-Scroll Sliding with jQuery" width="570" border="0" /></p>
<h3>6. <a href="http://tympanus.net/codrops/2011/09/30/scrollbar-visibility-with-jscrollpane/">Scrollbar Visibility with jScrollPane</a></h3>
<p>( <a href="http://tympanus.net/Tutorials/ScrollbarVisibility/">Demo </a> | <a href="http://tympanus.net/Tutorials/ScrollbarVisibility/ScrollbarVisibility.zip">Download</a> )</p>
<p>Sometimes it can be very useful to hide the scrollbar of elements in a website and only show it when the user really needs it. The real-time activity feed in Facebook is an example for such a behavior. In this tutorial we want to show you how to use jScrollPane and extend it with the functionality to hide the scrollbar and show it on hover.</p>
<p><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/12/jquerysliders28.jpg" alt="Scrollbar Visibility with jScrollPane" width="570" border="0" /></p>
<h3>7. <a href="http://www.csslab.cl/2011/08/18/jquery-timelinr/">Timelinr</a></h3>
<p>( <a href="http://www.csslab.cl/ejemplos/timelinr/latest/horizontal.html">Demo </a> | <a href="http://www.csslab.cl/ejemplos/timelinr/latest/horizontal.html">Download</a> )</p>
<p>This simple jQuery plugin will assist you in providing more life to otherwise your lifeless timelines. With this plugin, you can easily parameterize the majority of attributes: speed, transparency, etc. It also supports horizontal and vertical layouts.</p>
<p><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/12/jquerysliders1.jpg" alt="Timelinr" width="570" border="0" /></p>
<h3>8. <a href="http://www.egrappler.com/smart-image-gallery-with-twelve-transition-effects-smart-gallery/">SmartGallery</a></h3>
<p>( <a href="http://www.egrappler.com/smart-gallery/index.htm">Demo </a> | <a href="http://www.egrappler.com/smart-gallery/smart-gallery.zip">Download</a> )</p>
<p>SmartGallery is a lightweight, lightening up fast and completely customizable image gallery that has been exclusively designed to support huge data. SmartGallery comes with 12 different transition effects together with some inimitable transition effect and thumbnail navigation.</p>
<p><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/12/jquerysliders2.jpg" alt="SmartGallery" width="570" border="0" /></p>
<h3>9. <a href="http://www.egrappler.com/xml-driven-vertical-news-scroller-script-using-html-and-jquery-vscroller/">Xml Driven Vertical News Scroller Script</a></h3>
<p>( <a href="http://www.egrappler.com/vscroller/index.htm">Demo </a> | <a href="http://www.egrappler.com/vscroller/vscroller.zip">Download</a> )</p>
<p>vScroller demonstrates classified and color-code content is an upright or vertical scroll. Feeds originate from regular XML file and styled with plain CSS3 for a fresh and good-looking interface.</p>
<p><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/12/jquerysliders3.jpg" alt="Xml Driven Vertical News Scroller Script Using html and jQuery vScroller" width="570" border="0" /></p>
<h3>10. <a href="http://www.egrappler.com/jquery-pushup-content-bar/">jQuery Sliding Content Bar Plugin: PushUp Content</a></h3>
<p>( <a href="http://www.egrappler.com/pupslider/index.htm">Demo </a> | <a href="http://www.egrappler.com/pupslider/pupslider.zip">Download</a> )</p>
<p>This smart and fast content bar is easy to integrate in any web design or web based application. You can seamlessly integrate this in your website and it will pop up whenever needed. Apart from this, it is highly easy to customize this plugin. You can add your contact details, location map by means of Google Maps, and a plain contact form that visitors can use to make contact with you.</p>
<p><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/12/jquerysliders4.jpg" alt="jQuery Sliding Content Bar Plugin: PushUp Content" width="570" border="0" /></p>
<h3>11. <a href="http://thiagosf.net/projects/jquery/skitter/">Skitter</a></h3>
<p>( <a href="http://thiagosf.net/projects/jquery/skitter/">Demo </a> | <a href="http://thiagosf.net/projects/jquery/skitter/">Download</a> )</p>
<p>Skitter is a plugin for producing good-looking slideshows. You can modify every aspect of your slideshow.</p>
<p><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/12/jquerysliders5.jpg" alt="Skitter" width="570" border="0" /></p>
<h3>12. <a href="http://www.pixedelic.com/plugins/diapo/">Diapo</a></h3>
<p>( <a href="http://www.pixedelic.com/plugins/diapo/">Demo </a> | <a href="http://www.pixedelic.com/plugins/diapo/">Download</a> )</p>
<p>Diapo is a free of charge and open source jQuery slideshow plugin. Most interestingly, you can also use it in your projects and sell it as part of a bigger work (donations are not required, but asked to be considered in this case).</p>
<p><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/12/jquerysliders6.jpg" alt="Diapo" width="570" border="0" /></p>
<h3>13. <a href="http://projects.craftedpixelz.co.uk/craftyslide/">Craftyslide</a></h3>
<p>( <a href="http://projects.craftedpixelz.co.uk/craftyslide/">Demo </a> | <a href="https://github.com/craftedpixelz/Craftyslide/zipball/master">Download</a> )</p>
<p>Craftyslide is a small slideshow that is built on jQuery with the intention to be unique by furnishing a simple, no-frills process of displaying images packaged into a small, clean and competent plugin.</p>
<p><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/12/jquerysliders7.jpg" alt="Craftyslide" width="570" border="0" /></p>
<h3>14. <a href="http://dmmalam.github.com/Responsly.js/">Responsly.js</a></h3>
<p>( <a href="http://dmmalam.github.com/Responsly.js/">Demo </a> | <a href="http://dmmalam.github.com/Responsly.js/">Download</a> )</p>
<p>Responsly.js is a band of simple responsive widgets, written by means of CSS3 transformations and accessible as a jQuery plugin.</p>
<p><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/12/jquerysliders10.jpg" alt="Responsly.js" width="570" border="0" /></p>
<h3>15. <a href="http://tympanus.net/codrops/2011/09/12/elastislide-responsive-carousel/">Elastislide</a></h3>
<p>( <a href="http://tympanus.net/Development/Elastislide/">Demo </a> | <a href="http://tympanus.net/Development/Elastislide/Elastislide.zip">Download</a> )</p>
<p>This is another very responsive jQuery carrousel that will adjust its size and its performance so as to work on any screen size. Putting in the carousel’s structure into a container with a fluid width will make the carousel fluid as well.</p>
<p><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/12/jquerysliders11.jpg" alt="Elastislide" width="570" border="0" /></p>
<h3>16. <a href="http://marktyrrell.com/labs/blueberry/">Blueberry</a></h3>
<p>( <a>Demo </a> | <a href="http://marktyrrell.com/labs/blueberry/jquery.blueberry.zip">Download</a> )</p>
<p>This one is an experimental open source jQuery image slider plugin that has been designed with the aim to work with fluid/responsive web layouts.</p>
<p><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/12/jquerysliders12.jpg" alt="Blueberry" width="570" border="0" /></p>
<h3>17. <a href="http://www.slidorion.com/">Slidorion</a></h3>
<p>( <a href="http://www.slidorion.com/">Demo </a> | <a href="http://www.slidorion.com/slidorion.zip">Download</a> )</p>
<p>Slidorion is an amalgamation of an image slider and an accordion; and therefore, it demonstrates attractive images together with a changeable length description. Slidorion is a great alternative to the traditional jQuery slider seeing that images are linked to each tab and accompanied by a large array of effects.</p>
<p><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/12/jquerysliders13.jpg" alt="Slidorion" width="570" border="0" /></p>
<h3>18. <a href="http://bxslider.com/">bxSlider</a></h3>
<p>( <a href="http://bxslider.com/">Demo </a> | <a href="https://github.com/downloads/wandoledzep/bxslider/jquery.bxSlider.zip">Download</a> )</p>
<p>bxSlider is a jQuery HTML content slider and image slideshow.</p>
<p><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/12/jquerysliders14.jpg" alt="bxSlider" width="570" border="0" /></p>
<h3>19. <a href="http://www.minimit.com/works/minimit-gallery-plugin">Minimit</a></h3>
<p>( <a href="http://www.minimit.com/muaa/muaa-demo.html">Demo </a> | <a href="http://www.minimit.com/muaa/muaa-1.03.zip">Download</a> )</p>
<p>Minimit Gallery is an exceedingly customizable jQuery plugin that does practically everything: galleries and slideshows to carousels and slides and any other thing that has multiple states.</p>
<p><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/12/jquerysliders17.jpg" alt="" width="570" border="0" /></p>
<h3>20. <a href="http://galleria.aino.se/">Galleria</a></h3>
<p>( <a href="http://galleria.aino.se/">Demo </a> | <a href="http://galleria.aino.se/static/galleria-1.2.6.zip">Download</a> )</p>
<p>Galleria is a JavaScript image gallery framework that has been built on the jQuery library. The aim is to make the process of creating professional image galleries easier for the web and mobile devices.</p>
<p><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/12/jquerysliders18.jpg" alt="Galleria" width="570" border="0" /></p>
<h3>21. <a href="http://blueimp.github.com/jQuery-Image-Gallery/">jQuery Image Gallery</a></h3>
<p>( <a href="http://blueimp.github.com/jQuery-Image-Gallery/">Demo </a> | <a href="http://blueimp.github.com/jQuery-Image-Gallery/">Download</a> )</p>
<p>This is an effortless jQuery image gallery plugin.</p>
<p><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/12/jquerysliders19.jpg" alt="jQuery Image Gallery" width="570" border="0" /></p>
<h3>22. <a href="http://ryrych.github.com/rlightbox2/">rlightbox</a></h3>
<p>( <a href="http://ryrych.github.com/rlightbox2/">Demo </a> | <a href="https://github.com/ryrych/rlightbox2/zipball/v1.1">Download</a> )</p>
<p>rlightbox is antoher jQuery UI media box that can put on view several kinds of content for instance images, YouTube and Vimeo videos. It bears several matchless features like Panorama and Live Re-size. Like other jQuery UI widgets, it is ThemeRoller ready.</p>
<p><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/12/jquerysliders20.jpg" alt="rlightbox" width="570" border="0" /></p>
<h3>23. <a href="http://pupunzi.open-lab.com/mb-jquery-components/jquery-mb-bgndgallery/">jQuery MB Bgnd Gallery</a></h3>
<p>( <a href="http://pupunzi.com/#mb.components/mb.bgndGallery/bgndGallery.html">Demo </a> | <a href="https://github.com/downloads/pupunzi/jquery.mb.bgndGallery/jquery.mb.bgndGallery.1.1.0.zip">Download</a> )</p>
<p>With this jQuery plugin you can make a suggestive slide show of images as the background of your page; the images will adapt their size to the window size. You can either navigate the gallery with your keyboard or with a control panel displayed where you want in the page.</p>
<p><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/12/jquerysliders22.jpg" alt="jQuery MB Bgnd Gallery" width="570" border="0" /></p>
<h3>24. <a href="http://pikachoose.com/">PikaChoose</a></h3>
<p>( <a href="http://pikachoose.com/demo/">Demo </a> | <a href="http://pikachoose.com/download">Download</a> )</p>
<p>PikaChoose is a lightweight jQuery Slideshow plugin that make allowances for unproblematic presentation of photos with carousels and lightboxes! Pikachoose is created to be effortlessly installed, trouble-free to setup.</p>
<p><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/12/jquerysliders23.jpg" alt="PikaChoose" width="570" border="0" /></p>
<h3>25. <a href="http://buildinternet.com/2011/06/make-a-fluid-thumbnail-bar-with-jquery/">Fluid Thumbnail Bar with jQuery</a></h3>
<p>( <a href="http://buildinternet.com/live/fluid-bar/demo.html">Demo </a> | <a href="http://buildinternet.s3.amazonaws.com/live-tutorials/fluid-thumbnails/buildinternet-fluidbar.zip">Download</a> )</p>
<p>With this plugin you can make a fluid thumbnail bar that pages through the images it contains.</p>
<p><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/12/jquerysliders37.jpg" alt="Fluid Thumbnail Bar with jQuery" width="570" border="0" /></p>
<h3>27. <a href="http://tympanus.net/codrops/2011/11/21/elastic-image-slideshow-with-thumbnail-preview/">Elastic Image Slideshow with Thumbnail Preview</a></h3>
<p>( <a href="http://tympanus.net/Tutorials/ElasticSlideshow/">Demo </a> | <a href="http://tympanus.net/Tutorials/ElasticSlideshow/ElasticSlideshow.zip">Download</a> )</p>
<p>Here we want to show you how to create a simple elastic slideshow with a thumbnail preview. The slideshow will adjust automatically to its surrounding container and we can navigate through the slides by using the thumbnail previewer or the autoplay slideshow option.</p>
<p><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/12/jquerysliders25.jpg" alt="Elastic Image Slideshow with Thumbnail Preview" width="570" border="0" /></p>
<h3>28. <a href="http://tympanus.net/codrops/2011/07/05/fullscreen-slideshow-with-html5-audio/">Fullscreen Slideshow with HTML5 Audio and jQuery</a></h3>
<p>( <a href="http://tympanus.net/Tutorials/FullscreenSlideshowAudio/">Demo </a> | <a href="http://tympanus.net/Tutorials/FullscreenSlideshowAudio/FullscreenSlideshowAudio.zip">Download</a> )</p>
<p>In this jQuery tutorial we’ll create a fullscreen photo slideshow to illustrate a New York picture series. We will add sound with the HTML5 audio element in order to give life to the gallery and try to recreate the ambiance of this vibrant city.</p>
<p><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/12/jquerysliders26.jpg" alt="Fullscreen Slideshow with HTML5 Audio and jQuery" width="570" border="0" /></p>
<h3>29. <a href="http://tympanus.net/codrops/2011/05/25/image-wall/">Image Wall with jQuery</a></h3>
<p>( <a href="http://tympanus.net/Tutorials/ImageWall/">Demo </a> | <a href="http://tympanus.net/Tutorials/ImageWall/ImageWall.zip">Download</a> )</p>
<p>With this plugin you can create a neat image wall with jQuery. The idea is to scatter some thumbnails with different sizes on the page and make a ribbon slide in when we click on the picture. The ribbon will show some description next to the picture and when clicking again on the thumbnail, the ribbon will close and open again with a large version of the image.</p>
<p><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/12/jquerysliders27.jpg" alt="Image Wall with jQuery" width="570" border="0" /></p>
<h3>30. <a href="http://tympanus.net/codrops/2011/04/28/rotating-image-slider/">Rotating Image Slider with jQuery</a></h3>
<p>( <a href="http://tympanus.net/Tutorials/RotatingImageSlider/">Demo </a> | <a href="http://tympanus.net/Tutorials/RotatingImageSlider/RotatingImageSlider.zip">Download</a> )</p>
<p><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/12/jquerysliders30.jpg" alt="Rotating Image Slider with jQuery" width="570" border="0" /></p>
<h3>31. <a href="http://tympanus.net/codrops/2011/03/28/moving-boxes-content/">Moving Boxes Content with jQuery</a></h3>
<p>( <a href="http://tympanus.net/Tutorials/MovingBoxesContent/">Demo </a> | <a href="http://tympanus.net/Tutorials/MovingBoxesContent/MovingBoxesContent.zip">Download</a> )</p>
<p>With this plugin you can create a website template with some really sweet animations using jQuery. The idea is to have little boxes scattered around at the top of the site and when a menu item is clicked, the boxes animate to form the main content area.</p>
<p><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/12/jquerysliders31.jpg" alt="Moving Boxes Content with jQuery" width="570" border="0" /></p>
<h3>32. <a href="http://buildinternet.com/2011/07/supersized-3-2-fullscreen-jquery-slideshow/">Supersized 3.2 – Fullscreen Slideshow jQuery Plugin</a></h3>
<p>( <a href="http://buildinternet.com/project/supersized/slideshow/3.2/demo.html">Demo </a> | <a href="http://buildinternet.com/project/supersized/">Download</a> )</p>
<p>With this jQuery plugin you can create a beautiful full-screen slideshow.</p>
<p><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/12/jquerysliders32.jpg" alt="Supersized 3.2 – Fullscreen Slideshow jQuery Plugin" width="570" border="0" /></p>
<h3>33. <a href="http://lab.smashup.it/flip/">Flip Box</a></h3>
<p>( <a href="http://lab.smashup.it/flip/">Demo </a> | <a href="http://lab.smashup.it/flip/">Download</a> )</p>
<p>Flip is a jQuery plugin that will easily flip your elements in four directions.</p>
<p><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/12/jquerysliders34.jpg" alt="Flip Box" width="570" border="0" /></p>
<h3>34. <a href="http://www.quadrrato.it/blog/librerie-javascript/innovation-slide-plugin-jquery/">Innovation Slide &#8211; Slide jquery plugin</a></h3>
<p>( <a href="http://www.quadrrato.it/blog/tutorial/innovation_slide.htm">Demo </a> | <a href="http://www.quadrrato.it/blog/tutorial/download/innovationSlideV1.zip">Download</a> )</p>
<p>With this plugin you can create a simple, lightweight, effects-laden and very versatile photo slide. It will allow us to flow in a &#8220;different&#8221; our content: images, text, etc.</p>
<p><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/12/jquerysliders35.jpg" alt="Innovation Slide - Slide jquery plugin" width="570" border="0" /></p>
<h3>35. <a href="http://www.tn3gallery.com/">TN3 Gallery</a></h3>
<p>( <a href="http://www.tn3gallery.com/">Demo </a> | <a href="http://www.tn3gallery.com/pricing">Download</a> )</p>
<p>With TN3 Gallery you can easily create amazing photo galleries and slideshows with slick transition effects, as well as multiple albums, CSS skinning, XML and Flickr support with a host of additional features. No browser plugins required.</p>
<p><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/12/jquerysliders36.jpg" alt="TN3 Gallery" width="570" border="0" /></p>
<h3>36. <a href="http://tutorialzine.com/2011/03/photography-portfolio-shutter-effect/">Shutter Effect Portfolio with jQuery and Canvas</a></h3>
<p>( <a href="http://demo.tutorialzine.com/2011/03/photography-portfolio-shutter-effect/">Demo </a> | <a href="http://demo.tutorialzine.com/2011/03/photography-portfolio-shutter-effect/jquery.shutter.zip">Download</a> )</p>
<p>In this jQuery tutorial, we will be using the HTML5 canvas element to create a simple photography portfolio, which displays a set of featured photos with a camera shutter effect. This functionality will come in the form of an easy to use jQuery plugin that you can easily incorporate into any website.</p>
<p><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/12/jquerysliders38.jpg" alt="Shutter Effect Portfolio with jQuery and Canvas" width="570" border="0" /></p>
<h3>37. <a href="http://tutorialzine.com/2011/04/jquery-webcam-photobooth/">Photobooth with PHP, jQuery and CSS3</a></h3>
<p>( <a href="http://demo.tutorialzine.com/2011/04/jquery-webcam-photobooth/">Demo </a> | <a href="http://demo.tutorialzine.com/2011/04/jquery-webcam-photobooth/photobooth.zip">Download</a> )</p>
<p>In this tutorial, we will be building a jQuery and PHP powered photobooth. It will allow your website visitors to take a snapshot with their web camera and upload it from a neat CSS3 interface.</p>
<p><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/12/jquerysliders40.jpg" alt="Photobooth with PHP, jQuery and CSS3" width="570" border="0" /></p>
<h3>38. <a href="http://tutorialzine.com/2011/02/flickr-api-slideshow-jquery/">Making a Flickr-powered Slideshow</a></h3>
<p>( <a href="http://demo.tutorialzine.com/2011/02/flickr-api-slideshow-jquery/">Demo </a> | <a href="http://demo.tutorialzine.com/2011/02/flickr-api-slideshow-jquery/jqFlick.zip">Download</a> )</p>
<p>In this tutorial we will be developing a jQuery plugin that will make it easy to create slideshows, product guides or presentations from your Flickr photo sets. The plugin will be using Flickr’s APIs and YQL to fetch the photos in the sets, after which it will create the markup of the slideshow and listen for events.</p>
<p><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/12/jquerysliders41.jpg" alt="Making a Flickr-powered Slideshow" width="570" border="0" /></p>
<h3>39. <a href="http://tutorialzine.com/2011/01/how-to-make-auto-advancing-slideshows/">How to Make Auto-Advancing Slideshows</a></h3>
<p>( <a href="http://demo.tutorialzine.com/2011/01/slideshow-autoadvance-jquery/">Demo </a> | <a href="http://demo.tutorialzine.com/2011/01/slideshow-autoadvance-jquery/autoadvance.zip">Download</a> )</p>
<p>With this plugin we can create HTML5 Slideshow auto advance with a few lines of jQuery.</p>
<p><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/12/jquerysliders42.jpg" alt="How to Make Auto-Advancing Slideshows" width="570" border="0" /></p>
<h3>40. <a href="http://www.kyrielles.net/sliderkit/sliderkit_en.html">Sliding Contents With JQuery</a></h3>
<p>( <a href="http://www.kyrielles.net/sliderkit/sliderkit_en.html#">Demo </a> | <a href="http://www.kyrielles.net/sliderkit/sliderkit_en.html#">Download</a> )</p>
<p>The purpose of Slider Kit is to gather common slideshow-like jQuery functionalities (such as news sliders, photos galleries/sliders, carousels, tabs menus) into one lightweight and flexible plugin combined with ready-to-use CSS skins.</p>
<p><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/12/jquerysliders43.jpg" alt="Sliding Contents With JQuery" width="570" border="0" /></p>
<h3>41. <a href="http://www.slidesjs.com/">Slides</a></h3>
<p>( <a href="http://www.slidesjs.com/">Demo </a> | <a href="http://slidesjs.com/downloads/slides.zip">Download</a> )</p>
<p>Slides is a slideshow plugin for jQuery that is built with simplicity in mind. Packed with a useful set of features to help novice and advanced developers alike create elegant and user-friendly slideshows.</p>
<p><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/12/jquerysliders44.jpg" alt="Slides" width="570" border="0" /></p>
<h3>42. <a href="http://www.wbotelhos.com/slidy/">Slidy</a></h3>
<p>( <a href="http://www.wbotelhos.com/slidy/">Demo </a> | <a href="http://github.com/downloads/wbotelhos/slidy/jquery.slidy-0.2.0.zip">Download</a> )</p>
<p>jQuery Slidy is a plugin that generates a customizable transitions automatically.</p>
<p><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/12/jquerysliders45.jpg" alt="Slidy" width="570" border="0" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.1stwebdesigner.com/tutorials/40-fresh-jquery-image-and-content-sliders-plugins/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Creative Christmas Gift For Geek Lovers &#8211; Web &amp; Mobile App</title>
		<link>http://www.1stwebdesigner.com/tutorials/creative-christmas-gift-for-geek-lovers/</link>
		<comments>http://www.1stwebdesigner.com/tutorials/creative-christmas-gift-for-geek-lovers/#comments</comments>
		<pubDate>Wed, 21 Dec 2011 10:00:58 +0000</pubDate>
		<dc:creator>Rochester Oliveira</dc:creator>
				<category><![CDATA[Quick Tips]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Web Interface]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[mobile app]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[web app]]></category>
		<category><![CDATA[web design]]></category>
		<category><![CDATA[web interface]]></category>

		<guid isPermaLink="false">http://www.1stwebdesigner.com/?p=60410</guid>
		<description><![CDATA[Oh, Christmas. The magic time when you spend all the money you&#8217;ve been saving the whole year. Oh, and we have all that Christmas Spirit, of course. Now, you probably want to spend a lot on your soul mate&#8217;s gift, to show her how deep is your love. Yeah, money can buy cool things, but [...]]]></description>
			<content:encoded><![CDATA[<p>Oh, Christmas. The magic time when you spend all the money you&#8217;ve been saving the whole year. Oh, and we have all that Christmas Spirit, of course.</p>
<p>Now, you probably want to spend a lot on your soul mate&#8217;s gift, to show her <a href="http://www.youtube.com/watch?v=1Mhm9j05N7E">how deep is your love</a>.</p>
<p>Yeah, money can buy cool things, but guess what: almost every year I make my own gifts for my girlfriend (but I always have to buy something else anyway). And I feel that she just loves when I do something by myself instead of just buying it (unless shoes, she wouldn&#8217;t like if I made her a shoe). So I&#8217;ll show you, dear Padawan, how to make a cool one-page-gift for anybody that you like.</p>
<p>Our goal here is to do a simple &#8220;slider&#8221;, where a lot of messages and pictures that you like are shown. In the meantime you&#8217;ll learn a little bit about design, jQuery and CSS3.</p>
<p>So, let&#8217;s rock!</p>
<p><span id="more-60410"></span></p>
<h2>Demo &amp; Download</h2>
<hr style="margin-left: 20px;" align="left" width="60%" />
<p>This is our final effect. You can check out our <strong><a href="http://dl.dropbox.com/u/35995890/christmas2011/index.html" target="_blank">live demo</a> </strong>and <strong><a href="http://dl.dropbox.com/u/35995890/christmas2011/christmas-gift.zip" target="_blank">download </a></strong>our source files and start playing with it.</p>
<p><img class="alignnone size-full wp-image-60728" title="demo" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/12/demo.jpg" alt="" width="650" height="384" /></p>
<h2>Design stuff</h2>
<hr style="margin-left: 20px;" align="left" width="60%" />
<p>First of all we&#8217;ll need a cool background. Snow is not an option for me, since in Brazil we barely know what it&#8217;s like. So I&#8217;d rather pick a cool christmas tree and change it a little. I&#8217;ve found a couple of cool images to use in<br />
<a href="http://www.1stwebdesigner.com/freebies/christmas-wallpapers-web-design-and-fonts/">Salman&#8217;s article full of Christmas resources</a>. I&#8217;ve chosen one of them, adjusted its colors, sliced its background and cut the Christmas tree itself.</p>
<p>As our effect&#8217;s start point (slider and this stuff) we&#8217;ll use a rocking tutorial on how to do an <a href="http://rockingcode.com/tutorial/john-lennon-tribute-amazing-slideshow/">Amazing Slideshow (John Lennnon Tribute</a>). We&#8217;ll change it a little bit, but the main effect is just amazing :)</p>
<p>Now we need a good looking font for our design. I suggest you to go with <a href="http://www.losttype.com/font/?name=carto">Cartoon</a>. Then just <a href="http://www.fontsquirrel.com/fontface/generator">generate its webfont</a> and we can include it in our basic HTML (that one downloaded from Rocking Code).</p>
<p>Our basic HTML will be like this:</p>
<pre class="brush: php; title: ; notranslate">
&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;en&quot;&gt;
&lt;head&gt;
&lt;meta charset=&quot;utf-8&quot; /&gt;
&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge,chrome=1&quot; /&gt;

&lt;title&gt;Happy Christmas!&lt;/title&gt;
&lt;meta name=&quot;description&quot; content=&quot;Cool DIY Christmas Gift for geek lovers.&quot; /&gt;
&lt;meta name=&quot;author&quot; content=&quot;Rochester Oliveira - 1stWebDesigner.com&quot; /&gt;
&lt;link rel=&quot;shortcut icon&quot; type=&quot;image/x-icon&quot; href=&quot;favicon.ico&quot;&gt;

&lt;link rel=&quot;stylesheet&quot; href=&quot;css/style.css?v=2&quot; /&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;div id=&quot;tree&quot;&gt;
&lt;div id=&quot;container&quot;&gt;
&lt;h1&gt;Happy Christmas!&lt;/h1&gt;
&lt;div id=&quot;masonry&quot;&gt;
&lt;div&gt;
&lt;img src=&quot;http://placekitten.com/200/300&quot; alt=&quot;Cute kitten - http://placekitten.com/200/300&quot; /&gt;
&lt;div&gt;Caption text.&lt;/div&gt;
&lt;/div&gt;
[... more .item divs]
&lt;/div&gt;
&lt;/div&gt;
&lt;!--! end of #container --&gt;
&lt;/div&gt;
&lt;!-- JavaScript at the bottom for fast page loading --&gt;

&lt;!-- Grab Google CDN's jQuery, with a protocol relative URL; fall back to local if necessary --&gt;
&lt;script src=&quot;//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;window.jQuery || document.write(&quot;&lt;script src='js/libs/jquery-1.7.1.min.js'&gt;\x3C/script&gt;&quot;)&lt;/script&gt;

&lt;!-- scripts--&gt;
&lt;script src=&quot;js/jquery.images.loaded.js&quot;&gt;&lt;/script&gt;
&lt;script src=&quot;js/jquery.masonry.min.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
//[slideshow action scripts]
&lt;/script&gt;
&lt;!-- end scripts--&gt;

&lt;/body&gt;
&lt;/html&gt;
</pre>
<p>And basic CSS:</p>
<pre class="brush: php; title: ; notranslate">body {
	background: #feffef url(&quot;../img/bg.jpg&quot;) repeat-x center bottom;
 }
 #tree {
	position: relative;
	width: 100%;
	height: 100%;
	background: #feffef url(&quot;../img/bg-tree.jpg&quot;) repeat-x center bottom;
 }
#container {
	position: relative;
	width: 880px;
	margin: 15px auto;
	padding: 20px 20px 20px 30px;
	background-color: transparent;
	background-color: rgba(255,255,255,0.5);
	filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#32ffffff,endColorstr=#32ffffff);
	-ms-filter: &quot;progid:DXImageTransform.Microsoft.gradient(startColorstr=#32ffffff,endColorstr=#32ffffff)&quot;;
	-moz-box-shadow: 0 0 5px #B8B8B8; /* Firefox */
	-webkit-box-shadow: 0 0 5px #B8B8B8; /* Safari, Chrome */
	box-shadow: 0 0 5px #B8B8B8; /* CSS3 */
}
	#container h1 {
		font-family: 'CartonSlab';
		font-size: 20px;
	}
	.item {
		position: relative;
		padding: 0;
		width: 200px;
		margin-bottom: 20px;
		float: left;
		background: #000;
		overflow: hidden;
	}
		.item img {
			width: 100%;
			cursor: pointer;
		}
	.selected {
		border: 2px solid #fff;
		-moz-box-shadow: 0 0 3px #000; /* Firefox */
		-webkit-box-shadow: 0 0 3px #000; /* Safari, Chrome */
		box-shadow: 0 0 3px #000; /* CSS3 */
	}</pre>
<p>As you may have noticed, our tree is done with a different HTML element, so it won&#8217;t affect our slideshow effect at all.</p>
<p>Oh, and don&#8217;t forget to <a href="http://tools.dynamicdrive.com/favicon">generate favicons</a>. They are really cool.</p>
<h2>Setting up pictures and captions</h2>
<hr style="margin-left: 20px;" align="left" width="60%" />
<p>One thing that will really impress your date is to choose romantic messages and cute stuff. So be ready to search for:</p>
<ul>
<li>Cat pictures (demo with a lot of them)</li>
<li>Hearts</li>
<li>Landscapes</li>
<li>Your own pictures</li>
</ul>
<p>I&#8217;ve found a couple of good quotes on <a href="http://www.quotationspage.com/subjects/love/">QuotationsPage</a> &amp; <a href="http://www.romanticlovemessages.com/">RomanticloveMessages</a> and have written my own ones (this is really important).</p>
<p>Then, let&#8217;s put them inside our HTML with proper markup. We&#8217;ll have captions positioned on top, middle and bottom, this way:</p>
<pre class="brush: php; title: ; notranslate">&lt;div&gt;
&lt;img src=&quot;http://placekitten.com/200/300&quot; alt=&quot;Cute kitten - http://placekitten.com/200/300&quot; /&gt;
&lt;div&gt;You may not care for me like I care for you But if you ever need me, I will always be around for you.&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;img src=&quot;img/kitten.jpg&quot; alt=&quot;Cute kitten - http://www.sxc.hu/photo/1369754&quot; /&gt;
&lt;div&gt;It's hard to tell your mind to stop loving someone when your heart still does. &lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;img src=&quot;img/kitten1.jpg&quot; alt=&quot;Cute kitten - http://www.sxc.hu/photo/555320&quot; /&gt;
&lt;div&gt;Meeting you was fate, but falling in love with you was beyond my control. &lt;/div&gt;
&lt;/div&gt;</pre>
<p>And CSS will be:</p>
<pre class="brush: php; title: ; notranslate">.item .caption {
	position: absolute;
	top: 0;
	padding: 10px 20px;
	font-family: 'CartonSlab';
	font-size: 15px;
	color: #ffffff;
	background-color: transparent;
	background-color: rgba(0,0,0,0.5);
	filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#32000000,endColorstr=#32000000);
	-ms-filter: &quot;progid:DXImageTransform.Microsoft.gradient(startColorstr=#32000000,endColorstr=#32000000)&quot;;
}
.item .bottom {
	top: auto;
	bottom: 0;
}
.item .middle {
	top: 50%;
}
</pre>
<h2>Coding Slideshow JS</h2>
<hr style="margin-left: 20px;" align="left" width="60%" />
<p>Our basic logic will be:</p>
<ul>
<li>It&#8217;ll hide all captions and reduce opacity for images on start;</li>
<li>It&#8217;ll automatically expand box and show caption, one at a time;</li>
<li>When hovering images, it&#8217;ll increase its opacity and automatically stop our timer;</li>
<li>When the person clicks on an image, it&#8217;ll expand its box;</li>
</ul>
<p>First, we&#8217;ll make sure that no function will run before all images are loaded (it wouldn&#8217;t look good, trust me). This code will do the trick (since we&#8217;ve uploaded jquery.images.loaded.js):</p>
<pre class="brush: php; title: ; notranslate">//defaults
var $container = $('#masonry'), $items = $container.find(&quot;.item&quot;), count = $items.length, current = 0, lowOpacity = 0.3, highOpacity = 1, timer = &quot;&quot;;

$container.imagesLoaded(function(){
	$container.masonry({
		itemSelector : '.item',
		columnWidth : 220,
		isAnimated: true
	});

	init();
});
</pre>
<p>This init() will do our first, third and fourth bullet points. Let&#8217;s go through it:</p>
<pre class="brush: php; title: ; notranslate">function init() {
	//let's set all images to dark and bind their hover
	$items.find(&quot;img&quot;).each(function(index){
		//hide captions
		$($items[index]).find(&quot;.caption&quot;).fadeOut();
		//images setup
		$(this)
			.animate( { opacity: lowOpacity } )
			.hover(
				function(){
					$(this).stop().animate( { opacity: highOpacity } );
					stopTimer();
				}, function() {
					startTimer();
					if(index != current) {
						$(this).stop().animate( { opacity: lowOpacity } );
					}
				}
			)
			.click(
				function() {
					expand(index);
				}
			);
	});
	expand(0);
	startTimer();
}</pre>
<p>The coolest thing here is all those chained functions. They improve performance a lot and if you break lines between them (always before &#8220;.&#8221;) it&#8217;ll be much better to understand.</p>
<p>Now we have two important functions, startTimer() and stopTimer(). I&#8217;m pretty sure you know what do they do. We&#8217;ll use setInterval and clearInterval to control our timer:</p>
<pre class="brush: php; title: ; notranslate">function startTimer() {
	timer = window.setInterval( &quot;next()&quot;, 6000); // it'll call next function every 6 seconds and will identify this interval as &quot;timer&quot;
}
function stopTimer() {
	clearInterval(timer); //we'll kill timer :(
}</pre>
<p>Now we called &#8220;next&#8221; function every 6 seconds let&#8217;s see what it does:</p>
<pre class="brush: php; title: ; notranslate">function next() {
	//if we add one item to current we'll still below our total count of numbers?
	if ( (current ++) &lt; count) {
		expand(current++);
	} else {
		expand(0);
	}
}</pre>
<p>Now what you&#8217;ve been waiting for: expand()</p>
<pre class="brush: php; title: ; notranslate">//this is what makes our current box bigger and the ones before it smaller
function expand(item) {
	var curItem = $(&quot;.selected&quot;), $img = &quot;&quot;;
	if(curItem) {
		curItem.animate({&quot;width&quot;: &quot;200px&quot;}, function(){
			$img = $(this).find(&quot;img&quot;);
			imgOff($img);
			curItem.find(&quot;.caption&quot;).fadeOut();
		}).removeClass(&quot;selected&quot;);
	}
	$( $items[item] ).animate( {&quot;width&quot;: &quot;420px&quot;}, function(){
		$img = $(this).find(&quot;img&quot;);
		imgOn($img);
		$(this).addClass(&quot;selected&quot;);
		$container.masonry( 'reload' );
		$($items[item]).find(&quot;.caption&quot;).fadeIn();
	} );
	current = item;
}
/*** functions used above **/
//let's make our current imag look better
function imgOn(img) {
	img.each(function(){
		$(this).animate( { opacity: highOpacity } );
	});
}
//let's turn off these images
function imgOff(img) {
	img.each(function(){
		$(this).animate( { opacity: lowOpacity } );
	});
}</pre>
<p>Ok, then, let&#8217;s group all this stuff inside one script call, and we&#8217;re done!</p>
<pre class="brush: php; title: ; notranslate">var $container = $('#masonry'), $items = $container.find(&quot;.item&quot;), count = $items.length, current = 0, lowOpacity = 0.3, highOpacity = 1, timer = &quot;&quot;;
$container.imagesLoaded(function(){
	$container.masonry({
		itemSelector : '.item',
		columnWidth : 220,
		isAnimated: true
	});

	init();
});
//runs qwiki function for fisrt item so we'll start loop
function init() {
	//let's set all images to dark and bind their hover
	$items.find(&quot;img&quot;).each(function(index){
		//hide captions
		$($items[index]).find(&quot;.caption&quot;).fadeOut();
		//images setup
		$(this)
			.animate( { opacity: lowOpacity } )
			.hover(
				function(){
					$(this).stop().animate( { opacity: highOpacity } );
					stopTimer();
				}, function() {
					startTimer();
					if(index != current) {
						$(this).stop().animate( { opacity: lowOpacity } );
					}
				}
			)
			.click(
				function() {
					expand(index);
				}
			);
	});
	expand(0);
	startTimer();
}
function startTimer() {
	timer = window.setInterval( &quot;next()&quot;, 6000);
}
function stopTimer() {
	clearInterval(timer);
}
// let's go on with next item if we didn't reach end of our set of items
function next() {
	if ( (current ++) &lt; count) {
		expand(current++);
	} else {
		expand(0);
	}
}
//let's make our current imag look better
function imgOn(img) {
	img.each(function(){
		$(this).animate( { opacity: highOpacity } );
	});
}
//let's turn off these images
function imgOff(img) {
	img.each(function(){
		$(this).animate( { opacity: lowOpacity } );
	});
}
//this is what makes our current box bigger and the ones before it smaller
function expand(item) {
	var curItem = $(&quot;.selected&quot;), $img = &quot;&quot;;
	if(curItem) {
		curItem.animate({&quot;width&quot;: &quot;200px&quot;}, function(){
			$img = $(this).find(&quot;img&quot;);
			imgOff($img);
			curItem.find(&quot;.caption&quot;).fadeOut();
		}).removeClass(&quot;selected&quot;);
	}
	$( $items[item] ).animate( {&quot;width&quot;: &quot;420px&quot;}, function(){
		$img = $(this).find(&quot;img&quot;);
		imgOn($img);
		$(this).addClass(&quot;selected&quot;);
		$container.masonry( 'reload' );
		$($items[item]).find(&quot;.caption&quot;).fadeIn();
	} );
	current = item;
}</pre>
<h2>Personal touch: My horrible voice as background music</h2>
<hr style="margin-left: 20px;" align="left" width="60%" />
<p>I&#8217;ve been learning guitar for 1 month. I know how to play two songs (&#8220;In spite of all the danger&#8221; and &#8220;Stand by me&#8221;) and I sing really, really bad. But when I showed my girlfriend my first &#8220;demo&#8221; record, well, I understood why so many guys want to learn guitar.</p>
<p>This is my final personal touch, and you could do so with a cool picture, a recorded mesage (video, maybe), or whatever you can imagine.</p>
<h2>What do you think?</h2>
<hr style="margin-left: 20px;" align="left" width="60%" />
<p>So, have you liked it? Are you planning to do something really special to the ones you love most? Let me hear your thoughts!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.1stwebdesigner.com/tutorials/creative-christmas-gift-for-geek-lovers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Create Elegant Tags With Sliding Post Count For WordPress</title>
		<link>http://www.1stwebdesigner.com/wordpress/create-tags-with-sliding-post-count-wordpress/</link>
		<comments>http://www.1stwebdesigner.com/wordpress/create-tags-with-sliding-post-count-wordpress/#comments</comments>
		<pubDate>Mon, 12 Dec 2011 10:00:35 +0000</pubDate>
		<dc:creator>Rochester Oliveira</dc:creator>
				<category><![CDATA[HowTos]]></category>
		<category><![CDATA[Plugins]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[customize wordpress]]></category>
		<category><![CDATA[effects]]></category>
		<category><![CDATA[Freebies]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[sliding tags]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.1stwebdesigner.com/?p=60126</guid>
		<description><![CDATA[Tired of the boring category style being always same, like a mini menu? Tired of items arranged horizontally or vertically, styled always the same way? Yes, I&#8217;m tired of it too. So let&#8217;s make things more interesting now. Our starting point will be a cool sliding tags design made by Thomas Bosée. Then we&#8217;ll learn [...]]]></description>
			<content:encoded><![CDATA[<p>Tired of the boring category style being always same, like a mini menu? Tired of items arranged horizontally or vertically, styled always the same way? Yes, I&#8217;m tired of it too. So let&#8217;s make things more interesting now.</p>
<p>Our starting point will be <a href="http://365psd.com/day/2-213/">a cool sliding tags design</a> made by <a href="http://madebythomas.com/">Thomas Bosée</a>. Then we&#8217;ll learn how to use WordPress wp_list_categories function, how to edit its result, how to code CSS and finally a little of jQuery &#8220;Black Magic&#8221;.</p>
<p>So, let&#8217;s rock!</p>
<p><span id="more-60126"></span></p>
<h2>Demo first, please</h2>
<hr style="margin-left: 20px;" align="left" width="60%" />
<p>So our goal is to achieve the effect seen on this <a href="http://dl.dropbox.com/u/35995890/Slidingtags/index.html" target="_blank">demo</a>. As usual you can <a href="http://dl.dropbox.com/u/35995890/Slidingtags/wordpress-sliding-category-FINAL.zip" target="_blank">download our sample files</a> and edit as you want!</p>
<p><img class="alignnone size-full wp-image-60179" title="demo" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/12/demo.png" alt="" width="512" height="183" /></p>
<h2>Wp_list_categories()</h2>
<hr style="margin-left: 20px;" align="left" width="60%" />
<p>Wp_list_categories is a function that gets all categories and has a few useful parameters. We&#8217;ll be using a few of them:</p>
<ul>
<li><strong>echo</strong> &#8211; whether the results should or shouldn&#8217;t be displayed. This is quite useful because we&#8217;ll have to adjust results a little bit</li>
<li><strong>show_count</strong> &#8211; this one toggles the display of current post count in each category</li>
<li><strong>title_li</strong> &#8211; since the default value is a big &lt;h2&gt;Categories&lt;/h2&gt; we&#8217;ll change it</li>
<li><strong>depth</strong> &#8211; It&#8217;ll be better not to have children categories this time. But if you want it just put it as zero and change &#8216;hierarchical&#8217; to false</li>
</ul>
<p>Our php will be like this:</p>
<pre class="brush: php; title: ; notranslate">&lt;ul&gt;
&lt;?php
	$args = array (
		'echo' =&gt; 0,
		'show_count' =&gt; 1,
		'title_li' =&gt; '',
		'depth' =&gt; 1
	);
	$variable = wp_list_categories($args);
	echo $variable;
?&gt;
&lt;/ul&gt;</pre>
<p>And this PHP outputs this HTML:</p>
<pre class="brush: php; title: ; notranslate">&lt;ul id=&quot;category&quot;&gt;
	&lt;li class=&quot;cat-item cat-item-8&quot;&gt;&lt;a href=&quot;#design&quot;&gt;design&lt;/a&gt; (17)&lt;/li&gt;
	&lt;li class=&quot;cat-item cat-item-6&quot;&gt;&lt;a href=&quot;#icon&quot;&gt;icon&lt;/a&gt; (9)&lt;/li&gt;
	&lt;li class=&quot;cat-item cat-item-7&quot;&gt;&lt;a href=&quot;#grid&quot;&gt;grid&lt;/a&gt; (3)&lt;/li&gt;
	&lt;li class=&quot;cat-item cat-item-9&quot;&gt;&lt;a href=&quot;#clean&quot;&gt;clean&lt;/a&gt; (25)&lt;/li&gt;
	&lt;li class=&quot;cat-item cat-item-1&quot;&gt;&lt;a href=&quot;#typography&quot;&gt;typography&lt;/a&gt; (8)&lt;/li&gt;
	&lt;li class=&quot;cat-item cat-item-5&quot;&gt;&lt;a href=&quot;#minimal&quot;&gt;minimal&lt;/a&gt; (12)&lt;/li&gt;
	&lt;li class=&quot;cat-item cat-item-5&quot;&gt;&lt;a href=&quot;#illustration&quot;&gt;illustration&lt;/a&gt; (1)&lt;/li&gt;
	&lt;li class=&quot;cat-item cat-item-5&quot;&gt;&lt;a href=&quot;#high-resolution&quot;&gt;high resolution&lt;/a&gt; (6)&lt;/li&gt;
	&lt;li class=&quot;cat-item cat-item-5&quot;&gt;&lt;a href=&quot;#iphone&quot;&gt;iphone&lt;/a&gt; (15)&lt;/li&gt;
	&lt;li class=&quot;cat-item cat-item-5&quot;&gt;&lt;a href=&quot;#interface&quot;&gt;interface&lt;/a&gt; (21)&lt;/li&gt;
	&lt;li class=&quot;cat-item cat-item-5&quot;&gt;&lt;a href=&quot;#grunge&quot;&gt;grunge&lt;/a&gt; (10)&lt;/li&gt;
&lt;/ul&gt;</pre>
<h2>Oops, HTML is not quite right yet</h2>
<hr style="margin-left: 20px;" align="left" width="60%" />
<p>As you may notice, the default post count is simple text with parenthesis. Well, in our original design we have count as a separate element, so we&#8217;ll need to change this default behavior. A simple way of doing this is with str_replace, we&#8217;ll search for &#8220;(&#8220;, replace with &#8220;&lt;span&gt;&#8221; and then search for &#8220;)&#8221; e replace with &#8220;&lt;/span&gt;&#8221;.</p>
<p>This is how your category listing function will be:</p>
<pre class="brush: php; title: ; notranslate">&lt;ul&gt;
&lt;?php
	$args = array (
		'echo' =&gt; 0,
		'show_count' =&gt; 1,
		'title_li' =&gt; '',
		'depth' =&gt; 1
	);
	$variable = wp_list_categories($args);
	$variable = str_replace ( &quot;(&quot; , &quot;&lt;span&gt;&quot;, $variable );
	$variable = str_replace ( &quot;)&quot; , &quot;&lt;/span&gt;&quot;, $variable );
	echo $variable;
?&gt;
&lt;/ul&gt;</pre>
<p>And now we&#8217;ll have right HTML, as follows:</p>
<pre class="brush: php; title: ; notranslate">&lt;ul id=&quot;category&quot;&gt;
	&lt;li class=&quot;cat-item cat-item-8&quot;&gt;&lt;a href=&quot;#design&quot;&gt;design&lt;/a&gt; &lt;span&gt;17&lt;/span&gt;&lt;/li&gt;
	&lt;li class=&quot;cat-item cat-item-6&quot;&gt;&lt;a href=&quot;#icon&quot;&gt;icon&lt;/a&gt; &lt;span&gt;9&lt;/span&gt;&lt;/li&gt;
	&lt;li class=&quot;cat-item cat-item-7&quot;&gt;&lt;a href=&quot;#grid&quot;&gt;grid&lt;/a&gt; &lt;span&gt;3&lt;/span&gt;&lt;/li&gt;
	&lt;li class=&quot;cat-item cat-item-9&quot;&gt;&lt;a href=&quot;#clean&quot;&gt;clean&lt;/a&gt; &lt;span&gt;25&lt;/span&gt;&lt;/li&gt;
	&lt;li class=&quot;cat-item cat-item-1&quot;&gt;&lt;a href=&quot;#typography&quot;&gt;typography&lt;/a&gt; &lt;span&gt;8&lt;/span&gt;&lt;/li&gt;
	&lt;li class=&quot;cat-item cat-item-5&quot;&gt;&lt;a href=&quot;#minimal&quot;&gt;minimal&lt;/a&gt; &lt;span&gt;12&lt;/span&gt;&lt;/li&gt;
	&lt;li class=&quot;cat-item cat-item-5&quot;&gt;&lt;a href=&quot;#illustration&quot;&gt;illustration&lt;/a&gt; &lt;span&gt;1&lt;/span&gt;&lt;/li&gt;
	&lt;li class=&quot;cat-item cat-item-5&quot;&gt;&lt;a href=&quot;#high-resolution&quot;&gt;high resolution&lt;/a&gt; &lt;span&gt;6&lt;/span&gt;&lt;/li&gt;
	&lt;li class=&quot;cat-item cat-item-5&quot;&gt;&lt;a href=&quot;#iphone&quot;&gt;iphone&lt;/a&gt; &lt;span&gt;15&lt;/span&gt;&lt;/li&gt;
	&lt;li class=&quot;cat-item cat-item-5&quot;&gt;&lt;a href=&quot;#interface&quot;&gt;interface&lt;/a&gt; &lt;span&gt;21&lt;/span&gt;&lt;/li&gt;
	&lt;li class=&quot;cat-item cat-item-5&quot;&gt;&lt;a href=&quot;#grunge&quot;&gt;grunge&lt;/a&gt; &lt;span&gt;10&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;</pre>
<h2>CSS, CSS, CSS</h2>
<hr style="margin-left: 20px;" align="left" width="60%" />
<p>(A.K.A. CSS3. Yeah, a really bad joke)</p>
<p>Now we&#8217;ll do this with a few cool CSS3 implementations. This is what will help us:</p>
<ul>
<li><strong>Before and after pseudo elements</strong> &#8211; instead of putting a lot of additional spans we&#8217;ll just use them to create pretty effects</li>
<li><strong>Border-radius</strong> - we&#8217;ll need slightly rounded corners</li>
<li><strong>Content -</strong> this CSS property will be especially useful because we&#8217;ll insert an image as content of before count and after count</li>
<li><strong>Element positioning -</strong> we&#8217;ll have to be aware of positioning since before and after have to always be with our main span element</li>
</ul>
<p>Let&#8217;s go step by step. Basic CSS for background and main div positioning. Nothing really major in here:</p>
<pre class="brush: php; title: ; notranslate">body {
	background: url(bg.png);
}
	#container {
		position: relative;
		width: 500px;
		margin: 50px auto 0;
		padding: 10px 0 20px;
	}</pre>
<p>With #category and li rules we&#8217;ll achieve that side-by-side listing.</p>
<pre class="brush: php; title: ; notranslate">#category {
	margin: 0;
	padding: 0;
	list-style-type: none;
	overflow: hidden;
}
	#category li {
		float: left;
		position: relative;
		padding: 0 10px;
		margin: 0 15px 10px 0;
	}</pre>
<p>Our link styling will create that &#8220;white&#8221; part of our little tag. Background is a 1px wide soft gradient:</p>
<pre class="brush: php; title: ; notranslate">#category li a {
	float: left;
	padding: 4px 10px 0;
	height: 18px;
	font-family: &quot;arial&quot;;
	font-size: 10px;
	color: #3f3f3f;
	text-decoration: none;
	border-top: 1px solid #d3d0cf;
	border-left: 1px solid #cac7c7;
	border-bottom: 1px solid #aeadad;
	background: url(bgTag.png) repeat-x;
	-moz-border-radius: 2px;
	-webkit-border-radius: 2px;
	border-radius: 2px;
}</pre>
<p>Now we need to create the orange part of our tag. Since we&#8217;ll animate just the &#8220;middle&#8221;, we&#8217;ll have to do it in a way that our before and after elements will be &#8220;inside&#8221; of span but will go to right / left as our main element expands. So this will do the trick:</p>
<pre class="brush: php; title: ; notranslate">#category li span {
	position: relative;
	float: left;
	width: 35px;
	padding: 5px 0 0;
	margin-top: 1px;
	height: 18px;
	font-family: &quot;arial&quot;;
	font-size: 10px;
	color: #3f3f3f;
	text-align: center;
	background: url(bgCount.png);
	overflow: hidden;
}
	#category li span:before, #category li span:after {
		position: absolute;
		top: 0;
		left: 0;
		width: 3px;
		height: 30px;
		content: url(bgBeforeCount.png);
		overflow: hidden;
	}
	#category li span:after {
		left: auto;
		right: 0;
		content: url(bgAfterCount.png);
	}</pre>
<h2>jQuery Black Magic</h2>
<hr style="margin-left: 20px;" align="left" width="60%" />
<p>First of all, we need to include jQuery, right? So we&#8217;ll do it with a really cool technique that I&#8217;ve seen at jQuery boilerplate:</p>
<pre class="brush: php; title: ; notranslate">&lt;script src=&quot;//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;&gt;window.jQuery || document.write(&quot;\x3Cscript src='js/jquery-1.7.1.min.js' type='text/javascript'&gt;\x3C/script&gt;&quot;)&lt;/script&gt;</pre>
<p>We&#8217;ll try to get it from Google. Since almost everybody visits Google often we have a good chance of getting this right from the users cache. But if for any crazy reason Google is down (for instance, if we have been hit by a giant meteor just like our dino friends) it&#8217;ll get jQuery from our local file :)</p>
<p>Now we need to show / hide post counts when hovering over them, so our basic logic will be:</p>
<pre class="brush: php; title: ; notranslate">FIND all &quot;#category span&quot; tags
	animate their width to 0px
FIND all &quot;#category li&quot; tags
	WHEN mouseenter
		animate this.children(&quot;span&quot;) width to 35px
	WHEN mouseleave
		animate this.children(&quot;span&quot;) width to 0px</pre>
<p>When translating this to jQuery what you need to be aware of is:</p>
<ul>
<li>When you animate item to zero jQuery will add &#8216;display: none&#8217; to it (will hide our before and after tags), so we&#8217;ll animate it to 5px instead</li>
<li>You have to chain selectors to get better performance, so we&#8217;ll find #category, then get each span, then go up a level (to li&#8217;s)</li>
<li>When you animate several elements it&#8217;s good to &#8220;stop&#8221; them before animating so we won&#8217;t have a lot of &#8220;dancing&#8221; tags if user moves randomly mouse over elements</li>
</ul>
<p>Our final jQuery code will be this crazy thing:</p>
<pre class="brush: php; title: ; notranslate">$(function(){
	$(&quot;#category&quot;)
		.find(&quot;span&quot;)
		.each(function(){
			$(this).animate({&quot;width&quot;: &quot;5px&quot;});
		})
		.parent()
		.hover(
			function(){
				$(this).find(&quot;span&quot;).stop().animate({&quot;width&quot;: &quot;35px&quot;});
			}, function() {
				$(this).find(&quot;span&quot;).stop().animate({&quot;width&quot;: &quot;5px&quot;});
			}
		);
});</pre>
<h2>So, what do you think?</h2>
<hr style="margin-left: 20px;" align="left" width="60%" />
<p>Hope you enjoyed reading. Don&#8217;t be shy and share your thoughts with us!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.1stwebdesigner.com/wordpress/create-tags-with-sliding-post-count-wordpress/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>Using HTML5 Video The Easy Way</title>
		<link>http://www.1stwebdesigner.com/design/html5-video-easy-way/</link>
		<comments>http://www.1stwebdesigner.com/design/html5-video-easy-way/#comments</comments>
		<pubDate>Fri, 02 Dec 2011 10:00:56 +0000</pubDate>
		<dc:creator>Rochester Oliveira</dc:creator>
				<category><![CDATA[Tips]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[embed video]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[web design]]></category>

		<guid isPermaLink="false">http://www.1stwebdesigner.com/?p=55960</guid>
		<description><![CDATA[If you haven&#8217;t had a good reason to learn HTML5 video, let me give you one: Flash mobile is dead. Mobile is the new black, many people say that by 2014 more people will be browsing with their mobile device than using a desktop. You know, if we get through 2012 of course. So more then [...]]]></description>
			<content:encoded><![CDATA[<p>If you haven&#8217;t had a good reason to learn HTML5 video, let me give you one: <a href="http://www.wired.com/gadgetlab/2011/11/adobe-kills-mobile-flash/">Flash mobile is dead</a>. Mobile is the new black, many people say that by 2014 more people will be browsing with their mobile device than using a desktop. You know, if we get through 2012 of course. So more then using CSS media queries and cool coding tricks, you need to be ready to switch also the way you post videos online.</p>
<p>Now  you may be asking yourself if it&#8217;s hard to implement HTML5 video, or if it&#8217;s worth the effort. Well, dear friend, it&#8217;s way easier than you think.</p>
<p>We&#8217;ll see today a few different ways you can implement it, and a few more things that you should be aware of.</p>
<p>So, let&#8217;s rock!</p>
<p><span id="more-55960"></span></p>
<h2>How <code>&lt;video&gt;</code> tag works</h2>
<p>Before HTML5 we used <code>&lt;embed&gt;</code> or <code>&lt;object&gt;</code> tags to do this stuff. Don&#8217;t know if you&#8217;ve had the pleasure of trying to get this working, but I can assure you, it can cause quite the headache.</p>
<p>As you may notice, they are using external sources to process this content. External sources mean plugins, and they&#8217;re not always 100% compatible with your default content (how many times have you seen a flash banner above content that it shouldn&#8217;t be?).</p>
<p>The video tag is quite simple, you&#8217;ll show it which sources it can use, and if it can&#8217;t read these sources it&#8217;ll show your alternative message:</p>
<pre class="brush: php; title: ; notranslate">
&lt;video width=&quot;320&quot; height=&quot;240&quot; controls=&quot;controls&quot;&gt;
  &lt;source src=&quot;movie.mp4&quot; type=&quot;video/mp4&quot; /&gt;
  &lt;source src=&quot;movie.ogg&quot; type=&quot;video/ogg&quot; /&gt;
  &lt;source src=&quot;movie.webm&quot; type=&quot;video/webm&quot; /&gt;
  Bad news, you can't see the amazing stuff that is here.
&lt;/video&gt;
</pre>
<p>Here you&#8217;ll need sources as .mp4, .mp3, .ogg, .webm., and if you don&#8217;t have any of these formats there are a lot of <a href="https://www.google.com/search?q=html5+video+converter&amp;ie=utf-8&amp;oe=utf-8&amp;aq=t&amp;rls=org.mozilla:pt-BR:official&amp;client=firefox-a">html5 video converters</a> out there for you to use.</p>
<p>You&#8217;ll need different file types because Firefox (3.5+), Opera(10.5+) and Chrome(5.0+) support .ogg but Internet explorer(9.0+) and Safari(3.0+) support .mp4.</p>
<p>Ok, then the good thing is that you don&#8217;t need to ask your users to switch to a different browser in order to see your content. You can use a few alternatives to make sure that your users see your videos. We&#8217;ll get to those alternatives soon. For now, let&#8217;s see now how we can improve this video thing.</p>
<h2>Pretty video players</h2>
<p>Of course you don&#8217;t need to rely on default player controls for the video tag. Actually you can do seriously cool stuff (like applying CSS effects, canvas playing &amp; more) with your video content on the fly, but we&#8217;ll see more about this soon.</p>
<p>Here&#8217;s how a custom video player is made. <a href="http://dev.opera.com/articles/view/custom-html5-video-player-with-css3-and-jquery/">Dev.Opera has a great tutorial </a>on this and we&#8217;ll outline a few things that you can do.</p>
<h3>How this custom controls thing works</h3>
<p>Once our video is loaded we&#8217;ll use jQuery to remove its default controls and append our own HTML controls on it. Then jQuery will control all attributes we need, like readyState (if video is being played), duration (so we can use a slider), currentTime (so we can show how much time has played), and volume controls.</p>
<p>After doing JS you&#8217;ll see that video controls can easily be themed and changed via CSS, as it should be at first place, right?</p>
<p><img class="alignnone size-full wp-image-58921" title="smalldark-child-theme" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/smalldark-child-theme.jpg" alt="" width="490" height="218" /></p>
<p>Source: <a href="http://dev.opera.com/articles/view/custom-html5-video-player-with-css3-and-jquery/">Opera Tutorial</a></p>
<h2>Ok, ok, let&#8217;s do it the smart way</h2>
<p>We have a lot of plugins to help us in this process. Let&#8217;s see a couple of them:</p>
<h3>WordPress Plugin &#8211; <a href="http://wordpress.org/extend/plugins/html5-and-flash-video-player/">HTML5 and Flash Video Player</a></h3>
<p><img class="alignnone size-full wp-image-58925" title="html5" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/html5.jpg" alt="" width="550" height="286" /></p>
<p>With it you can easily add videos the old flv way, or cool HTML5 with flash fallback, with shortcodes: [videoplayer file="video/video.flv" /] or [videoplayer file="video/video.mp4, ogg, webm" /]</p>
<h3>Make an HTML5 video a background with <a href="http://syddev.com/jquery.videoBG/index.html">jQuery.VideoBG plugin</a></h3>
<p><img class="alignnone size-full wp-image-58926" title="videobg" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/videobg.jpg" alt="" width="550" height="286" /></p>
<p>Crazy thing! You can add a video to your background, and it gives a pretty cool look, indeed.</p>
<h3>Good looking video player with <a href="http://www.codebasehero.com/2011/07/html5-video-player/">ttwVideoPlayer jQuery Plugin</a></h3>
<p><img class="alignnone size-full wp-image-58927" title="videoplayer" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/videoplayer.jpg" alt="" width="550" height="286" /></p>
<p>One of the bests video players I&#8217;ve even seen. It looks pretty good, and has nice features.</p>
<h3>All in one solution with <a href="http://www.jplayer.org/">jPlayer</a></h3>
<p><img class="alignnone size-full wp-image-58928" title="jplayer" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/jplayer.jpg" alt="" width="550" height="286" /></p>
<p>Take a look at their first demo and you&#8217;ll see that isn&#8217;t just another jQuery video plugin. It allows you to enhance the default players behaviors in ways that I can only imagine normally doing with flash. Circle player is pretty crazy, check it and see what I&#8217;m talking about!</p>
<h3>One last good reference &#8211; <a href="http://html5video.org">Html5video.org</a></h3>
<p><img class="alignnone size-full wp-image-58929" title="html5video" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/html5video.jpg" alt="" width="550" height="286" /></p>
<p>It has good insights about video tag, news section, players comparison.. well, good things to know about HTML5</p>
<h2>Now it&#8217;s your turn!</h2>
<p>So, have you ever used this? What do you think about?</p>
<p>Do you know about another tool that can help us and is missing here? Let us know!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.1stwebdesigner.com/design/html5-video-easy-way/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Mouthwatering Collection Of jQuery Plugins And CSS3 Tricks</title>
		<link>http://www.1stwebdesigner.com/css/jquery-plugins-css3-tricks-collection/</link>
		<comments>http://www.1stwebdesigner.com/css/jquery-plugins-css3-tricks-collection/#comments</comments>
		<pubDate>Wed, 30 Nov 2011 21:00:31 +0000</pubDate>
		<dc:creator>Costin Găman</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[HTML & CSS]]></category>
		<category><![CDATA[JS & AJAX]]></category>
		<category><![CDATA[Plugins]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[showcase]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[tricks]]></category>

		<guid isPermaLink="false">http://www.1stwebdesigner.com/?p=58825</guid>
		<description><![CDATA[I&#8217;m sure that at one point or another you were designing a website and thought it could use a little something extra. That bit of something that adds extra functionality or enhances what it already has, making it not only easier for the user to receive the information they seek, but also present it in [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m sure that at one point or another you were designing a website and thought it could use a little something extra. That bit of something that adds extra functionality or enhances what it already has, making it not only easier for the user to receive the information they seek, but also present it in a neat package.</p>
<p>In no particular order, I give you a handpicked collection of jQuery plugins and some CSS3 tricks to top it off. Surely, with these in your designer arsenal, your creations will stand out more than ever before.</p>
<p><span id="more-58825"></span></p>
<h2>jQuery</h2>
<h3>1. <a title="Fly-out menu" href="http://tympanus.net/codrops/2010/06/28/awesome-cufonized-fly-out-menu/" target="_blank">Fly-out menu</a></h3>
<p>Excellent when using enlarged text for emphasis along with visual content.<br />
<a title="Fly-out menu" href="http://tympanus.net/codrops/2010/06/28/awesome-cufonized-fly-out-menu/" target="_blank"><img class="aligncenter size-full wp-image-58832" title="01-fly-out-menu" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/01-fly-out-menu.jpg" alt="01-fly-out-menu" width="570" height="285" /></a></p>
<h3>2. <a title="Grid portfolio" href="http://tympanus.net/codrops/2011/08/04/fullscreen-grid-portfolio/" target="_blank">Grid portfolio</a></h3>
<p>A very elegant way of displaying items with the possibility of quickly previewing the content.<br />
<em>Suggestion: use with other resizing elements so that the user can see them rearrange.</em><br />
<a title="Grid portfolio" href="http://tympanus.net/codrops/2011/08/04/fullscreen-grid-portfolio/" target="_blank"><img class="aligncenter size-full wp-image-58837" title="02-grid-portfolio" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/02-grid-portfolio.jpg" alt="02-grid-portfolio" width="570" height="293" /></a></p>
<h3>3. <a title="Slide out contextual tips" href="http://tutorialzine.com/2010/04/slideout-context-tips-jquery-css3/" target="_blank">Slide out contextual tips</a></h3>
<p>Expanding tool tips with a smooth animation, revealing extra content only when the user wants it.<br />
<em>Suggestion: use with images that display several products (e.g. furniture) or when explaining the highlights of a design in your portfolio.</em><br />
<a title="Slide out contextual tips" href="http://tutorialzine.com/2010/04/slideout-context-tips-jquery-css3/" target="_blank"><img class="aligncenter size-full wp-image-58839" title="03-slide-out-contextual-tips" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/03-slide-out-contextual-tips.jpg" alt="03-slide-out-contextual-tips" width="570" height="389" /></a></p>
<h3>4. <a title="Quicksand - reorder and filter" href="http://razorjack.net/quicksand/" target="_blank">Quicksand &#8211; reorder and filter</a></h3>
<p>Organise and reorder items to make it easier to find exactly what you need. Click once and just watch everything slide into place.<br />
<a title="Quicksand - reorder and filter" href="http://razorjack.net/quicksand/" target="_blank"><img class="aligncenter size-full wp-image-58841" title="04-quicksand-reorder-and-filter" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/04-quicksand-reorder-and-filter.jpg" alt="04-quicksand-reorder-and-filter" width="570" height="360" /></a></p>
<h3>5. <a title="Sunday morning" href="http://sundaymorning.jaysalvat.com/" target="_blank">Sunday morning &#8211; translation plugin</a></h3>
<p>A little old, but still awesome. It adds a simple and appealing way of translating a website or just parts of it.<br />
<a title="Sunday morning" href="http://sundaymorning.jaysalvat.com/" target="_blank"><img class="aligncenter size-full wp-image-58842" title="05-sunday-morning-translation" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/05-sunday-morning-translation.jpg" alt="05-sunday-morning-translation" width="570" height="377" /></a></p>
<h3>6. <a title="Jvectormap" href="http://jvectormap.owl-hollow.net/" target="_blank">jVectorMap</a></h3>
<p>Interactive map with the possibility of expanding for other uses. Includes the world map, US, Europe and Germany.<br />
<a title="Jvectormap" href="http://jvectormap.owl-hollow.net/" target="_blank"><img class="aligncenter size-full wp-image-58845" title="06-jvectormap-interactive-map" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/06-jvectormap-interactive-map.jpg" alt="06-jvectormap-interactive-map" width="570" height="375" /></a></p>
<h3>7. <a title="Shuffle letters effect" href="http://tutorialzine.com/2011/09/shuffle-letters-effect-jquery/" target="_blank">Shuffle letters effect</a></h3>
<p>An interesting effect that can be added to make text elements more eye-catching. Basically, it shows random characters as it reveals the actual text.<br />
<em>Suggestion: use sparingly so as not to make everything confusing.</em><br />
<a title="Shuffle letters effect" href="http://tutorialzine.com/2011/09/shuffle-letters-effect-jquery/" target="_blank"><img class="aligncenter size-full wp-image-58847" title="07-shuffle-letters-effect" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/07-shuffle-letters-effect.jpg" alt="07-shuffle-letters-effect" width="570" height="339" /></a></p>
<h3>8. <a title="Mosaiqy" href="http://www.fabriziocalderan.it/mosaiqy/" target="_blank">Mosaiqy &#8211; picture shuffle</a></h3>
<p>Display pictures in a simple grid that shuffles the elements in a Rubik&#8217;s cube fashion.<br />
<a title="Mosaiqy" href="http://www.fabriziocalderan.it/mosaiqy/" target="_blank"><img class="aligncenter size-full wp-image-58849" title="08-mosaiqy-picture-shuffle" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/08-mosaiqy-picture-shuffle.jpg" alt="08-mosaiqy-picture-shuffle" width="570" height="264" /></a></p>
<h3>9. <a title="Sponsor wall flip" href="http://tutorialzine.com/2010/03/sponsor-wall-flip-jquery-css/" target="_blank">Sponsor wall flip</a></h3>
<p>Although the title says &#8220;sponsor wall flip&#8221;, that&#8217;s just one of the many uses for this plugin. Show visual elements and put bite-sized information on the back.<br />
<em>Note: contains a little PHP.</em><br />
<a title="Sponsor wall flip" href="http://tutorialzine.com/2010/03/sponsor-wall-flip-jquery-css/" target="_blank"><img class="aligncenter size-full wp-image-58850" title="09-sponsor-wall-flip" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/09-sponsor-wall-flip.jpg" alt="09-sponsor-wall-flip" width="570" height="340" /></a></p>
<h3>10. <a title="Colourful jQuery clock" href="http://tutorialzine.com/2009/12/colorful-clock-jquery-css/" target="_blank">Colourful jQuery clock</a></h3>
<p>Add a colourful and modern clock to your design or perhaps even adapt it into a countdown for when launching a new website!<br />
<a title="Colourful jQuery clock" href="http://tutorialzine.com/2009/12/colorful-clock-jquery-css/" target="_blank"><img class="aligncenter size-full wp-image-58852" title="10-colorful-jquery-clock" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/10-colorful-jquery-clock.jpg" alt="10-colorful-jquery-clock" width="570" height="198" /></a></p>
<h3>11. <a title="MopTip2" href="http://www.mopstudio.jp/mopTip2descrip.html" target="_blank">MopTip2</a></h3>
<p>MopTip2 is a plugin that lets you add customizable tooltips to various elements. The tooltips can close automatically or be manually closed and they may also display images.<br />
<a title="MopTip2" href="http://www.mopstudio.jp/mopTip2descrip.html" target="_blank"><img class="aligncenter size-full wp-image-58853" title="11-mop-tip-2" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/11-mop-tip-2.jpg" alt="11-mop-tip-2" width="570" height="360" /></a></p>
<h3>12. <a title="Grumble" href="http://jamescryer.github.com/grumble.js/" target="_blank">Grumble</a></h3>
<p>Another tooltip plugin with the added bonus of being able to use virtually any CSS styles and transform them into whatever you may want.<br />
<a title="Grumble" href="http://jamescryer.github.com/grumble.js/" target="_blank"><img class="aligncenter size-full wp-image-58855" title="12-grumble-tooltip" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/12-grumble-tooltip.jpg" alt="12-grumble-tooltip" width="570" height="187" /></a></p>
<h3>13. <a title="jQuery Timelnr" href="http://www.csslab.cl/2011/08/18/jquery-timelinr/" target="_blank">jQuery Timelnr</a></h3>
<p>Timelnr is a stylish timeline gallery with the option of placing it horizontally or vertically, and having it play automatically.<br />
<a title="jQuery Timelnr" href="http://www.csslab.cl/2011/08/18/jquery-timelinr/" target="_blank"><img class="aligncenter size-full wp-image-58856" title="13-jquery-timelnr" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/13-jquery-timelnr.jpg" alt="13-jquery-timelnr" width="570" height="283" /></a></p>
<h3>14. <a title="Flexible nav" href="http://demo.greweb.fr/flexible-nav/" target="_blank">Flexible nav</a></h3>
<p>By just marking certain elements in the HTML, this plugin will automatically create a navigation menu for you, acting like small bookmarks placed neatly on the side of the window.<br />
<a title="Flexible nav" href="http://demo.greweb.fr/flexible-nav/" target="_blank"><img class="aligncenter size-full wp-image-58857" title="14-flexible-nav" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/14-flexible-nav.jpg" alt="14-flexible-nav" width="570" height="223" /></a></p>
<h3>15. <a title="Deck - HTML presentations" href="http://imakewebthings.github.com/deck.js/" target="_blank">Deck &#8211; HTML presentations</a></h3>
<p>Ever thought PowerPoint or Keynote presentations were cumbersome? Then look no further! With Deck you can create online HTML presentations with a multitude of uses, perhaps enhancing an e-learning product.<br />
<a title="Deck - HTML presentations" href="http://imakewebthings.github.com/deck.js/" target="_blank"><img class="aligncenter size-full wp-image-58858" title="15-deck-presentations" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/15-deck-presentations.jpg" alt="15-deck-presentations" width="570" height="343" /></a></p>
<h3>16. <a title="Apple-like Retina effect" href="http://tutorialzine.com/2010/06/apple-like-retina-effect-jquery-css/" target="_blank">Apple-like Retina effect</a></h3>
<p>Enhance your content by letting users see the finer details with this Retina-like plugin.<br />
<a title="Apple-like Retina effect" href="http://tutorialzine.com/2010/06/apple-like-retina-effect-jquery-css/" target="_blank"><img class="aligncenter size-full wp-image-58859" title="16-retina-effect" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/16-retina-effect.jpg" alt="16-retina-effect" width="570" height="314" /></a></p>
<h3>17. <a title="jQuery pageSlide" href="http://srobbin.com/blog/jquery-pageslide/" target="_blank">jQuery pageSlide</a></h3>
<p>Simple and effective, pageSlide reveals information by pushing the entire page to the side, thus not disrupting the positions of other elements.<br />
<em>Suggestion: it could be used to hide a vertical navigation, leaving room for full-page content.</em><br />
<a title="jQuery pageSlide" href="http://srobbin.com/blog/jquery-pageslide/" target="_blank"><img class="aligncenter size-full wp-image-58860" title="17-jquery-page-slide" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/17-jquery-page-slide.jpg" alt="17-jquery-page-slide" width="570" height="301" /></a></p>
<h3>18. <a title="jqFancyTransitions" href="http://workshop.rs/projects/jqfancytransitions/" target="_blank">jqFancyTransitions</a></h3>
<p>A simple and sleek gallery with strip transitions and several formats.<br />
<a title="jqFancyTransitions" href="http://workshop.rs/projects/jqfancytransitions/" target="_blank"><img class="aligncenter size-full wp-image-58861" title="18-jquery-fancy-transitions" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/18-jquery-fancy-transitions.jpg" alt="18-jquery-fancy-transitions" width="570" height="420" /></a></p>
<h3>19. <a title="Panning slideshow" href="http://s3.amazonaws.com/buildinternet/live-tutorials/panning-slideshow/panning-slideshow.htm" target="_blank">Panning slideshow</a></h3>
<p>A more interesting slideshow which pieces together the slides and pans through them with a slightly elastic effect.<br />
<em>Suggestion: given the effect, the slides could actually be parts of one big image for something more special.</em><br />
<a title="Panning slideshow" href="http://s3.amazonaws.com/buildinternet/live-tutorials/panning-slideshow/panning-slideshow.htm" target="_blank"><img class="aligncenter size-full wp-image-58862" title="19-panning-slideshow" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/19-panning-slideshow.jpg" alt="19-panning-slideshow" width="570" height="305" /></a></p>
<h3>20. <a title="jqZoom" href="http://www.mind-projects.it/projects/jqzoom/" target="_blank">jqZoom</a></h3>
<p>Similar to the Retina plugin, jqZoom can be customized in more ways and has more zooming options, such as drag-zoom or through simple mouse-over.<br />
<a title="jqZoom" href="http://www.mind-projects.it/projects/jqzoom/" target="_blank"><img class="aligncenter size-full wp-image-58863" title="20-jquery-jqzoom" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/20-jquery-jqzoom.jpg" alt="20-jquery-jqzoom" width="570" height="319" /></a></p>
<h3>21. <a title="3D tag cloud" href="http://www.iangeorge.net/snippets/tags/" target="_blank">3D tag cloud</a></h3>
<p>Add a little creativity to your tag cloud by turning it into a tag sphere! Just click and drag to rotate it and use the mouse wheel to zoom in and out. The plugin simply transforms all divs that have the class &#8220;tags&#8221; and contain an unordered list with links inside.<br />
<em>Suggestion: since all it needs is a div, why not be creative and apply it to a navigation?</em><br />
<a title="3D tag cloud" href="http://www.iangeorge.net/snippets/tags/" target="_blank"><img class="aligncenter size-full wp-image-59130" title="21-jquery-3D-tag-cloud" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/21-jquery-3D-tag-cloud.jpg" alt="21-jquery-3D-tag-cloud" width="570" height="265" /></a></p>
<h3>22. <a title="JEffects" href="http://rezoner.net/labs/jeffects/index.html" target="_blank">JEffects</a></h3>
<p>JEffects is a plugin containing more effects that can be applied to various elements within your website. For instance, it can be applied to input fields to create a very pleasant effect.<br />
<em>Note: not free.</em><br />
<a title="JEffects" href="http://rezoner.net/labs/jeffects/index.html" target="_blank"><img class="aligncenter size-full wp-image-59134" title="22-jquery-jeffects" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/22-jquery-jeffects.jpg" alt="22-jquery-jeffects" width="566" height="252" /></a></p>
<h3>23. <a title="PhotoShelf" href="http://rezoner.net/labs/photoshelf/" target="_blank">PhotoShelf</a></h3>
<p>PhotoShelf is an elegant gallery that allows you to scroll through a collection of images and zoom in on portions of the selected image. It can also add separators in the stack to organise your items.<br />
<em>Note: not free.</em><br />
<a title="PhotoShelf" href="http://rezoner.net/labs/photoshelf/" target="_blank"><img class="aligncenter size-full wp-image-59135" title="23-jquery-photo-shelf" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/23-jquery-photo-shelf.jpg" alt="23-jquery-photo-shelf" width="570" height="296" /></a></p>
<h3>24. <a title="Grid accordion with jQuery" href="http://css-tricks.com/5994-grid-accordion-with-jquery/" target="_blank">Grid accordion</a></h3>
<p>A double accordion, if you will. It smoothly expands to an easier to read width and makes room for subcategories, also displayed inside an accordion.<br />
<a title="Grid accordion with jQuery" href="http://css-tricks.com/5994-grid-accordion-with-jquery/" target="_blank"><img class="aligncenter size-full wp-image-59138" title="24-jquery-info-grid" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/24-jquery-info-grid.jpg" alt="24-jquery-info-grid" width="570" height="283" /></a></p>
<h3>25. <a title="Latest tweets tooltip" href="http://tympanus.net/codrops/2010/07/20/latest-tweets-tooltip/" target="_blank">Latest tweets tooltip</a></h3>
<p>A very interesting plugin that lets you display the latest tweets about a certain topic inside a resizeable tooltip.<br />
<a title="Latest tweets tooltip" href="http://tympanus.net/codrops/2010/07/20/latest-tweets-tooltip/" target="_blank"><img class="aligncenter size-full wp-image-59148" title="25-jquery-tweet-feed" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/25-jquery-tweet-feed.jpg" alt="25-jquery-tweet-feed" width="570" height="390" /></a></p>
<h2>Bonus: a few CSS tricks</h2>
<h3>1. <a title="CSS3 Transitions, Transforms and Animations" href="http://css3.bradshawenterprises.com/" target="_blank">CSS3 Transitions, Transforms and Animations</a></h3>
<p>Everything you wanted to know about CSS3, plus some tutorials on how to create some nifty enhancements.<br />
<em>Note: some tutorials contain some JavaScript.</em><br />
<a title="CSS3 Transitions, Transforms and Animations" href="http://css3.bradshawenterprises.com/" target="_blank"><img class="aligncenter size-full wp-image-58941" title="CSS-01-transitions-transforms-animations" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/CSS-01-transitions-transforms-animations.jpg" alt="CSS-01-transitions-transforms-animations" width="570" height="345" /></a></p>
<h3>2. <a title="Pure CSS Accordion" href="http://www.paulrhayes.com/2009-06/accordion-using-only-css/" target="_blank">Pure CSS Accordion</a></h3>
<p>As the title implies, this simple but versatile effect is made with pure CSS transitions, taking advantage of anchors.<br />
<a title="Pure CSS Accordion" href="http://www.paulrhayes.com/2009-06/accordion-using-only-css/" target="_blank"><img class="aligncenter size-full wp-image-58944" title="CSS-02-accordion" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/CSS-02-accordion.jpg" alt="CSS-02-accordion" width="570" height="365" /></a></p>
<h3>3. <a title="OS X dock" href="http://www.zurb.com/playground/osx-dock" target="_blank">OS X dock</a></h3>
<p>Create an OS X dock with CSS3 properties, including reflections to make your design stand out.<br />
<a title="OS X dock" href="http://www.zurb.com/playground/osx-dock" target="_blank"><img class="aligncenter size-full wp-image-58945" title="CSS-03-mac-dock" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/CSS-03-mac-dock.jpg" alt="CSS-03-mac-dock" width="570" height="240" /></a></p>
<h3>4. <a title="CSS media query" href="http://css-tricks.com/6731-css-media-queries/" target="_blank">CSS media query</a></h3>
<p>Learn how to hide and display elements according to the size of the screen. A step towards responsive web design.</p>
<h3>5. <a title="CSS3 Multi column" href="http://net.tutsplus.com/tutorials/html-css-techniques/quick-tip-the-multi-column-css3-module/" target="_blank">CSS3 multi column</a></h3>
<p>With just one line of code you can split a text container into columns, lending itself nicely to dynamic content.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.1stwebdesigner.com/css/jquery-plugins-css3-tricks-collection/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Definitive Mobile Guide &#8211; 40+ Tools, Frameworks And Tutorials</title>
		<link>http://www.1stwebdesigner.com/tutorials/mobile-guide-for-tools-frameworks-tutorials/</link>
		<comments>http://www.1stwebdesigner.com/tutorials/mobile-guide-for-tools-frameworks-tutorials/#comments</comments>
		<pubDate>Tue, 29 Nov 2011 21:00:11 +0000</pubDate>
		<dc:creator>Rochester Oliveira</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[mobile development]]></category>
		<category><![CDATA[Roundup]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.1stwebdesigner.com/?p=59060</guid>
		<description><![CDATA[The mobile market is getting bigger and bigger. A lot of people are spending much more time mobile browsing than desktop. Sometimes I feel like developers aren&#8217;t paying proper attention to mobile interfaces. Maybe because we don&#8217;t have enough tools to do it, right? No, actually it isn&#8217;t. Despite cool things like Safari Mobile that [...]]]></description>
			<content:encoded><![CDATA[<p>The mobile market is getting bigger and bigger. A lot of people are spending much more time mobile browsing than desktop. Sometimes I feel like developers aren&#8217;t paying proper attention to mobile interfaces. Maybe because we don&#8217;t have enough tools to do it, right? No, actually it isn&#8217;t.</p>
<p>Despite cool things like Safari Mobile that makes any (non-flash) website &#8220;browsable&#8221; it&#8217;s easy to see that conversion rates are much higher on interfaces design for mobile viewing.</p>
<p>So be ready to see A LOT of tools to help you create cool things for mobile with just what we know (HTML, CSS, JS).</p>
<p><span id="more-59060"></span></p>
<h2>Frameworks, plugins and development tools</h2>
<p>Many of us know how to do things with HTML and JS. Sometimes seriously cool stuff using HTML5 effects and some of the newer coding options. Now you&#8217;ll see a lot of tools to help you to bring all your knowledge to create mobile interfaces easily.</p>
<h3><a href="http://www.appinventorbeta.com/">App Inventor (beta)</a></h3>
<p>If you like drag &amp; drop, this one is for you. Actually you don&#8217;t need to know a single line of code to build your android apps with this great software. I&#8217;ve tried it myself and it works great despite a final app sizes being a little large.</p>
<p><img class="alignnone size-full wp-image-59084" title="app-inventor" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/app-inventor.jpg" alt="" width="550" height="300" /></p>
<h3><a href="http://www.dhtmlx.com/touch/">DHTMLX Touch</a></h3>
<p>One of the most well-known frameworks. Helps a lot when you know a little JS and HTML5 and want to create powerful apps.</p>
<p><img class="alignnone size-full wp-image-59085" title="dhtml-touch" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/dhtml-touch.jpg" alt="" width="550" height="300" /></p>
<h3><a href="http://uxebu.github.com/embedjs/ ">EmbedJS</a></h3>
<p>EmbedJS is a JavaScript framework for embedded devices (mobile phones, TVs, etc.). It takes a different approach than other frameworks by shipping just the code needed for each device. That means, there&#8217;s less code going over the wire, less code branching at runtime and less memory usage.</p>
<p><img class="alignnone size-full wp-image-59086" title="embed-js" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/embed-js.jpg" alt="" width="550" height="300" /></p>
<h3><a href="http://guryjs.org/">Gury</a></h3>
<p>Gury (pronounced &#8220;jury&#8221;) is a JavaScript library designed to aid in the creation of HTML5/Canvas applications by providing an easy-to-use chain based interface.</p>
<p><img class="alignnone size-full wp-image-59087" title="gury" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/gury.jpg" alt="" width="550" height="300" /></p>
<h3><a href="http://iosframeworks.com/">iOSFrameworks.com</a></h3>
<p>For those who knows basic Objective-C, this one is a really useful collection of frameworks to help you in your projects. Really useful!</p>
<p><img class="alignnone size-full wp-image-59088" title="ios-frameworks" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/ios-frameworks.jpg" alt="" width="550" height="300" /></p>
<h3><a href="http://snippetspace.com/projects/iwebkit/">iWebkit</a></h3>
<p>iWebKit is a file package designed to help you create your own iPhone, iPod Touch and iPad compatible website or webapp.</p>
<p><img class="alignnone size-full wp-image-59089" title="iwebkit" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/iwebkit.jpg" alt="" width="550" height="300" /></p>
<h3><a href="http://code.google.com/p/iui/wiki/Introduction">iUI</a></h3>
<p>Web UI Framework for mobile devices &#8211; iOS, Android, Palm, and others.</p>
<p><img class="alignnone size-full wp-image-59090" title="iui" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/iui.jpg" alt="" width="550" height="300" /></p>
<h3><a href="http://joapp.com/">JoApp</a></h3>
<p>Framework for mobile development with a lot of cool features, like native-like widgets, multiple ways to code, and heavy use of CSS3.</p>
<p><img class="alignnone size-full wp-image-59091" title="jo" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/jo.jpg" alt="" width="550" height="300" /></p>
<h3><a href="http://jquerymobile.com/">jQuery Mobile</a></h3>
<p>How could I forget this one? Well, this is our well known jQuery with a lot of mobile-optimized features. With its recent 1.0 launch it will be a default script for many sites (just like jQuery &#8220;normal&#8221; is now).</p>
<p><img class="alignnone size-full wp-image-59093" title="jquery-mobile" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/jquery-mobile.jpg" alt="" width="550" height="300" /></p>
<h3><a href="http://jqtouch.com/">jQTouch</a></h3>
<p>At first it may look like just another plugin for responsive layouts. Well, it&#8217;s actually almost a UI framework with a lot of cool features that will save you a lot of development hours. :)</p>
<p><img class="alignnone size-full wp-image-59094" title="jqtouch" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/jqtouch.jpg" alt="" width="550" height="300" /></p>
<h3><a href="http://www.kendoui.com/ ">Kendo UI</a></h3>
<p>Kendo has a lot of cool features for responsive UI. It does a lot of amazing things, like responsive charts being one of the most impressive performances you&#8217;ll find.</p>
<p><img class="alignnone size-full wp-image-59095" title="kendo" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/kendo.jpg" alt="" width="550" height="300" /></p>
<h3><a href="http://www.limejs.com/">Lime.JS</a></h3>
<p>Do you like games? Yeah, you, me and Lime.js do. Build games faster than ever with this HTML5 game framework.</p>
<p><img class="alignnone size-full wp-image-59096" title="lime" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/lime.jpg" alt="" width="550" height="300" /></p>
<h3><a href="http://www.mobl-lang.org/ ">MOBL</a></h3>
<p>Feel like learning a new language? Mobl is a new programming language for mobile devices. Sounds cool, huh?</p>
<p><img class="alignnone size-full wp-image-59097" title="mobl" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/mobl.jpg" alt="" width="550" height="300" /></p>
<h3><a href="http://nextinterfaces.com/ ">NEXT Interfaces</a></h3>
<p>NEXT is a free, open source Java and HTML5 framework for building Native Looking web applications for smartphones and tablets.</p>
<p><img class="alignnone size-full wp-image-59098" title="next" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/next.jpg" alt="" width="550" height="300" /></p>
<h3><a href="http://www.nimblekit.com/index.php ">NimbleKit</a></h3>
<p>NimbleKit is the fastest way to create applications for iOS. You don&#8217;t need to know Objective-C or the iOS SDK. All you need is to know how to write an HTML page with JavaScript code.</p>
<p><img class="alignnone size-full wp-image-59099" title="nimblekit" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/nimblekit.jpg" alt="" width="550" height="300" /></p>
<h3><a href="http://phonegap.com/">PhoneGap</a></h3>
<p>Using the free open source framework or PhoneGap build you can get access to native APIs.</p>
<p><img class="alignnone size-full wp-image-59100" title="phonegap" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/phonegap.jpg" alt="" width="550" height="300" /></p>
<h3><a href="http://www.sencha.com/products/touch">Sencha Touch</a></h3>
<p>You&#8217;ve probably heard about this one, Sencha Touch allows you to develop mobile web apps that look and feel native on iPhone, Android, and BlackBerry touch devices.</p>
<p><img class="alignnone size-full wp-image-59101" title="sencha-touch" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/sencha-touch.jpg" alt="" width="550" height="300" /></p>
<h3><a href="http://the-m-project.net/">The M-Project</a></h3>
<p>It&#8217;s a really good framework, with great documentation, built to allow you to develop easily cross-platform mobile apps.</p>
<p><img class="alignnone size-full wp-image-59102" title="the-m-project" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/the-m-project.jpg" alt="" width="550" height="300" /></p>
<h3><a href="http://www.appcelerator.com/products/titanium-mobile-application-development/">Titanium</a></h3>
<p>Titanium is different because after your development process it generates a compiled app for iOS or android, so you can get a higher performance with native apps without learning a line of Objective-C or Java.</p>
<p><img class="alignnone size-full wp-image-59103" title="titanium-mobile" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/titanium-mobile.jpg" alt="" width="550" height="300" /></p>
<h3><a href="http://labs.doat.com/ ">Touchy</a></h3>
<p>More than just a boilerplate, it has a lot of built-in functions to do all the heavy lifting, so you can focus on getting your app out there. Touchy<em></em> goes beyond just an HTML/CSS template, adding performance optimization tools, hardware accelerated animation, device API, fixed positioning and much more so you can really rock the mobile web.</p>
<p><img class="alignnone size-full wp-image-59104" title="touchy-boilerplate" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/touchy-boilerplate.jpg" alt="" width="550" height="300" /></p>
<h3><a href="http://webapp-net.com/ ">WebApp.Net</a></h3>
<p>WebApp.Net is a light weight, powerful JavaScript framework taking advantage of AJAX technology. It provides a full set of ready to use components to help you develop, quickly and easily, advanced mobile web applications.</p>
<p><img class="alignnone size-full wp-image-59105" title="webapp--net" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/webapp-net.jpg" alt="" width="550" height="300" /></p>
<h3><a href="http://www.winktoolkit.org/">Wink Toolkit</a></h3>
<p>Wink Toolkit is a lightweight JavaScript toolkit, designed and developed to meet the specific constraints of the mobile environment. The toolkit&#8217;s core offers all the basic functionalities a mobile developer would need from touch event handling to DOM manipulation objects or CSS transforms utilities.</p>
<p><img class="alignnone size-full wp-image-59106" title="wink-toolkit" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/wink-toolkit.jpg" alt="" width="550" height="300" /></p>
<h3><a href="http://zeptojs.com/">Zepto.Js</a></h3>
<p>Zepto.js is a minimalist JavaScript framework for mobile WebKit browsers, with a jQuery-compatible syntax.</p>
<p><img class="alignnone size-full wp-image-59107" title="zepto-js" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/zepto-js.jpg" alt="" width="550" height="300" /></p>
<h2>Miscellaneous tools</h2>
<p>Here we have everything from validators to image gallery plugins.</p>
<h3><a href="http://stuffandnonsense.co.uk/projects/320andup/ ">320 and up</a></h3>
<p>The ‘tiny screen first’ boilerplate extension. It prevents mobile devices from downloading desktop assets by using a tiny screen’s stylesheet as its starting point.</p>
<p><img class="alignnone size-full wp-image-59108" title="320-and-up" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/320-and-up.jpg" alt="" width="550" height="300" /></p>
<h3><a href="http://jeromeetienne.github.com/jquery-mobile-960/">960 Grid on jQuery-Mobile</a></h3>
<p>jQuery-mobile-960 is a port of 960 grid to jQuery mobile. It merges the flexibility of 960.gs, and the ease of jQuery mobile.</p>
<p><img class="alignnone size-full wp-image-59109" title="960-grid-on-jquery-mobile" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/960-grid-on-jquery-mobile.jpg" alt="" width="550" height="300" /></p>
<h3><a href="http://animatable.com/">Animatable</a></h3>
<p>It&#8217;s not ready to use&#8230;yet. But you should bookmark this one. It&#8217;ll help us create animations for desktop, Android, Blackberry QNX, iOS and WebOS mobile devices.</p>
<p><img class="alignnone size-full wp-image-59110" title="animatable" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/animatable.jpg" alt="" width="550" height="300" /></p>
<h3><a href="https://github.com/Wilto/Dynamic-Carousel">Dynamic carousel </a></h3>
<p>Responsive carousel script. Check it out!</p>
<p><img class="alignnone size-full wp-image-59111" title="dynamic-carrousel" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/dynamic-carrousel.jpg" alt="" width="550" height="300" /></p>
<h3><a href="http://galleria.aino.se/">Galleria.Aino.Se</a></h3>
<p>Galleria is a cool image gallery script that works nice from desktop to mobile.</p>
<p><img class="alignnone size-full wp-image-59112" title="galleria" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/galleria.jpg" alt="" width="550" height="300" /></p>
<h3><a href="http://html5boilerplate.com/">HTML5 Boilerplate / mobile</a></h3>
<p>HTML 5 Boilerplate has a set of cool features for mobile interfaces with a lot of guidelines to get the most from your mobile app.</p>
<p><img class="alignnone size-full wp-image-59113" title="mobile-boilerplate" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/mobile-boilerplate.jpg" alt="" width="550" height="300" /></p>
<h3><a href="http://www.initializr.com/ ">Initializr 2</a></h3>
<p>Since it uses the HTML5 Boilerplate it has the same cool features.</p>
<p><img class="alignnone size-full wp-image-59114" title="initialzr" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/initialzr.jpg" alt="" width="550" height="300" /></p>
<h3><a href="http://masonry.desandro.com/">Masonry</a></h3>
<p>It allows you to use crazy grids that would be just impossible with CSS floats. Plus, with a touch of creativity, you can do cool things, like this <a href="http://www.b2bweb.fr/molokoloco/scroll-wall-jquery-mobile-masonry/">Scroll Wall with jQuery Mobile and Masonry</a>.</p>
<p><img class="alignnone size-full wp-image-59092" title="jquery-masonry" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/jquery-masonry.jpg" alt="" width="550" height="300" /></p>
<h3><a href="http://www.mobilexweb.com/emulators">Mobile Emulators &amp; Simulators: The Ultimate Guide &#8211; MobileXWeb</a></h3>
<p>A complete guide of mobile emulators and tools to help you test your apps.</p>
<p><img class="alignnone size-full wp-image-59115" title="mobile-emulators" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/mobile-emulators.jpg" alt="" width="550" height="300" /></p>
<h3><a href="http://www.notjustagrid.com/default.asp">Not Just A Grid</a></h3>
<p>Not Just a Grid is a flexible and modular CSS  framework that is designed to assist in the rapid prototyping and development of websites. It has been designed for the future with larger screen sizes and the use of CSS3 for progressive enhancement and richer user experiences.</p>
<p><img class="alignnone size-full wp-image-59116" title="not-just-a-grid" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/not-just-a-grid.jpg" alt="" width="550" height="300" /></p>
<h3><a href="http://ready.mobi/">MobiReady</a></h3>
<p>The mobiReady testing tool evaluates mobile-readiness using industry best practices &amp; standards.</p>
<p><img class="alignnone size-full wp-image-59117" title="mobi-ready" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/mobi-ready.jpg" alt="" width="550" height="300" /></p>
<h3><a href="http://treesaverjs.com/">Treesaver</a></h3>
<p>Treesaver is a JavaScript framework for creating magazine-style layouts using standards-compliant HTML and CSS.</p>
<p><img class="alignnone size-full wp-image-59118" title="tree-saver" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/tree-saver.jpg" alt="" width="550" height="300" /></p>
<h3><a href="http://validator.w3.org/mobile/">W3C Mobile Validator</a></h3>
<p>It&#8217;s from W3C.  No more description needed, right?</p>
<p><img class="alignnone size-full wp-image-59119" title="w3c-mobile-ok" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/w3c-mobile-ok.jpg" alt="" width="550" height="300" /></p>
<h3><a href="http://wijmo.com/">Wijmo</a></h3>
<p>Wijmo is a complete kit of over 30 UI widgets with everything from interactive menus to rich charts.</p>
<p><img class="alignnone size-full wp-image-59120" title="wijmo" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/wijmo.jpg" alt="" width="550" height="300" /></p>
<h3><a href="http://wordpress.org/extend/plugins/wptouch/">WP Touch</a></h3>
<p>WPtouch: A simple, powerful and elegant mobile theme for your website. WPtouch automatically transforms your WordPress blog into an iPhone application.</p>
<p><img class="alignnone size-full wp-image-59121" title="wp-touch" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/wp-touch.jpg" alt="" width="550" height="300" /></p>
<h2>Tutorials and Articles</h2>
<h3><a href="http://designmodo.com/mobile-web-design-trends/">Mobile Web Design Trends and Best Practices &#8211; DesignModo</a></h3>
<p>A long and very well written guide with all the basics you need to know before getting started with this mobile development thing.</p>
<p><img class="alignnone size-full wp-image-59122" title="tutorial-designmodo" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/tutorial-designmodo.jpg" alt="" width="550" height="300" /></p>
<h3><a title="Permanent Link to Building Mobile Web Apps the Right Way: Tips and Techniques" href="http://sixrevisions.com/web-applications/building-mobile-web-apps-the-right-way-tips-and-techniques/" rel="bookmark">Building Mobile Web Apps the Right Way: Tips and Techniques &#8211; SixRevisions</a></h3>
<p>Good guide with a comparison of what you&#8217;re used to doing for desktop development and what you should be doing for mobile interfaces.</p>
<p><img class="alignnone size-full wp-image-59123" title="tutorial-six-revisions" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/tutorial-six-revisions.jpg" alt="" width="550" height="300" /></p>
<h3><a title="Permanent Link to 10 handy jQuery mobile tips and snippets to get you started" href="http://www.webdesignerdepot.com/2011/05/10-handy-jquery-mobile-tips-and-snippets-to-get-you-started/" rel="bookmark">10 handy jQuery mobile tips and snippets to get you started &#8211; WebDesignerDepot</a></h3>
<p>jQuery mobile is a great tool, indeed. But you need to know how to use it. This really helpful guide will help you get started with jQuery mobile!</p>
<p><img class="alignnone size-full wp-image-59124" title="tutorial-webdesigner-depot" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/tutorial-webdesigner-depot.jpg" alt="" width="550" height="300" /></p>
<h3><a href="http://designshack.net/articles/css/build-a-responsive-mobile-friendly-web-page-with-skeleton/">Build a Responsive, Mobile-Friendly Web Page With Skeleton &#8211; DesignShack</a></h3>
<p>I didn&#8217;t mention skeleton because this guide will help you understand it better. You can use these principles in all other mobile boilerplates out there.</p>
<p><img class="alignnone size-full wp-image-59125" title="tutorial-designshack" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/tutorial-designshack.jpg" alt="" width="550" height="300" /></p>
<h3><a href="http://tympanus.net/codrops/2010/05/27/awesome-mobile-image-gallery-web-app/">Awesome Mobile Image Gallery Web App &#8211; Codrops</a></h3>
<p>Check it with your mobile device and be as amazed as I was at first. Pretty cool :)</p>
<p><img class="alignnone size-full wp-image-59126" title="tutorial-codrops" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/tutorial-codrops.jpg" alt="" width="550" height="300" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.1stwebdesigner.com/tutorials/mobile-guide-for-tools-frameworks-tutorials/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Improve Website Usability Using jQuery, HTML5, And CSS3</title>
		<link>http://www.1stwebdesigner.com/design/improve-website-usability-using-jquery-html5-and-css3/</link>
		<comments>http://www.1stwebdesigner.com/design/improve-website-usability-using-jquery-html5-and-css3/#comments</comments>
		<pubDate>Fri, 11 Nov 2011 10:00:27 +0000</pubDate>
		<dc:creator>Jamal</dc:creator>
				<category><![CDATA[Tools]]></category>
		<category><![CDATA[Usability]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[scripts]]></category>
		<category><![CDATA[Snippets]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[usability]]></category>
		<category><![CDATA[web design]]></category>

		<guid isPermaLink="false">http://www.1stwebdesigner.com/?p=56893</guid>
		<description><![CDATA[Remember back when if you wanted to add interactivity to your site to improve the UX aspect to make it more appealing to visitors, you had to immediately go to a flash outlet? Well that sure does seem like a long time ago now, surprisingly so because it was just a few short years ago. The decline [...]]]></description>
			<content:encoded><![CDATA[<p>Remember back when if you wanted to add interactivity to your site to improve the UX aspect to make it more appealing to visitors, you had to immediately go to a flash outlet? Well that sure does seem like a long time ago now, surprisingly so because it was just a few short years ago. The decline of Flash use for these instances can be credited to advances in web technologies such as HTML5, CSS3, and jQuery. These advancements have made the use of Flash in most cases an outdated and inefficient method of tackling interactivity in a website. That is why in this article, we&#8217;re going to take a look at HTML5, CSS3, and jQuery tutorials, techniques, and resources that can replace aspects of a website where the use of Flash was the dominant and most practical option.</p>
<p><span id="more-56893"></span></p>
<h2>Forms</h2>
<h3><a href="http://aaronweyenberg.com/90/pretty-checkboxes-with-jquery">Pretty Checkboxs with jQuery</a></h3>
<p class="mceTemp">This is a cool tutorial that teaches you how to turn your ordinary check boxes into something stylish, and quite fun to use.</p>
<p><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/aaronweyenberg1.jpg" alt="" width="625" height="250" /></p>
<dl id="" class="wp-caption alignnone" style="width: 635px;">
<dd class="wp-caption-dd">Pretty Checkboxes with jQuery</dd>
</dl>
<h3><a href="http://net.tutsplus.com/tutorials/html-css-techniques/rethinking-forms-in-html5/">Rethinking Forms in HTML5</a></h3>
<p>This is a great tutorial by the people at Nettuts+ about how you can get the most out of HTML5 for your fomrs.<br />
<img class="alignnone size-medium wp-image-57493" title="jQuery Nettus+ Tut" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/10/jQuery-Nettus+-Tut-570x209.jpg" alt="Rethinking Forms with HTML5" width="570" height="209" /></p>
<h3><a href="http://trentrichardson.com/Impromptu/index.php">jQuery Impromtu</a></h3>
<p>jQuery Impromtu is a great replacement for alerts, prompts, and confirmations that users will enjoy and not find annoying in the slightest.</p>
<div class="mceTemp">
<h2 class="wp-caption-dt"><img class="size-medium wp-image-57442" title="jQuery Impromptu" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/10/jQuery-Impromptu-570x143.jpg" alt="" width="570" height="143" /></h2>
<dl id="attachment_57442" class="wp-caption alignnone" style="width: 580px;">
<dd class="wp-caption-dd">jQuery Impromptu</dd>
</dl>
</div>
<h3><a href="http://www.ericmmartin.com/projects/simplemodal/">jQuery Simple Modal</a></h3>
<p>Simple Modal is a flexible modal dialog framework which provides a great interface for development, allowing for some really nice looking forms too.</p>
<div id="attachment_57445" class="wp-caption alignnone" style="width: 580px"><img class="size-medium wp-image-57445" title="jQuery Simple Model" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/10/jQuery-Simple-Model-570x370.jpg" alt="" width="570" height="370" /><p class="wp-caption-text">jQuery Simple Model</p></div>
<h3><a href="http://www.givainc.com/labs/mcdropdown_jquery_plugin.htm">mcDropdown</a></h3>
<p>This multi-column drop down layout is great for giving users a detailed tree of options to select from.</p>
<div id="attachment_57447" class="wp-caption alignnone" style="width: 540px"><img class="size-full wp-image-57447" title="jQuery mcDropdown" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/10/jQuery-mcDropdown.jpg" alt="" width="530" height="460" /><p class="wp-caption-text">mcDropdown</p></div>
<h3><a href="http://www.dfc-e.com/metiers/multimedia/opensource/jqtransform/">jQ Transform</a></h3>
<p>jQ Transform is a great tool for adding some style to your forms, giving them cool skin elements.</p>
<div id="attachment_57449" class="wp-caption alignnone" style="width: 548px"><img class="size-full wp-image-57449" title="jqTransform" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/10/jqTransform.jpg" alt="" width="538" height="571" /><p class="wp-caption-text">jqTransform</p></div>
<h3><a href="http://www.emblematiq.com/lab/niceforms/">Emblematiq Niceforms</a></h3>
<p>Niceforms by Embematiq is a cool jQuery plug-in that allows you to turn your boring forms into something cool with one of their designed themes, or with your own custom made one.</p>
<div id="attachment_57480" class="wp-caption alignnone" style="width: 433px"><img class="size-full wp-image-57480" title="jQuery Niceforms" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/10/jQuery-Niceforms.jpg" alt="" width="423" height="267" /><p class="wp-caption-text">Emblematiq Niceforms</p></div>
<h3><a href="http://uniformjs.com/">Uniform</a></h3>
<p>Uniform masks your standard forms with custom skins and works in perfect sync with your real form elements, ensuring great accessibility and compatibility.</p>
<div id="attachment_57482" class="wp-caption alignnone" style="width: 466px"><img class="size-full wp-image-57482" title="jQuery Uniform" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/10/jQuery-Uniform.jpg" alt="" width="456" height="265" /><p class="wp-caption-text">Uniform</p></div>
<h3><a href="http://www.jankoatwarpspeed.com/post/2008/11/26/Make-image-buttons-a-part-of-input-fields.aspx">Image Buttons a Part of Input Fields</a></h3>
<p>This is a great tutorial to learn how to have image buttons inside of your input fields.</p>
<div id="attachment_57484" class="wp-caption alignnone" style="width: 247px"><img class="size-full wp-image-57484" title="jQuery Image apart of Input Fields" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/10/jQuery-Image-apart-of-Input-Fields.jpg" alt="" width="237" height="323" /><p class="wp-caption-text">Images As Apart of Input Fields</p></div>
<h3><a href="http://www.dynamicwp.net/plugins/free-plugin-dynamicwp-contact-form/">DynamicWP Contact Form</a></h3>
<p>This is a great WP plug-in that gives you a contact form that slides conveniently from the side of the page, and then back once it is no longer of use.</p>
<div id="attachment_57486" class="wp-caption alignnone" style="width: 412px"><img class="size-full wp-image-57486" title="jQuery DynamicWP Contact Form" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/10/jQuery-DynamicWP-Contact-Form.jpg" alt="" width="402" height="429" /> <p class="wp-caption-text">DynamicWP Contact Form</p></div>
<h3><a href="http://www.keyframesandcode.com/resources/javascript/jQuery/demos/highlight-demo.html">jQuery Highlight</a></h3>
<p>jQuery Highlight is a great jQuery feature that gives your active input fields a highlight over them, as we know some users need all the extra guidance they can get.</p>
<div class="wp-caption alignnone" style="width: 530px"><img class=" " src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/JQuery-Highlight-Plugin-520x2031.gif" alt="" width="520" height="203" /><p class="wp-caption-text">jQuery Highlight</p></div>
<h3><a href="http://www.position-absolute.com/articles/jquery-form-validator-because-form-validation-is-a-mess/">jQuery inline form Validation</a></h3>
<p>jQuery inline form Validation is a cool hassle free form validation option that takes away the mess that is usually associated with this form feature.</p>
<div class="wp-caption alignnone" style="width: 471px"><img class=" " src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/screenshot1.png" alt="" width="461" height="374" /><p class="wp-caption-text">jQuery inline from Validation</p></div>
<h2>Navigation</h2>
<h3><a href="http://apycom.com/menus/1-white-smoke.html">White Smoke Menu Style</a></h3>
<p>This jQuery powered navigation menu is very reminiscent of what was usually done in flash, and moves so smoothly you might think it was. It is fully browser compatible, and even maintains functionality if Javascript is turned off.</p>
<div id="attachment_57697" class="wp-caption alignnone" style="width: 580px"><img class="size-medium wp-image-57697" title="White Smoke Menu" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/10/White-Smoke-Menu-570x52.jpg" alt="" width="570" height="52" /><p class="wp-caption-text">jQuery White Smoke Menu</p></div>
<h3><a href="http://pupunzi.open-lab.com/mb-jquery-components/mb-_menu/">jQuery mb.Menu</a></h3>
<p>This jQuery menu plug-in is a great option to look into when aiming to build a complex multilevel tree menu with some style and great functionality.</p>
<div id="attachment_57698" class="wp-caption alignnone" style="width: 580px"><img class="size-medium wp-image-57698" title="jQuery mb.Menu" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/10/jQuery-mb.Menu_-570x179.jpg" alt="" width="570" height="179" /><p class="wp-caption-text">mb.Menu</p></div>
<h3><a href="http://www.ndoherty.biz/tag/coda-slider/">Coda Slider</a></h3>
<p>Coda Slider is a very versatile and feature full panel slider. It comes as is very well suitable for your panel slider needs, and there have been great <a href="http://jqueryfordesigners.com/coda-slider-effect/">advances</a>in how to better it.</p>
<div id="attachment_57700" class="wp-caption alignnone" style="width: 580px"><img class="size-medium wp-image-57700" title="Coda Slider" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/10/Coda-Slider-570x244.jpg" alt="" width="570" height="244" /><p class="wp-caption-text">Coda Slider</p></div>
<h3><a href="http://www.sunsean.com/idTabs/"> ID Tabs</a></h3>
<p>This is by far the best tabs and/or panel navigation jQuery plug-in when level of how extensibility is concerned.</p>
<div class="wp-caption alignnone" style="width: 558px"><img class=" " src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/jQuery-idTabs1.png" alt="" width="548" height="100" /><p class="wp-caption-text">ID Tabs</p></div>
<h3><a href="http://www.learningjquery.com/2009/09/tab-navigation-with-smooth-horizontal-sliding-using-jquery">Smooth Horizontal Sliding Menu</a></h3>
<p>This is a cool tutorial that teaches you how to make a jQuery powered menu with the sub entries sliding out horizontally.</p>
<div id="attachment_57702" class="wp-caption alignnone" style="width: 580px"><img class="size-medium wp-image-57702" title="Horizontal Sliding Menu" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/10/Horizontal-Sliding-Menu-570x85.jpg" alt="" width="570" height="85" /><p class="wp-caption-text">Horizontal Sliding Menu</p></div>
<h3><a href="http://www.comparenetworks.com/developers/jqueryplugins/jbreadcrumb.html">jBreadCrumb Menu</a></h3>
<p>This collapsible bread crumb menu that collapses based on the the amount and length of the elements in the set.</p>
<div id="attachment_57704" class="wp-caption alignnone" style="width: 580px"><img class="size-medium wp-image-57704" title="jBreadCrumb" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/10/jBreadCrumb-570x120.jpg" alt="" width="570" height="120" /><p class="wp-caption-text">jBreadCrumb</p></div>
<h3><a href="http://plugins.jquery.com/content/flowernav-100-rc-1">jQuery FLOWERNAV</a></h3>
<p>FLOWERNAV is a cool animated navigation plug-in that, well gives a flower effect to your link.</p>
<div id="attachment_57706" class="wp-caption alignnone" style="width: 564px"><img class="size-full wp-image-57706" title="Flower Navigation" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/10/Flower-Navigation.jpg" alt="" width="554" height="353" /><p class="wp-caption-text">FLOWERNAV</p></div>
<h3><a href="http://www.queness.com/post/741/a-simple-and-beautiful-jquery-accordion-tutorial">jQuery Accordion</a></h3>
<p>This is an easy to follow jQuery accordion style navigation menu tutorial.</p>
<div id="attachment_57708" class="wp-caption alignnone" style="width: 305px"><img class="size-full wp-image-57708" title="jQuery Accordion " src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/10/jQuery-Accordin.jpg" alt="" width="295" height="256" /><p class="wp-caption-text">Accordion Style Menu</p></div>
<h2>Interface</h2>
<h3><a href="http://moreco.de/slide-note/">jQuery Slide Note</a></h3>
<p>Slide Note is a great plugin for giving your visitors a little hint, or note about something on your website.</p>
<div class="wp-caption alignnone" style="width: 370px"><img class=" " src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/slide-note1.png" alt="" width="360" height="250" /><p class="wp-caption-text">Slide Note</p></div>
<h3><a href="http://www.smple.com/pagePeel/">jQuery Page Peel</a></h3>
<p>Page peel is a simple to use jQuery plug-in that is great when you want to advertise something in a cool way.</p>
<div class="wp-caption alignnone" style="width: 590px"><img class=" " src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/jquery-page-peel1.jpg" alt="" width="580" height="248" /><p class="wp-caption-text">jQuery Page Peel</p></div>
<h3><a href="http://markholton.com/posts/17-infiniscroll-jquery-plugin-released">jQuery InfiniScroll </a></h3>
<p>InfiniScroll is a cool plug-in that allows for an never ending scrollable section. This is great for websites that have sections with long lists.</p>
<div class="wp-caption alignnone" style="width: 553px"><img class=" " src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/111.jpg" alt="" width="543" height="163" /><p class="wp-caption-text">jQuery InfiniScroll</p></div>
<h3><a href="http://devgrow.com/slidernav/">jQuery SliderNav</a></h3>
<p>SliderNav is a jQuery plug-in that allows you to incorporate dynamic vertically sliding content to your website.</p>
<div id="attachment_57712" class="wp-caption alignnone" style="width: 339px"><img class="size-full wp-image-57712" title="SliderNav" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/10/SliderNav.jpg" alt="" width="329" height="305" /><p class="wp-caption-text">SliderNav</p></div>
<h3><a href="http://projects.nickstakenburg.com/tipped">jQuery Tipped</a></h3>
<p>Tipped is a cool plug-in that easily allows you to add tips to your website&#8217;s content, there are also cool skins to choose from.</p>
<div class="wp-caption alignnone" style="width: 502px"><img class=" " src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/tumblr_lev27fpmhG1qzx5281.jpg" alt="" width="492" height="227" /><p class="wp-caption-text">Tipped</p></div>
<h3><a href="http://www.buildinternet.com/project/supersized/">Supersized</a></h3>
<p>Supersized is a jQuery plug-in that allows you to have a image slideshow as your website&#8217;s background.<br />
<img class="alignnone" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/supersized_jquery_gallery_plugin1.jpg" alt="jQuery Supersized" width="550" height="200" /></p>
<h3><a href="http://www.navig8-live.info/imagin8/">Imagin8</a></h3>
<p>Imagin8 is not just another jQuery image slider. This one allows for you to direct a path folder, so ALL THE IMAGES DON&#8217;T HAVE TO BE IN YOU HTML! Just label your first image as 1.jpg for example, and the following the numerically after that, and they will be automatically added to your slideshow. Great for clients.</p>
<div class="wp-caption alignnone" style="width: 350px"><img class=" " src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/11.png" alt="" width="340" height="218" /><p class="wp-caption-text">Imagin8</p></div>
<h3><a href="http://letteringjs.com/">jQuery Lettering</a></h3>
<p>Lettering is a jQuery plug-in that allows you to have complete control of  every letter, opening for great creative web typography experimenting.</p>
<div class="wp-caption alignnone" style="width: 490px"><img class=" " src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/11/lettering-jquery-plugin-web-typography1.jpg" alt="" width="480" height="142" /><p class="wp-caption-text">jQuery Lettering</p></div>
<h3><a href="http://www.kelvinluck.com/assets/jquery/styleswitch/toggle.html">jQuery Stylesheet Switcher</a></h3>
<p>Stylesheet Switcher is a jQuery plug-in that lets you set links within your page to change to different stylesheets.</p>
<div id="attachment_57716" class="wp-caption alignnone" style="width: 580px"><img class="size-medium wp-image-57716" title="Stylesheet Switcher" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/10/Stylesheet-Switcher-570x169.jpg" alt="" width="570" height="169" /><p class="wp-caption-text">jQuery Stylesheet Switcher</p></div>
<h3><a href="http://lab.smashup.it/flip/">Flip</a></h3>
<p>Flip is a jQuery plug-in that lets you flip your web elements in one of four directions.</p>
<div id="attachment_57718" class="wp-caption alignnone" style="width: 564px"><img class="size-full wp-image-57718" title="Flip" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/10/Flip.jpg" alt="" width="554" height="278" /><p class="wp-caption-text">Flip</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.1stwebdesigner.com/design/improve-website-usability-using-jquery-html5-and-css3/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Simon&#8217;s Google Doodle &#8211; HTML5 + JS jQuery Game</title>
		<link>http://www.1stwebdesigner.com/css/simons-google-doodle-html-js-jquery-game/</link>
		<comments>http://www.1stwebdesigner.com/css/simons-google-doodle-html-js-jquery-game/#comments</comments>
		<pubDate>Wed, 24 Aug 2011 10:00:05 +0000</pubDate>
		<dc:creator>Rochester Oliveira</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[HTML & CSS]]></category>
		<category><![CDATA[JS & AJAX]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[google doodle]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[js game]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.1stwebdesigner.com/?p=49432</guid>
		<description><![CDATA[Dude, you&#8217;ve heard a lot about Google doodles haven&#8217;t you? What about that Pacman one? It is just addictive. Company owners know how a funny game and unlimited search powers could be dangerous for productivity. And how it can be a marketing boost. The most amazing thing is that we can create our own addictive [...]]]></description>
			<content:encoded><![CDATA[<p>Dude, you&#8217;ve heard a lot about Google doodles haven&#8217;t you? What about that Pacman one? It is just addictive. Company owners know how a funny game and unlimited search powers could be dangerous for productivity. And how it can be a marketing boost. The most amazing thing is that we can create our own addictive HTML game. Actually, this is why we are here today. With this tutorial you&#8217;ll see how to use some of JavaScript and HTML capabilities to build simple yet funny games.</p>
<p>So, let&#8217;s rock!</p>
<p><span id="more-49432"></span></p>
<h2>Demo first, please</h2>
<p>You can <a href="http://dl.dropbox.com/u/35995890/doodle/doodle.zip" target="_blank">download</a> or try our <a href="http://dl.dropbox.com/u/35995890/doodle/index.html" target="_blank">online demo</a>. Please, don&#8217;t forget to come back here if you want to just go playing first :)</p>
<p><img class="alignnone size-full wp-image-52224" title="demo" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/07/demo1.jpg" alt="" width="600" height="352" /></p>
<h2>“Well, actually I don&#8217;t know what a Doodle is..”</h2>
<p>Google Doodles started when Larry and Sergey played with the corporate logo to indicate their attendance at the Burning Man festival in the Nevada desert. Since that day we&#8217;ve seen a lot of funny Doodles, and Google&#8217;s homepage is used to remind us of all kind of important facts.</p>
<p>But they are more than just paintings, games or experiments. They are  made with the best current practices (some of them, created specifically for a Doodle). And Google being as supportive as they are of open source technology, usually release the commented source code, so you can just  take a look and try to understand what those amazing guys are doing.</p>
<p>Oh, and I don&#8217;t know if you knew about it, but today is Simon&#8217;s day according to 1stWebdesigner&#8217;s official fake holiday calendar. Seems important, right? This is why we&#8217;ll build a game for it.</p>
<h2>So, what will we be doing?</h2>
<p>Simon is one of my favorite games (just after Sudoku and Gammon). Can you think of an easier game to code? You know, four buttons, easy actions. I just can&#8217;t think of a better starting point to learn HTML5 gaming.</p>
<p>Well, first of all you need to know what this Simon thing looks like. I just found a picture of it at <a rel="nofollow" href="http://produto.mercadolivre.com.br/MLB-189683151-genius-da-estrela-icone-dos-anos-80-_JM">Mercado Livre</a> (kind of a Brazilian e-bay) and made my own version in Photoshop.</p>
<p>Since we are doing it via HTML5, the colors shouldn&#8217;t be directly on image (otherwise you won&#8217;t be able to change colors, make your own console&#8230;). So I&#8217;ve used <a href="http://css-tricks.com/9561-color-animate-any-shape-2/" target="_blank">Chris Coyier</a>&#8216;s technique for color animation. Basically we make our non-colored elements, and leave everything else transparent. Then our HTML5 will take care of the color itself (via CSS, background-color). Our final game background will be something like this:</p>
<p><img class="alignnone size-full wp-image-52226" style="border: 1px solid #f0f0f0;" title="bg" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/07/bg.jpg" alt="" width="300" height="300" /></p>
<p>Ok, then. Let&#8217;s start the fun part.</p>
<h2>Basic HTML + CSS</h2>
<p>Since our target isn&#8217;t basic HTML itself, I just grab a copy of <a href="http://html5boilerplate.com/">HTML5 Boilerplate</a> with a few edits to make it cleaner:</p>
<pre class="brush: php; title: ; notranslate">
&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;en&quot;&gt;
&lt;head&gt;
  &lt;meta charset=&quot;utf-8&quot;&gt;

  &lt;title&gt;Google.com - Simon's day  (1stWebDesigner.com game :D)&lt;/title&gt;

  &lt;link rel=&quot;stylesheet&quot; href=&quot;css/style.css?v=2&quot;&gt;
  &lt;script src=&quot;js/libs/modernizr-1.7.min.js&quot;&gt;&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;
  &lt;div id=&quot;container&quot;&gt;
    &lt;div id=&quot;main&quot;&gt;
	&lt;!-- Game controls and deisgn --&gt;
    &lt;/div&gt;
	&lt;form id=&quot;search&quot; action=&quot;#&quot; method=&quot;get&quot;&gt;
		&lt;input type=&quot;text&quot; name=&quot;query&quot; id=&quot;query&quot; /&gt;
		&lt;input type=&quot;submit&quot; value=&quot;search&quot; id=&quot;submit&quot; /&gt;
	&lt;/form&gt;
	&lt;div id=&quot;options&quot;&gt;
		&lt;!-- game options --&gt;
	&lt;/div&gt;
  &lt;/div&gt;

  &lt;script src=&quot;//ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.js&quot;&gt;&lt;/script&gt;
  &lt;script src=&quot;js/script.js&quot;&gt;&lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;
</pre>
<p>Now we need our gaming HTML stuff. As we&#8217;ve done it ready for different colors we will need to have two layers:</p>
<ul>
<li>Background color- sets the color and will be animated when you activate a button</li>
<li>Link &#8211; activates all actions for each colored button.</li>
<li>Alerts &#8211; since they are part of the game itself, we&#8217;ll put them with all other game controls (level up, new game, game over)</li>
</ul>
<p>Our HTML for this part will be something like this:</p>
<pre class="brush: php; title: ; notranslate">
	&lt;div id=&quot;main&quot;&gt;
	&lt;!-- lights --&gt;
		&lt;div id=&quot;box-0&quot; class=&quot;box&quot;&gt;&amp;nbsp;&lt;/div&gt;
		&lt;div id=&quot;box-1&quot; class=&quot;box&quot;&gt;&amp;nbsp;&lt;/div&gt;
		&lt;div id=&quot;box-2&quot; class=&quot;box&quot;&gt;&amp;nbsp;&lt;/div&gt;
		&lt;div id=&quot;box-3&quot; class=&quot;box&quot;&gt;&amp;nbsp;&lt;/div&gt;
	&lt;!-- buttons --&gt;
		&lt;a href=&quot;#&quot; class=&quot;box btnTL&quot; id=&quot;box-click-0&quot;&gt;&amp;nbsp;&lt;/a&gt;
		&lt;a href=&quot;#&quot; class=&quot;box btnTR&quot; id=&quot;box-click-1&quot;&gt;&amp;nbsp;&lt;/a&gt;
		&lt;a href=&quot;#&quot; class=&quot;box btnBL&quot; id=&quot;box-click-2&quot;&gt;&amp;nbsp;&lt;/a&gt;
		&lt;a href=&quot;#&quot; class=&quot;box btnBR&quot; id=&quot;box-click-3&quot;&gt;&amp;nbsp;&lt;/a&gt;
	&lt;!-- alerts --&gt;
		&lt;div id=&quot;letsRock&quot; class=&quot;alert&quot;&gt;
			&lt;p&gt;Ready? let's rock!&lt;/p&gt;
		&lt;/div&gt;
		&lt;div id=&quot;ohYes&quot; class=&quot;alert&quot;&gt;
			&lt;p&gt;Oh Yeah!&lt;/p&gt;
		&lt;/div&gt;
		&lt;div id=&quot;ohNoes&quot; class=&quot;alert&quot;&gt;
			&lt;p&gt;Oh Noes... Almost there! &lt;/p&gt;
		&lt;/div&gt;
	&lt;/div&gt;
</pre>
<p>As you can see, the four &#8220;div.box&#8221; elements are the background color for each button (red, blue, green, red).</p>
<p>So when someone clicks #box-click-0 it will &#8220;activate&#8221; the button #box-0. We have a lot of id&#8217;s because they result in better JS performance.</p>
<p>Our CSS for that will be:</p>
<pre class="brush: php; title: ; notranslate">
#main {
	position: relative;
	left: 155px;
	width: 200px;
	height: 200px;
}
	.box {
		display: block;
		float: left;
		width: 100px;
		height: 100px;
	}
	a.box {
		position: absolute;
		text-decoration: none;
		background-image: url(&quot;../img/bg_game.png&quot;);
		background-repeat: no-repeat;
	}
	a.box:focus {
		outline: none;
	}
	.btnTL { background-position: top left; }
	.btnTR { background-position: top right; }
	.btnBL { background-position: bottom left; }
	.btnBR { background-position: bottom right; }
		 .btnTL, .btnTR {
			top: 0;
		 }
		 .btnBL, .btnBR {
			bottom: 0;
		 }
		 .btnTL, .btnBL {
			left: 0;
		 }
		 .btnTR, .btnBR {
			right: 0;
		 }
	#box-0 {
		background: #c00000;
	}
	#box-1 {
		background: #1506a3;
	}
	#box-2 {
		background: #046606;
	}
	#box-3 {
		background: #ea8f0c;
	}
</pre>
<p>Here is our effect: all our links have the console background, bg_game.png (positioned according to what it should be, of course). Since they are on top of divs, what we will see is the bg_game.png AND the element&#8217;s color ( #c00000, #1506a3&#8230;).</p>
<p>Ok, we won&#8217;t be long on this. Maybe this is enough topic for a single article :)</p>
<h2>Search form</h2>
<p>Have you noticed the recent (ok, maybe not that recent) Google&#8217;s switch to real time results? That&#8217;s pretty cool, yeah, I know. But it makes a little bit harder to link directly to a search results page.</p>
<p>Since our demo has a search form and we want to make it work, let&#8217;s put a little JS magic on it:</p>
<pre class="brush: php; title: ; notranslate">
	&lt;form id=&quot;search&quot; action=&quot;#&quot; method=&quot;get&quot;&gt;
		&lt;input type=&quot;text&quot; name=&quot;query&quot; id=&quot;query&quot; /&gt;
		&lt;input type=&quot;submit&quot; value=&quot;search&quot; id=&quot;submit&quot; /&gt;
	&lt;/form&gt;
</pre>
<p>Javascript:</p>
<pre class="brush: php; title: ; notranslate">
$(function(){
	$(&quot;#search&quot;).submit( function(event) { event.preventDefault(); googleRedirect(); } );
});
function googleRedirect() {
	var query = $(&quot;#query&quot;).attr('value');
	var url = &quot;http://www.google.com/#q=&quot; + query + &quot;&amp;fp=1&quot;;
	window.location = url;
}
</pre>
<p>This way it will work ;)</p>
<h2>Cookies? No, no, local storage instead!</h2>
<p>Well, Cookies are great for some things, but this time they aren&#8217;t the very best option. Here we will make use of Local Storage. This is basically the same idea as Cookies, it allows you to store data related to your site, the difference is that it&#8217;s faster and very useful in some situations.</p>
<p>As its name suggest it is local, so it won&#8217;t be sent to the server (you save a few kbytes and processing). Cookies are limited to 4kB and 20 Cookies per domain. With local storage you can record up to 5MB of user data.</p>
<p>The only downside is that it works only on real browsers and IE8+. So, forget about IE7 this time (maybe later with some jQuery data fallback).</p>
<p>Another huge advantage is that it is surprisingly easy to set / remove;</p>
<pre class="brush: php; title: ; notranslate">
localStorage[&quot;level&quot;] = 15; // create it with 15 as value
var level = localStorage[&quot;level&quot;];  //now var level is 15
localStorage.removeItem( &quot;level&quot; ); //remove it!
</pre>
<p>So, this is why we will use it this time.</p>
<h2>A few options</h2>
<p>Then we need to have a way to start the game, see which level we&#8217;re playing, these sort of trivial things. For this, we&#8217;ll just put a simple HTML box with Google&#8217;s logo:</p>
<pre class="brush: php; title: ; notranslate">
&lt;div id=&quot;options&quot;&gt;
	&lt;ul&gt;
		&lt;li&gt;Level: &lt;span id=&quot;levelCount&quot;&gt;1&lt;/span&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href=&quot;#&quot; onclick=&quot;newGame()&quot; &gt;New Game&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;High Score: &lt;span id=&quot;hs&quot;&gt;1&lt;/span&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href=&quot;http://www.1stwebdesigner.com&quot; target=&quot;_blank&quot; &gt;Credits&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;
&lt;/div&gt;
</pre>
<p>Well, what is important here is that our counters have id&#8217;s wrapping them, so we can easily change their text.</p>
<h2>Let the game begin</h2>
<h3>Random sequence</h3>
<p>The very first thing to do when you start this game should be to generate a random sequence. Because this sequence will be the &#8220;right path&#8221; to be followed by players. We could generate it on-the-fly as our gamer reaches new levels, but it will be easier to do this way.</p>
<p>So we will create a simple function that just generate a random sequence with 50 digits (levels) and only with numbers from 0 to 3 (our colors!):</p>
<pre class="brush: php; title: ; notranslate">
function randomSequence() {
	var chars = &quot;0123&quot;; // four colors!
	var string_length = 50; //pretty hard, isn't it?
	var sequence = &quot;&quot;;
	for (var i=0; i &lt; string_length; i++) { //we'll have from sequence[0] to sequence[49]
		var rnum = Math.floor(Math.random() * chars.length);
		sequence += chars.substring(rnum,rnum+1);
	}
	return sequence;
}
</pre>
<h3>Binding clicks and hovers</h3>
<p>Now we need to prepare our all a.box elements to recognize clicks and to animate properly our div.box when you hover any of them.</p>
<p>This time we will need jQuery .hover() and .click() functions:</p>
<pre class="brush: php; title: ; notranslate">
$(function(){
//caching our elements for better performance
box0 = $(&quot;#box-0&quot;);
box1 = $(&quot;#box-1&quot;);
box2 = $(&quot;#box-2&quot;);
box3 = $(&quot;#box-3&quot;);
clickbox0 = $(&quot;#box-click-0&quot;);
clickbox1 = $(&quot;#box-click-1&quot;);
clickbox2 = $(&quot;#box-click-2&quot;);
clickbox3 = $(&quot;#box-click-3&quot;);
clickbox0.click(
	function(event){
		event.preventDefault();
		clicked(0);
	}
);
clickbox1.click(
	function(event){
		event.preventDefault();
		clicked(1);
	}
);
clickbox2.click(
	function(event){
		event.preventDefault();
		clicked(2);
	}
);
clickbox3.click(
	function(event){
		event.preventDefault();
		clicked(3);
	}
);
var minHover = 0.7;
var maxHover = 1;
var timeHover = 500;
clickbox0.hover(
	function(){
		box0.stop().animate({opacity: minHover}, timeHover);
	}, function() {
		box0.stop().animate({opacity: maxHover}, timeHover);
	}
);
clickbox1.hover(
	function(){
		box1.stop().animate({opacity: minHover}, timeHover);
	}, function() {
		box1.stop().animate({opacity: maxHover}, timeHover);
	}
);
clickbox2.hover(
	function(){
		box2.stop().animate({opacity: minHover}, timeHover);
	}, function() {
		box2.stop().animate({opacity: maxHover}, timeHover);
	}
);
clickbox3.hover(
	function(){
		box3.stop().animate({opacity: minHover}, timeHover);
	}, function() {
		box3.stop().animate({opacity: maxHover}, timeHover);
	}
);
});
</pre>
<p>It is pretty important caching all our elements, since it improves a lot our performance.</p>
<h3>Magical JS variable variables and easy error detection</h3>
<p>At this point you have coded all the hover and click elements, but when you click them nothing happens, of course. Let&#8217;s fix it:</p>
<pre class="brush: php; title: ; notranslate">
// yeah, someone is playing it!
function clicked( color ) {
	// refresh my memory, how long have you gone so far?
	var level = localStorage[&quot;level&quot;]; // this is our current level
	var clicks = localStorage[&quot;clicks&quot;]; //this is our current item INSIDE one level
	var speed = localStorage[&quot;speed&quot;]; //to make it more fun, when you get right it goes faster
	// blink it!
	window['box' + color].stop().animate({ opacity: 0.3 }, (speed * 0.5) ).animate({ &quot;opacity&quot;: &quot;1&quot; }, (speed * 0.3) ); //variable variables in js via window[varname] :)
	// well, this time you've got it right?
	if ( localStorage[&quot;sequence&quot;][clicks] == color) {
		//oh, yeah!
		localStorage[&quot;clicks&quot;]++;
		//have you finished this level?
		if ( level == clicks) {
			nextLevel();
		}
	} else {
		//oh, noes!
		endGame();
	}
}
</pre>
<p>Every variable in javascript can be accessed via its own name, like box1 OR as an index inside window array, just like window['box1']. With this we can easily select which is the right element to blink (when you click any button, it should blink, right?).</p>
<h3>Ok, you are right! Let&#8217;s go to the next level</h3>
<p>When you get it right, the game should get you to the next level and the events should accelerate a little bit.</p>
<p>Then when you get it right you should also know which is the right sequence at your current level + 1, so let&#8217;s do it:</p>
<pre class="brush: php; title: ; notranslate">
function nextLevel() {
	//Oh, Yes
	showBox(&quot;#ohYes&quot;, 1000);
	// you deserve it, let's move on
	localStorage[&quot;level&quot;]++;
	levelCount.text(localStorage[&quot;level&quot;]);

	localStorage[&quot;clicks&quot;] = 0;
	//let's show you how it'll be
	current = 0; //since it's used just for animation, let's leave it as global var
	if ( localStorage[&quot;speed&quot;] &gt; 300 &amp;&amp; (localStorage[&quot;level&quot;] / 5) == 0 ) { //our maximum speed, and we'll only acelerate it each 5 levels
		localStorage[&quot;speed&quot;] = localStorage[&quot;speed&quot;] * 0.8;
	}
	setTimeout( function() { rightPath(); } , localStorage[&quot;speed&quot;] );
}
</pre>
<p>Function showBox  just shows our div and hides it after one second.</p>
<p>As you can see this piece of code isn&#8217;t complete, we will need the function rightPath() to see what comes next. Let&#8217;s go:</p>
<pre class="brush: php; title: ; notranslate">
function rightPath() {
	if ( current &lt;= localStorage[&quot;level&quot;] ) {
		var sel = localStorage[&quot;sequence&quot;][current];
		window['box' + sel].stop().animate({ &quot;opacity&quot;: &quot;0.5&quot; }, (localStorage[&quot;speed&quot;] * 0.5) ).animate({ &quot;opacity&quot;: &quot;1&quot; }, (localStorage[&quot;speed&quot;] * 0.3) );
		setTimeout(
			function() {
				rightPath();
			},
			(localStorage[&quot;speed&quot;] * (1.5) )
		);
		current++;
	}
	for (var i=0; i &lt;= localStorage[&quot;level&quot;] ; i++) {
		var time = 1000 * (i + 1);
	}
	i = 0;
}
</pre>
<p>This is kind of crazy, isn&#8217;t it? This is a simple recursive function. It will call itself, blink the right button for one position and then go to the next until we reach user&#8217;s current level.</p>
<h3>What if you get it wrong?</h3>
<p>Maybe instead of click the right button you can just click the wrong button. Then we need to punish you and ban you from the entire world wide web. Let&#8217;s see our function for that:</p>
<pre class="brush: php; title: ; notranslate">
function endGame() {
	//let's see if you have a high score, and save it
	if ( localStorage[&quot;hs&quot;] == undefined || localStorage[&quot;level&quot;] &gt; localStorage[&quot;hs&quot;] ) {
		localStorage[&quot;hs&quot;] = localStorage[&quot;level&quot;];
		$(&quot;#hs&quot;).text(localStorage[&quot;hs&quot;]);
	}

	localStorage.removeItem( &quot;level&quot; );
	// Oh, noes!
	showBox(&quot;#ohNoes&quot;, 2000);
}
</pre>
<p>Well, here we just check if you&#8217;ve done something better than this play and then remove your current level so you can restart a new game and try a little harder :)</p>
<p>By the way, did I mention how will you start a game? No? Sorry, my bad.</p>
<h3>Sorry, NOW the game will begin</h3>
<p>What do we have to do in order to start a match is to reset almost anything we have here and then show what is the right path.</p>
<pre class="brush: php; title: ; notranslate">
// just like starting over!
function newGame() {
	current = 0;
	levelCount.text(1);
	//let's call our sequence and memorize it
	localStorage[&quot;sequence&quot;] = randomSequence();
	//wow, we haven't got anything right until now :)
	localStorage[&quot;level&quot;] = 0;
	//clicks binding
	localStorage[&quot;clicks&quot;] = 0;
	//let's make things slow for now
	localStorage[&quot;speed&quot;] = 1500;
	//let's show our welcome warning
	showBox(&quot;#letsRock&quot;, 2000);
	//and let's show the first color
	rightPath();
}
</pre>
<h2>What is your best score?</h2>
<p>Hope you enjoy this quick HTML5 game tutorial and that you find some easter eggs, you know, since it&#8217;s a JS game we can&#8217;t hide a lot of things on it :)</p>
<p>But the most important thing here is: what is your best score?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.1stwebdesigner.com/css/simons-google-doodle-html-js-jquery-game/feed/</wfw:commentRss>
		<slash:comments>28</slash:comments>
		</item>
		<item>
		<title>jQuery Plugin Development: Hover to Reveal Masked Password</title>
		<link>http://www.1stwebdesigner.com/css/jquery-hover-reveal-masked-password/</link>
		<comments>http://www.1stwebdesigner.com/css/jquery-hover-reveal-masked-password/#comments</comments>
		<pubDate>Sun, 24 Jul 2011 10:00:47 +0000</pubDate>
		<dc:creator>Rochester Oliveira</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[HTML & CSS]]></category>
		<category><![CDATA[JS & AJAX]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[forms]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[password mask]]></category>
		<category><![CDATA[usability]]></category>
		<category><![CDATA[web design]]></category>

		<guid isPermaLink="false">http://www.1stwebdesigner.com/?p=50154</guid>
		<description><![CDATA[We talked about how to improve your HTML forms performance a couple of days ago. There we covered a pretty controversial topic &#8220;Don&#8217;t mask your passwords&#8221;, discussing how bad masking your passwords could be for usability. At this moment, we basically have two options: mask password field and don&#8217;t ask for any feedback, or show [...]]]></description>
			<content:encoded><![CDATA[<p>We talked about <a href="http://www.1stwebdesigner.com/design/10-tips-html-forms-performance">how to improve your HTML forms performance</a> a couple of days ago. There we covered a pretty controversial topic &#8220;Don&#8217;t mask your passwords&#8221;, discussing how bad masking your passwords could be for usability.</p>
<p>At this moment, we basically have two options: mask password field and don&#8217;t ask for any feedback, or show password field as text and potentially decrease security.</p>
<p>This is why I think a hover revealing password could be a really good alternative: You can increase your security, and if you are unsure about what you&#8217;ve typed just go and hover over it.</p>
<p>So, what we will be doing today is a jQuery plugin to do that, and additionally, we will have a behavior pretty similar to what many mobiles does, where we can see the last character for a couple of seconds. This is a good chance to learn more about plugins, dynamically generated content, and some good coding practices.</p>
<p>Moreover with this technique we could apply different effects and a lot of variations since all this things are based on non-obtrusive and almost only decorative javascript.</p>
<p>So, let&#8217;s rock!</p>
<p><span id="more-50154"></span></p>
<h2>Demo, download and preview</h2>
<p>Let&#8217;s begin with the best part. You can see our <a href="http://dl.dropbox.com/u/35995890/hovermask/index.html" target="_blank">working demo</a> or <a href="http://dl.dropbox.com/u/35995890/hovermask/jquery.hp.js" target="_blank">download our files and jQuery plugin</a>.</p>
<p><img class="alignnone size-full wp-image-50373" title="demo" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/07/demo.jpg" alt="" width="550" height="300" /></p>
<h2>Usability background</h2>
<p>Before any coding I think it&#8217;s important to know why are we doing all these things. It is all about user experience and to make things the best they can be.</p>
<p>The man who started discussing masked passwords (as far as I know) is Jakob Nielsen, with his extremist opinion expressed in  <a href="http://www.useit.com/alertbox/passwords.html">stop password masking</a> article. But I really think we don&#8217;t need to stick with just two options. I think we can improve all these techniques, like what mobile developers have done, improving user experience by creating a &#8220;new&#8221; way to input password data.</p>
<p>Don&#8217;t get me wrong, sometimes we do need to just keep masking passwords for security reasons. You know, sometimes we are near suspicious people or jealous girlfriends just waiting for a single mistake to steal our password and make big damage to our online life. But sometimes we don&#8217;t. I mean, we don&#8217;t need to let our software ready only for the worst case.</p>
<p>We have to be ready for the worst and the best. From IE6 (argh!) to Chrome 14.0.803.2 beta. From jealous girlfriends to hurried surfers. This is the tricky part, trying to be the best in most cases.</p>
<p>This is why we can&#8217;t just let passwords to be masked by default. We have to give a better option to our loyal users.</p>
<h2>Getting started</h2>
<p>What we will do here is to get a common password field, change it to text and create a mask above it, which is filled as you type. With this you can do anything with the &#8220;mask&#8221; without affecting the input content itself.</p>
<p>Maybe this image will better explain how it works:</p>
<p><img class="alignnone size-full wp-image-50374" title="password-working" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/07/password-working.gif" alt="" width="500" height="400" /></p>
<p>Well, finally, let&#8217;s get started on coding.</p>
<p>We will start with a pretty basic form markup. As you all know it&#8217;s quite simple, so let&#8217;s add two fields, one that should come with a default value and another in blank, for you to play with as you want.</p>
<pre class="brush: php; title: ; notranslate">
&lt;div id=&quot;container&quot;&gt;
	&lt;h1&gt;Sign Up!&lt;/h1&gt;
	&lt;form action=&quot;#&quot; method=&quot;get&quot;&gt;
		&lt;label&gt;
			&lt;span class=&quot;title&quot;&gt;Old Password&lt;/span&gt;
			&lt;span class=&quot;desc&quot;&gt;This is our awesome password field with default value. Try it out!&lt;/span&gt;
			&lt;input type=&quot;text&quot; name=&quot;oldpassword&quot; id=&quot;oldpassword&quot; value=&quot;tHis1$myP4swrd.&quot; /&gt;
		&lt;/label&gt;
		&lt;label&gt;
			&lt;span class=&quot;title&quot;&gt;Password&lt;/span&gt;
			&lt;span class=&quot;desc&quot;&gt;This is our awesome blank password field. Try it out!&lt;/span&gt;
			&lt;input type=&quot;password&quot; name=&quot;password&quot; id=&quot;password&quot; /&gt;
		&lt;/label&gt;
	&lt;/form&gt;
&lt;/div&gt;
</pre>
<p>Ok, then we need to call our magic jQuery and plugin files. Let&#8217;s do that:</p>
<pre class="brush: php; title: ; notranslate">
	&lt;script type=&quot;text/javascript&quot; src=&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js&quot;&gt; // call jQuery from google! &lt;/script&gt;
	&lt;script type=&quot;text/javascript&quot; src=&quot;jquery.hp.js&quot;&gt; // call plugin &lt;/script&gt;
</pre>
<p>Well, let&#8217;s create our basic plugin file. You can see some tips about it in our <a href="http://www.1stwebdesigner.com/css/jquery-plugin-smooth-scrolling/">jQuery Smooth Table of Contents Plugin</a>, where we have a really simple structure.</p>
<pre class="brush: php; title: ; notranslate">
(function($){
 $.fn.hoverpass = function(options) {
	//Our default options
	var defaults = {
		bullet: &quot;&amp;bull;&quot;, //which should be the &quot;masking&quot; character
		font: &quot;'Lucida Console', monospace&quot;, //please just use MONOSPACE fonts
		bg: &quot;#fff&quot;, // background style for bullets
		free: &quot;&quot;, // add your own additional styling here
		freeBul: &quot;float: left; overflow: hidden;&quot;, // add your own additional styling for bullets here
		delay: 500, //how long it takes to create the bullet over the last character, in milliseconds
		delayHover: 3000, //how long it takes to hide again a hovered character
		animation: 500, //how long it takes the animation itself
		maxSize: 10 // maximum number of characters, to prevent  bullets exploding input's size
	};

	//let's extend our plugin with default or user options when defined
	var options = $.extend(defaults, options);

    return this.each(function() {
		//our action goes here
    });
 };
})(jQuery);
</pre>
<p>Above we defined our default variables, let me explain some of them a little bit:</p>
<ul>
<li><strong> bullet</strong> &#8211; Is what will mask our password. You can use any character but use just one character or HTML entity.</li>
<li><strong>font</strong> &#8211; This is really important, this plugin only works with monospaced fonts. Since in other types, each character has his own width, we can&#8217;t &#8220;mask&#8221; it.</li>
<li><strong>bg </strong>- If you use any background in your input, then you should apply it to your mask too, since it will be above the input.</li>
<li><strong>free </strong>- Here you should add margins in order to compensate any padding that your input has. Furthermore you should set your input&#8217;s font-size here.</li>
<li><strong>maxSize</strong> &#8211; This is important if your password field is too short. If you don&#8217;t adjust it you may get some extra bullets exploding your input&#8217;s size.</li>
</ul>
<p>At this point you have a basic plugin, that is called via $(elem).hoverpass(), defined by our second line $.fn.hoverpass = function(){}.<br />
I know, this name sucks. I would be glad if you send suggestions about better names :).</p>
<h2>Change our input type to text</h2>
<p>I don&#8217;t know if you&#8217;ve tried this before, but let me tell you something, you just can&#8217;t change the type of inputs. This happens due to security reasons, right? Well, seems that just IE will worry about it (you can do it via old JavaScript in real browsers). Anyway, what we have to do then is create a &#8220;clone&#8221; of current input without type property.<br />
There is several ways of doing this, I&#8217;ve done it this way:</p>
<pre class="brush: php; title: ; notranslate">
return this.each(function() {
	//let's declare some variables, many as a &quot;shortcut&quot; for options
	var  bullet = options.bullet,
			font = options.font,
			bg = options.bg,
			free = options.free,
			freeBul = options.freeBul,
			delay = options.delay,
			delayHover = options.delayHover,
			animation = options.animation,
			lastBul = &quot;&quot;;

	//since we just can't change a field's type, we'll remove it and append a brand new text input on it's place
	var oldElement = $(this); // caching element, much better performance
	var inputHTML = '&lt;input type=&quot;text&quot; style=&quot;font-family: '+  font +'; &quot; /&gt;'; //this is our basic input text, with our monopace font
	var input = oldElement.after(inputHTML).next(); //appending our simple text field with our styling (font-family) AND caching it as var &quot;input&quot;

	/****
		we are saying here:
			define the following variables: attr , i (zero), attrs (array with all oldElement attributes), l (size of attrs)
			while our counter (i) is smaller than attributes lenght (l) increase our counter and run this code
	*/
	for ( var attr, i=0 , attrs = oldElement[0].attributes , l =attrs.length ; i &lt; l ; i++){
		attr = attrs.item(i)
		if (attr.nodeName != &quot;type&quot; &amp;&amp; attr.nodeName != &quot;style&quot;) { //well, we defined our type as text and font-style!
			input.attr( attr.nodeName, attr.nodeValue );
		}
	}
	oldElement.remove(); // bye, bye input type=&quot;password&quot;!
});
</pre>
<h2>Create our mask and bullets</h2>
<p>Wow, at this point, when you define $(elem).hoverpass() it will turn into a monospaced text input. Pretty cool, huh? But we want more than this.</p>
<p>Now we will create our bullets container. The only really interesting thing in this two lines is that jQuery element caching again. You really should be using this simple technique:</p>
<pre class="brush: php; title: ; notranslate">
	// let the game begin
	var maskHTML = '&lt;div class=&quot;hpMask&quot; style=&quot;position: absolute; cursor: text; height: 1px; font-family: ' +  font + ' ; ' + free + ' &quot; /&gt;'; //our container with his styling
	var maskContainer = input.before(maskHTML).prev(); // appending our container for bullets with styling (font-family, free)
</pre>
<p>Now we&#8217;ll prepare our bullets HTML, since it will be used several times, and add some bullets when we have a &#8220;value&#8221; attribute defined.</p>
<pre class="brush: php; title: ; notranslate">
	var bulletHTML = &quot;&lt;span class='hpBullet' style='background: &quot; + bg + &quot;; &quot; + freeBul + &quot; '&gt;&quot;+ bullet + &quot; &lt;/span&gt; &quot;; // our bullets HTML with styling (bg, freeBul)
	var countBullet = 0; // this is our counter, it is important to prevent our mask to get bigger / smaller than our input or its maximum size

	//since we use it from different places, it's better to add it via function
	function addBullet() {
		// add our last bullet, but hidden, and show anything that isn't last bullet
		lastBul = maskContainer.append(bulletHTML).find(&quot;:last-child&quot;).hide();
		maskContainer.find(&quot;:not(:last-child)&quot;).each( function(){ $(this).show();  } );
		//start timer to show  lastBul
		lastBul.delay(delay).fadeIn(animation);
		countBullet++;
	}

	//first loop adding bullets when we have a default value
	for ( i=0 ; i &lt; input[0].value.length ; i++){
		addBullet();
	}
</pre>
<p>Well, at this point you should see again a textfield but if you have a value attribute defined, you&#8217;ll see a lot of bullets and the last one fading after one second. Although, if you type, nothing happens.</p>
<h2>It&#8217;s time to play with keyboard</h2>
<p>No, we won&#8217;t be taking music classes here :)</p>
<p>We now need to append new bullets every time something is typed in our password field, and remove one bullet if the pressed character is delete or backspace.</p>
<p>We could do this via keypress, keyup or keydown.</p>
<p>Thinking about it a little bit with keydown and keypress (they are very similar) we bind &#8220;pressing key&#8221; and with keyup we bind &#8220;releasing key&#8221;. Looking a little closer, you might notice that in our case it means that keydown/keypress is called before we have any change in our field&#8217;s value but keyup is called after any change occurs.</p>
<p>This is why we need to use keyup here. We have to look at our field&#8217;s value and see &#8220;hey, have you changed your size?&#8221; in order to append or remove bullets. This is because we could have several scenarios when user selects part of the password, press delete in the beginning of the field and much other things that would be too painful to bind as separated actions.</p>
<p>So, let&#8217;s do it:</p>
<pre class="brush: php; title: ; notranslate">
//let's bind all keydown and create / remove our bullets ; we need do use keydown in order to detect special characters in non-gecko browsers
	input.keyup(
		function(event) {
			//check if something was really typed
			if (input[0].value.length &gt; countBullet) {
				addBullet();
			} else { //ooops, delete or backspace?
				//then we check if something was really deleted
				while (input[0].value.length &lt; countBullet) {
					maskContainer.find(&quot;:last-child&quot;).remove();
					countBullet--;
				}
			}
		}
	);
</pre>
<h2>Finally, hover-revealing field!</h2>
<p>Well, now we just have to hide our bullet when someone hovers it. Kind of easy, right? Well, it isn&#8217;t that easy. It is because we have to hide our bullet, but we can&#8217;t lose it&#8217;s width, because if we do, our users would see only the last character of the password (not the ones in the middle). What we can do is to fade it to an insignificant opacity (like 10%) and then change it&#8217;s height to 1px, so we still have width.</p>
<p>Ok, now it&#8217;s just to use elem.hover() and we&#8217;re done, right? Again, no. This is because we have dynamically generated content we should use live() or delegate() to bind it. In my tests delegate had a much better performance, so we will do it this way:</p>
<pre class="brush: php; title: ; notranslate">
//hide bullets based on a jquery object
	function hideBullets(object) {
		object.stop().css({ &quot;height&quot;: &quot;auto&quot;}).animate({ opacity: 1 }, animation).removeClass(&quot;hpHiddenBullet&quot;);
	}
	//hover function for our bullets
	maskContainer.delegate(&quot;.hpBullet&quot;,  'hover',
		function(){
			var item = $(this);
			if (  item.hasClass(&quot;hpHiddenBullet&quot;) != true ) {
				hideBullets( $(&quot;.hpHiddenBullet&quot;) );
				item.stop().addClass(&quot;hpHiddenBullet&quot;).animate( { opacity: 0.01}, animation, function() { item.css({ &quot;height&quot;: &quot;1px&quot;}); } );
				setTimeout( function() {
					if (  item.hasClass(&quot;hpHiddenBullet&quot;) == true ) {
						hideBullets( item );
					}
				}, delayHover);
			}
		}
	);
</pre>
<h2>Are you hungry yet?</h2>
<p>Wow, hope you guys liked it. Maybe you&#8217;re not going to use this effect itself but I&#8217;m sure we have a lot of good snippets here that are worth using in other cases.</p>
<p>Talking about the final effect, what do you think about it? Have you seen a better alternative?</p>
<p>Show us your opinion and let&#8217;s find what could be the very best implementation to our users!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.1stwebdesigner.com/css/jquery-hover-reveal-masked-password/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
	</channel>
</rss>

