<?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; javascript</title>
	<atom:link href="http://www.1stwebdesigner.com/tag/javascript/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>7 Ways to Boost Your Page Load Time Using CSS and JavaScript</title>
		<link>http://www.1stwebdesigner.com/design/7-ways-boost-page-load-using-css-javascript/</link>
		<comments>http://www.1stwebdesigner.com/design/7-ways-boost-page-load-using-css-javascript/#comments</comments>
		<pubDate>Mon, 10 Oct 2011 10:00:04 +0000</pubDate>
		<dc:creator>Christian Vasile</dc:creator>
				<category><![CDATA[Tools]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[load]]></category>
		<category><![CDATA[Speed]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://www.1stwebdesigner.com/?p=55540</guid>
		<description><![CDATA[Everybody has less and less time today for surfing, chatting, spending time on social media or whatever they like to do on the internet. Slow loading speeds disappeared a long time ago and we don&#8217;t want to see blogs and web pages taking too much out of our already limited time. You can find many [...]]]></description>
			<content:encoded><![CDATA[<p>Everybody has less and less time today for surfing, chatting, spending time on social media or whatever they like to do on the internet. Slow loading speeds disappeared a long time ago and we don&#8217;t want to see blogs and web pages taking too much out of our already limited time. You can find many tools on the internet to help you improve your web pages&#8217; loading speed and I took a look at many of them, so I am able to recommend you the following ones, which mainly work by eliminating the poorly written code.</p>
<p><span id="more-55540"></span></p>
<h3><strong><a title="Site Load Test" href="http://siteloadtest.com/" target="_blank">1. Site Load Test</a></strong></h3>
<p>This one mainly works like a validator, but tells you more about each error you have. Although it has quite a few errors, 1stwebdesigner.com got a general loading time of 1.88 seconds, which is very good according to the standards, which say that a page should load within a maximum of four seconds.</p>
<p><a href="http://www.1stwebdesigner.com/design/7-ways-boost-page-load-using-css-javascript/attachment/siteload/" rel="attachment wp-att-55551"><img class="aligncenter size-full wp-image-55551" title="siteload" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/10/siteload.jpg" alt="" width="570" height="91" /></a></p>
<p>Site Load Test will not do wonders for you, but will help you get rid of those tiny little errors you didn&#8217;t think about. It also helps you find errors regarding uploaded files, websites&#8217; size and total objects to load, not only CSS and JavaScript mistakes you&#8217;ve made while coding. Note that this is not an application that will automatically remove the errors &#8211; you will have to do it yourself.</p>
<h3><strong><a title="Packer" href="http://dean.edwards.name/packer/" target="_blank">2. Packer</a></strong></h3>
<p>If you are a JavaScript developer or you want to use a JavaScript code in your webpage, Packer is what you need. It will not create the code for you, but it will compress it. This tools works very fast and very well. You only need to copy your original code into the top field and then click on &#8220;Pack&#8221;. Within a few seconds you will get the new code (which basically does the same as the original one), but in a different state. The compressed code will not generate errors and, as you all know, less code is less size and therefore faster loading time.</p>
<h3><strong><a title="SquishIt" href="https://github.com/jetheredge/SquishIt" target="_blank">3. SquishIt</a> </strong></h3>
<p>SquishIt is a GitHub trademark and helps you a lot as well. When you have both CSS and JavaScript in your website (which is pretty much most of the time you code), this tool will &#8220;bundle&#8221; both of them into one file, making the number of files that need to load smaller. Although this tool might be a bit difficult to use due to the poor interface, once you play with it once or twice you will see it actually can be useful.</p>
<p>SquishIt can help with much more thanks to the Google Group and the discussion forum it features. You can talk about way more than CSS and JavaScript there, ask for advice and opinions and then code properly.</p>
<h3><strong><a title="Minify" href="http://code.google.com/p/minify/" target="_blank">4. Minify</a> </strong></h3>
<div id="attachment_55548" class="wp-caption aligncenter" style="width: 580px"><a href="http://www.1stwebdesigner.com/design/7-ways-boost-page-load-using-css-javascript/attachment/minify/" rel="attachment wp-att-55548"><img class="size-full wp-image-55548" title="Minify" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/10/minify.jpg" alt="" width="570" height="59" /></a><p class="wp-caption-text">Minify Logo and Description</p></div>
<p>This one is a PHP5 application that helps you with your CSS and JavaScript. What is does is that it combines several CSS and JavaScript files removing white space and comments and exports them with gzip encoding and optimal client-side cache headers.</p>
<p>Basically, if you have 5 JavaScript files, they will all become one after you use Minify. The app is easy to use, eliminates HTTP requests and reduces CSS/JavaScript bandwidth by 70%.</p>
<p>The app is integrated in other projects as well. If you run WordPress, there are two plugins which enjoy the same features: <a title="WP Minify" href="http://wordpress.org/extend/plugins/wp-minify/" target="_blank">WP Minify</a> and <a title="W3 Total Cache" href="http://wordpress.org/extend/plugins/w3-total-cache/" target="_blank">W3 Total Cache</a>.</p>
<h3><strong><a title="JavaScript Minifier" href="http://www.crockford.com/javascript/jsmin.html" target="_blank">5. JSMin</a> </strong></h3>
<p>JavaScript Minifier works pretty much as Minify, only it does not combine multiple files together. The only thing it does is that it removes the white space and comments from a JavaScript page. The official website of the tool says the app helps reduce the file size by half and encourages a more expressive programming style. JavaScript Minifier does not modify anything else in your code and it will not ruin it, so that the script will run properly.</p>
<h3><strong><a title="Google Closure Complier" href="http://code.google.com/closure/" target="_blank">6. Google Closure Compiler</a></strong></h3>
<p><strong></strong>Google&#8217;s tool is another one that basically cleans your code to allow faster loading time. This tool, however, does efficiently correct and remove a wide range of common coding errors in JavaScript.</p>
<p>The Compiler includes a huge JavaScript library, tested on several browsers and computers, a style checker and fixer and a JS optimizer. Google&#8217;s tool is very powerful and works perfectly, tidying up each of your JavaScript pages until nothing else can be done to it.</p>
<h3><strong><a title="YUI Compressor" href="http://developer.yahoo.com/yui/compressor/" target="_blank">7. YUI Compressor</a> </strong></h3>
<div id="attachment_55550" class="wp-caption aligncenter" style="width: 580px"><a href="http://www.1stwebdesigner.com/design/7-ways-boost-page-load-using-css-javascript/attachment/yui-2/" rel="attachment wp-att-55550"><img class="size-full wp-image-55550" title="YUI Compressor" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/10/yui.jpg" alt="" width="570" height="41" /></a><p class="wp-caption-text">YUI Compressor Logo</p></div>
<p>Although Yahoo! has fallen behind lately, their developer network still does a bit of a good work. YUI Compressor is one of their products which, as the name says, compresses your files fast and safe. YUI works both with CSS and JavaScript and proclaims itself as being better than competitors such as Packer or JSMin (presented above). The goal of the application is to preserve the qualities of the code and to only modify what is not working properly.</p>
<p>With Yahoo&#8217;s tool we end the list of CSS/JavaScript compressors which help your page load faster. Most of them are very easy to use and you won&#8217;t even have to spend much time optimizing your page, but it is a good idea to do it before uploading the final version of the site. Don&#8217;t forget that loading time is very important for both you and the visitors and not being able to hold a high standard might not help you too much. Therefore you should try out each of these tools and see which one of them works better for you.</p>
<p><strong>Further reading</strong></p>
<p><a title="Speed up your site with Google Analytics" href="http://www.webmonkey.com/2011/05/speed-up-your-site-with-google-analytics-new-page-speed-tools/" target="_blank">Speed Up Your Page With Google Analytics</a> on WebMonkey</p>
<p><a title="5 Tools to Speed Up Your Website" href="http://www.rackaid.com/resources/website-speed-up/" target="_blank">5 Tools to Speed Up your Website</a> on RackAid</p>
<p><a title="Tools to Speed Up Your Site" href="http://seogadget.co.uk/tools-to-speed-up-your-site/" target="_blank">Tools to Speed Up Your Site</a> on SEO Gadget</p>
]]></content:encoded>
			<wfw:commentRss>http://www.1stwebdesigner.com/design/7-ways-boost-page-load-using-css-javascript/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>50 New And Crazy Cool jQuery Plugins From Year 2011</title>
		<link>http://www.1stwebdesigner.com/css/jquery-plugins-2011/</link>
		<comments>http://www.1stwebdesigner.com/css/jquery-plugins-2011/#comments</comments>
		<pubDate>Sun, 10 Jul 2011 11:00:57 +0000</pubDate>
		<dc:creator>Daniels Mekšs</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[JS & AJAX]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[2011]]></category>
		<category><![CDATA[cool]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[webdesign]]></category>

		<guid isPermaLink="false">http://www.1stwebdesigner.com/?p=49887</guid>
		<description><![CDATA[With 2011 a little over half over it&#8217;s the right time to look at, and uncover, the current trends of web design and development. It&#8217;s sure been a helluva ride for jQuery and it&#8217;s growth just doesn&#8217;t stop. With more than 40% of websites using jQuery now it&#8217;s no longer possible to ignore this efficient, [...]]]></description>
			<content:encoded><![CDATA[<p>With 2011 a little over half over it&#8217;s the right time to look at, and uncover, the current trends of web design and development. It&#8217;s sure been a helluva ride for jQuery and it&#8217;s growth just doesn&#8217;t stop. With more than 40% of websites using jQuery now it&#8217;s no longer possible to ignore this efficient, powerful and lightweight tool.</p>
<p>jQuery gives developers the chance to enrich websites with amazing elements without the need to write dozens of lines of code. This article presents 50 advanced, cutting-edge yet simple jQuery plugins that will enhance your web experience drastically.<span id="more-49887"></span></p>
<h3>1. <a href="http://javan.us/jbar/">jbar</a></h3>
<p><a href="http://javan.us/jbar/"><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/07/jquery-tools-2011/jbar-new-cool-jquery-plugins-2011.jpg" alt="Jbar-new-cool-jquery-plugins-2011" border="0" /></a></p>
<p>jbar is a jQuery plugin that transforms an unordered list <code>&lt;ul&gt;</code> into a toolbar with dropdown menus.</p>
<h3>2. <a href="http://www.htmldrive.net/items/show/895/-Drop-down-TabMenu-with-AJAX">e24TabMenu</a></h3>
<p><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/07/jquery-tools-2011/tabmenu-new-cool-jquery-plugins-2011.jpg" alt="Tabmenu-new-cool-jquery-plugins-2011" border="0" /></p>
<p>e24TabMenu is a plugin written for scriptaculous. It is a tab menu that expands and collapses smoothly.</p>
<h3>2.1. <a href="http://codecanyon.net/item/royalslider-touchenabled-jquery-image-gallery/461126?ref=1stwebdesigner">RoyalSlider – Touch-Enabled jQuery Image Gallery</a></h3>
<p>RoyalSlider is easy to use jQuery image gallery with animated captions and touch support for mobile devices. Easily add unlimited number of slides and captions. Use it as image slider, image gallery, banner rotator, banner ads, or even presentation.</p>
<p><a href="http://codecanyon.net/item/royalslider-touchenabled-jquery-image-gallery/461126?ref=1stwebdesigner"><img class="alignnone" title="Royal Slideshow jQuery Image Gallery" src="http://3.s3.envato.com/files/5965530/5.0_BigImagePreview.png" alt="" width="590" height="300" /></a></p>
<p><a href="http://codecanyon.net/item/royalslider-touchenabled-jquery-image-gallery/full_screen_preview/461126?ref=1stwebdesigner">View Demo</a></p>
<h3>3. <a href="http://www.htmldrive.net/items/show/884/-Simple-jQuery-Fluid-Thumbnail-menu-Bar-">Simple jQuery Fluid Thumbnail Menu Bar </a></h3>
<p><a href="http://www.htmldrive.net/items/show/884/-Simple-jQuery-Fluid-Thumbnail-menu-Bar-"><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/07/jquery-tools-2011/fluid-thumbnail-new-cool-jquery-plugins-2011.jpg" alt="Fluid-thumbnail-new-cool-jquery-plugins-2011" border="0" /></a></p>
<p>The idea of a fluid thumbnail bar is simple: create a list of thumbnails within a space where the overflow can be flipped through page by page.</p>
<h3>4. <a href="http://www.scriptbreaker.com/javascript/script/JQuery-multi-level-accordion-menu">Accordion Multilevel Menu</a></h3>
<p><a href="http://www.scriptbreaker.com/javascript/script/JQuery-multi-level-accordion-menu"><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/07/jquery-tools-2011/accordion-new-cool-jquery-plugins-2011.jpg" alt="Accordion-new-cool-jquery-plugins-2011" border="0" /></a></p>
<p>The plugin has a boolean initialization option accordion. If you set this value to &#8220;true&#8221; the menu behaves as an <strong>accordion menu</strong>. The irrelevant menu items are closed while the relevant slides open.</p>
<h3>5. <a href="http://jamielottering.github.com/DropKick/">DropKick</a></h3>
<p><a href="http://jamielottering.github.com/DropKick/"><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/07/jquery-tools-2011/dropkick-new-cool-jquery-plugins-2011.jpg" alt="Dropkick-new-cool-jquery-plugins-2011" border="0" /></a></p>
<p>Creating custom dropdowns is usually a tedious process that requires a ton of extra setup time. Oftentimes lacking conveniences that native dropdowns have such as keyboard navigation. DropKick removes the tedium and lets you focus on making the menu look good.</p>
<h3>6. <a href="https://github.com/trepmag/jrac">jQuery Resize And Crop</a></h3>
<p><a href="https://github.com/trepmag/jrac"><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/07/jquery-tools-2011/crop-resize-new-cool-jquery-plugins-2011.jpg" alt="Crop-resize-new-cool-jquery-plugins-2011" border="0" /></a></p>
<p>jQuery Resize And Crop (jrac) is a jQuery plugin that build a viewport around a given image permitting a person to visually resize an image and place a crop. Then it is<br />
possible to use the coordinates data for any purpose.</p>
<h3>7. <a href="http://www.amazingthings.in/2011/07/cloud-zoom-jquery-image-zoom-plugin.html">Cloud Zoom</a></h3>
<p><a href="http://www.amazingthings.in/2011/07/cloud-zoom-jquery-image-zoom-plugin.html"><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/07/jquery-tools-2011/cloud-zoom-new-cool-jquery-plugins-2011.jpg" alt="Cloud-zoom-new-cool-jquery-plugins-2011" border="0" /></a></p>
<p>Cloud Zoom is a jQuery image zoom plugin, a comparable alternative to products such as Magic Zoom. Compared to the popular jQZoom plugin, Cloud Zoom is smaller, has more features and more robust compatibility across browsers.</p>
<h3>8. <a href="http://www.htmldrive.net/items/show/886/Useful-image-hover-slide-effect-with-jQuery">Simple jQuery Image Hover Effect</a></h3>
<p><a href="http://www.htmldrive.net/items/show/886/Useful-image-hover-slide-effect-with-jQuery"><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/07/jquery-tools-2011/image-hover-new-cool-jquery-plugins-2011.jpg" alt="Image-hover-new-cool-jquery-plugins-2011" border="0" /></a></p>
<p>This is a simple technique to animate an image when hovering using jQuery’s animate() effect.</p>
<h3>9. <a href="http://cssglobe.com/post/9711/jquery-plugin-easy-image-zoom">Easy Image Zoom</a></h3>
<p><a href="http://cssglobe.com/post/9711/jquery-plugin-easy-image-zoom"><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/07/jquery-tools-2011/image-zoom-new-cool-jquery-plugins-2011.jpg" alt="Image-zoom-new-cool-jquery-plugins-2011" border="0" /></a></p>
<p>Easy Image Zoom gives you the opportunity to see large details of the product while moving the cursor over a medium sized image.</p>
<h3>10. <a href="http://www.dailycoding.com/Posts/imagelens__a_jquery_plugin_for_lens_effect_image_zooming.aspx">ImageLens</a></h3>
<p><a href="http://www.dailycoding.com/Posts/imagelens__a_jquery_plugin_for_lens_effect_image_zooming.aspx"><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/07/jquery-tools-2011/image-lens-new-cool-jquery-plugins-2011.jpg" alt="Image-lens-new-cool-jquery-plugins-2011" border="0" /></a></p>
<p><span id="ctl00_contentPlaceHolderMain_descriptionLabel">Use this jQuery plug-in to add lens style zooming effect to an image,</span></p>
<h3>11. <a href="http://www.liam-galvin.co.uk/imageselect/">ImageSelect</a></h3>
<p><a href="http://www.liam-galvin.co.uk/imageselect/"><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/07/jquery-tools-2011/image-select-new-cool-jquery-plugins-2011.jpg" alt="Image-select-new-cool-jquery-plugins-2011" border="0" /></a></p>
<p>ImageSelect is a jQuery plugin that allows the user to select an image by means of a nice looking dropdown.</p>
<h3>12. <a href="http://dannyvankooten.com/jquery-plugins/mapz/">jQuery Mapz</a></h3>
<p><a href="http://dannyvankooten.com/jquery-plugins/mapz/"><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/07/jquery-tools-2011/maps-new-cool-jquery-plugins-2011.jpg" alt="Maps-new-cool-jquery-plugins-2011" border="0" /></a></p>
<p>With Mapz you can easily create draggable image maps by just calling one function and by using some simple and clean HTML mark-up.</p>
<h3>13. <a href="http://blueimp.github.com/jQuery-Image-Gallery/">jQuery Image Gallery</a></h3>
<p><a href="http://blueimp.github.com/jQuery-Image-Gallery/"><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/07/jquery-tools-2011/image-gallery-new-cool-jquery-plugins-2011.jpg" alt="Image-gallery-new-cool-jquery-plugins-2011" border="0" /></a></p>
<p>Image Gallery with Lightbox effect and slideshow functionality for jQuery UI.</p>
<h3>14. <a href="http://jbhslider.projects.bodin-hullin.net/">JbhSlider</a></h3>
<p><a href="http://jbhslider.projects.bodin-hullin.net/"><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/07/jquery-tools-2011/jbhslider-new-cool-jquery-plugins-2011.jpg" alt="Jbhslider-new-cool-jquery-plugins-2011" border="0" /></a></p>
<p>JbhSlider is a fully customizable slider. You can add/remove navigation or pagination. You can set the effect, the duration and the functions after/before.</p>
<h3>15. <a href="http://www.gobwas.com/sbanjo">jQuery.slideBanjo</a></h3>
<p><a href="http://www.gobwas.com/sbanjo"><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/07/jquery-tools-2011/slidebanjo-new-cool-jquery-plugins-2011.jpg" alt="Slidebanjo-new-cool-jquery-plugins-2011" border="0" /></a></p>
<p>jQuery.slideBanjo is a plugin, that shows pretty slides on your site. Supports background loading of pictures, simple to customize, full documentation. Compatible with IE7 and higher.</p>
<h3>15.1. <a href="http://codecanyon.net/item/estro-jquery-ken-burns-swipe-effect-slider/235111?ref=1stwebdesigner">Estro &#8211; jQuery Ken Burns &amp; swipe effect slider</a></h3>
<p>This jQuery plugin uses unobtrusive javascript to transform a block of simple HTML markup into a gorgeous elegant slider, which can be completely customized using HTML5 data attributes. The markup is valid HTML5 and SEO optimized, with all content always being available to search engines. When using this plugin, your page layout will be consistent even if javascript has been disabled.</p>
<p>This slider includes a smooth and powerful Ken Burns effect which is completely configurable and compatible with all major browsers (including ie7 to ie9, Firefox Chrome, Opera, Safari) and mobile platforms like iphone / ipad. If the Ken Burns effect is not your thing, that’s OK because the “Estro” slider also includes a 2-way “Swipe” mode with configurable transitions.</p>
<p><a href="http://codecanyon.net/item/estro-jquery-ken-burns-swipe-effect-slider/235111?ref=1stwebdesigner"><img class="alignnone" title="jQuery Slide Swipe Gallery" src="http://0.s3.envato.com/files/2350553/01_preview.jpg" alt="" width="590" height="300" /></a></p>
<p><a href="http://codecanyon.net/item/estro-jquery-ken-burns-swipe-effect-slider/full_screen_preview/235111?ref=1stwebdesigner">View Demo</a></p>
<h3>16. <a href="http://slidesjs.com/">Slides</a></h3>
<p><a href="http://slidesjs.com/"><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/07/jquery-tools-2011/slides-new-cool-jquery-plugins-2011.jpg" alt="Slides-new-cool-jquery-plugins-2011" border="0" /></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>
<h3>17. <a href="http://ekallevig.com/jshowoff/">jShowOff</a></h3>
<p><a href="http://ekallevig.com/jshowoff/"><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/07/jquery-tools-2011/jshowoff-new-cool-jquery-plugins-2011.jpg" alt="Jshowoff-new-cool-jquery-plugins-2011" border="0" /></a></p>
<p>jShowOff is a jQuery plugin for creating a rotating content module. It works by creating &#8216;slides&#8217; from the child elements (eg. &lt;li&gt;) inside a specified wrapper element (eg. &lt;ul&gt;) on which .jshowoff() is invoked. It then rotates through the slides, with options for controls, links, and more.</p>
<h3>18. <a href="http://baijs.nl/tinycarousel/">Tiny Carousel</a></h3>
<p><a href="http://baijs.nl/tinycarousel/"><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/07/jquery-tools-2011/tiny-carousel-new-cool-jquery-plugins-2011.jpg" alt="Tiny-carousel-new-cool-jquery-plugins-2011" border="0" /></a></p>
<p>Tiny Carousel is a lightweight carousel for sliding html based content. It was built using the javascript jQuery library. Tiny Carousel was designed to be a dynamic lightweight utility that gives webdesigners a powerfull way of enhancing a websites user interface.</p>
<h3>19. <a href="http://www.greepit.com/2011/06/gslider-lightweight-versatile-and-interactive-jquery-image-slider/">gSlider</a></h3>
<p><a href="http://www.greepit.com/2011/06/gslider-lightweight-versatile-and-interactive-jquery-image-slider/"><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/07/jquery-tools-2011/gslider-new-cool-jquery-plugins-2011.jpg" alt="Gslider-new-cool-jquery-plugins-2011" border="0" /></a></p>
<p>gSlider is an interactive image slider built on jQuery. It is versatile, lightweight and easy to implement in any website or web applications.</p>
<h3>20. <a href="http://projects.craftedpixelz.co.uk/craftyslide/">Craftyslide</a></h3>
<p><a href="http://projects.craftedpixelz.co.uk/craftyslide/"><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/07/jquery-tools-2011/craftyslide-new-cool-jquery-plugins-2011.jpg" alt="Craftyslide-new-cool-jquery-plugins-2011" border="0" /></a></p>
<p id="intro">Craftyslide is a tiny (just 2kb) slideshow built on jQuery. Craftyslide aims to be different, by providing a simple, no-frills method of displaying images; packaged into a small, clean and efficient plugin.</p>
<h3>21. <a href="https://bitbucket.org/mjs7231/jquery-wysiwym">JQuery Wysiwym</a></h3>
<p><a href="https://bitbucket.org/mjs7231/jquery-wysiwym"><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/07/jquery-tools-2011/wysiwym-new-cool-jquery-plugins-2011.jpg" alt="Wysiwym-new-cool-jquery-plugins-2011" border="0" /></a></p>
<p>JQuery-Wysiwym is a wysiwym (What You See Is What You Mean) editor. It is not meant to be used to output HTML, it simply helps with the desired markup syntax. Currently supported are Markdown, MediaWiki, and BBCode.</p>
<h3>22. <a href="http://leanmodal.finelysliced.com.au/">leanModal</a></h3>
<p><a href="http://leanmodal.finelysliced.com.au/"><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/07/jquery-tools-2011/ieanmodal-new-cool-jquery-plugins-2011.jpg" alt="Ieanmodal-new-cool-jquery-plugins-2011" border="0" /></a></p>
<p>A super simple modal window plugin that works with your CSS. Perfect for hidden page content. Uber light at just 780 bytes (minified). Flexible width &amp; height, image free, supports multiple instances on one page. Great for login, sign up &amp; alert panels, etc.</p>
<h3>23. <a href="http://code.google.com/p/jquery-preloader/">jQuery-preloader</a></h3>
<p><a href="http://code.google.com/p/jquery-preloader/"><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/07/jquery-tools-2011/preloader-new-cool-jquery-plugins-2011.jpg" alt="Preloader-new-cool-jquery-plugins-2011" border="0" /></a></p>
<p>This jQuery plugin preloads CSS, JS, HTML and images with visual loader, fast and very small (~2Kb).</p>
<h3>24. <a href="http://stefangabos.ro/jquery/zebra-dialog/">Zebra_Dialog</a></h3>
<p><a href="http://stefangabos.ro/jquery/zebra-dialog/"><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/07/jquery-tools-2011/zebra-dialog-new-cool-jquery-plugins-2011.jpg" alt="Zebra-dialog-new-cool-jquery-plugins-2011" border="0" /></a></p>
<p>Zebra_Dialog is a small (4KB minified), compact (one JS file, no dependencies other than jQuery 1.5.2+) and highly configurable dialog box plugin for jQuery, meant to replace JavaScript&#8217;s alert and confirmation dialog boxes and built using the jQuery Plugin Boilerplate.</p>
<h3>25. <a href="http://bryanlynn.com/double-vision/">Double Vision</a></h3>
<p><a href="http://bryanlynn.com/double-vision/"><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/07/jquery-tools-2011/double-vision-new-cool-jquery-plugins-2011.jpg" alt="Double-vision-new-cool-jquery-plugins-2011" border="0" /></a></p>
<p>A jQuery 1.6.1 plugin used for moving text from input’s to textarea.</p>
<h3>26. <a href="http://editor.scienceco.de/">Textarea Code Editor</a></h3>
<p><a href="http://editor.scienceco.de/"><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/07/jquery-tools-2011/code-editor-new-cool-jquery-plugins-2011.jpg" alt="Code-editor-new-cool-jquery-plugins-2011" border="0" /></a></p>
<p>This plugin transforms textareas into code editors with the following advantages: indentation with the Tab key, intelligent home key, auto indent on enter.</p>
<h3>27. <a href="http://cssglobe.com/post/9801/easy-paginate-jquery-plugin-for-pagination">Easy Paginate</a></h3>
<p><a href="http://cssglobe.com/post/9801/easy-paginate-jquery-plugin-for-pagination"><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/07/jquery-tools-2011/easy-paginate-new-cool-jquery-plugins-2011.jpg" alt="Easy-paginate-new-cool-jquery-plugins-2011" border="0" /></a></p>
<p>This plugin allows you to browse easily through the list of items with pagination controls. It is very easy to implement and very lightweight so it might come in handy to use in your own projects.</p>
<h3>28. <a href="http://neteye.github.com/activity-indicator.html">Activity Indicator</a></h3>
<p><a href="http://neteye.github.com/activity-indicator.html"><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/07/jquery-tools-2011/activity-indicator-new-cool-jquery-plugins-2011.jpg" alt="Activity-indicator-new-cool-jquery-plugins-2011" border="0" /></a></p>
<p>Activity Indicator is a resolution independent indicator that works in any browser.</p>
<h3>29. <a href="http://aquantum-demo.appspot.com/file-upload">jQuery File Upload</a></h3>
<p><a href="http://aquantum-demo.appspot.com/file-upload"><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/07/jquery-tools-2011/file-upload-new-cool-jquery-plugins-2011.jpg" alt="File-upload-new-cool-jquery-plugins-2011" border="0" /></a></p>
<p>jQuery File Upload is a jQuery based lightweight file uploader with multiple file upload and drag&amp;drop support.</p>
<h3>30. <a href="http://www.bitstorm.org/jquery/color-animation/">Color Animation</a></h3>
<p><a href="http://www.bitstorm.org/jquery/color-animation/"><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/07/jquery-tools-2011/color-animation-new-cool-jquery-plugins-2011.jpg" alt="Color-animation-new-cool-jquery-plugins-2011" border="0" /></a></p>
<p>With jQuery&#8217;s animate function, you can animate all kinds of css-properties. What&#8217;s really missing from jQuery is animating colors. This plugin will add this feature.</p>
<h3>30.1. <a href="http://codecanyon.net/item/fancy-music-player-v20-jquery-plugin/498071?ref=1stwebdesigner">Fancy Music Player V2.0</a></h3>
<p>Player works like this  - first it detects if Flash Player 9 or higher is installed. If yes a hidden flash movie(swf) will be used, that communicates via javascript with the HTML user interface. If no Flash Player is installed, the new HTML5 audio engine will be used, which is supported by all iToys(iPhone, iPad etc.).</p>
<p><a href="http://codecanyon.net/item/fancy-music-player-v20-jquery-plugin/498071?ref=1stwebdesigner"><img class="alignnone" title="Fancy Music Player" src="http://1.s3.envato.com/files/5687909/preview_big_fmp.jpg" alt="" width="590" height="300" /></a></p>
<p><a href="http://codecanyon.net/item/fancy-music-player-v20-jquery-plugin/full_screen_preview/498071?ref=1stwebdesigner">View Demo</a></p>
<h3>31. <a href="http://thecodemine.org/">jQuery Formwizard</a></h3>
<p><a href="http://thecodemine.org/"><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/07/jquery-tools-2011/form-wizard-new-cool-jquery-plugins-2011.jpg" alt="Form-wizard-new-cool-jquery-plugins-2011" border="0" /></a></p>
<p>The form wizard plugin is a jQuery plugin which can be used to create wizard like page flows for forms without having to reload the page in between wizard steps.</p>
<h3>32. <a href="http://jquery.anantanandgupta.net/plugins/jQuerySpinnerControl/">jQuery Spinner Control</a></h3>
<p><a href="http://jquery.anantanandgupta.net/plugins/jQuerySpinnerControl/"><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/07/jquery-tools-2011/spinner-control-new-cool-jquery-plugins-2011.jpg" alt="Spinner-control-new-cool-jquery-plugins-2011" border="0" /></a></p>
<p>Converts the text input to a spinner control. This plugin works fine with ASP.net for the post backs.</p>
<h3>33. <a href="http://ben.ferit.im/doc.html">jEscape</a></h3>
<p><a href="http://ben.ferit.im/doc.html"><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/07/jquery-tools-2011/jescape-new-cool-jquery-plugins-2011.jpg" alt="Jescape-new-cool-jquery-plugins-2011" border="0" /></a></p>
<p>This extension captures all the keydown events faster and less time writing code, you&#8217;ll profit.</p>
<h3>34. j<a href="http://www.remylab.net46.net/demos/jquery-plugins/jpaginator/">Paginator</a></h3>
<p><a href="http://www.remylab.net46.net/demos/jquery-plugins/jpaginator/"><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/07/jquery-tools-2011/paginator-new-cool-jquery-plugins-2011.jpg" alt="Paginator-new-cool-jquery-plugins-2011" border="0" /></a></p>
<p>A plugin for animated pagination, with auto-acceleration, a slider, and highly customizable.</p>
<h3>35. <a href="http://www.steamdev.com/snippet/">Snippet</a></h3>
<p><a href="http://www.steamdev.com/snippet/"><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/07/jquery-tools-2011/snippet-new-cool-jquery-plugins-2011.jpg" alt="Snippet-new-cool-jquery-plugins-2011" border="0" /></a></p>
<p>Snippet is a jQuery syntax highlighting plugin built on top of the SHJS script found on SourceForge. Snippet provides a quick and easy way of highlighting source code passages in HTML documents.</p>
<h3>36. <a href="http://www.codebasehero.com/download/?file=music-player">HTML5 jQuery Music Player</a></h3>
<p><a href="http://www.codebasehero.com/download/?file=music-player"><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/07/jquery-tools-2011/html5-music-player-new-cool-jquery-plugins-2011.jpg" alt="Html5-music-player-new-cool-jquery-plugins-2011" border="0" /></a></p>
<p>A HTML5 music player that uses an awesome design created by Orman Clark and jPlayer.</p>
<h3>37. <a href="http://www.sarpdoruktahmaz.com/projects/j-link-preview/">jQuery Link Preview</a></h3>
<p><a href="http://www.sarpdoruktahmaz.com/projects/j-link-preview/"><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/07/jquery-tools-2011/link-preview-new-cool-jquery-plugins-2011.jpg" alt="Link-preview-new-cool-jquery-plugins-2011" border="0" /></a></p>
<p>jLinkPreview is a plug-in for jQuery Library which simply allows you to see a link&#8217;s preview image before you visit them by just hovering on it. Link preview will appear by your cursor when you hover.</p>
<h3>38. <a href="http://www.kfsoft.info/MyQRCode/demo.php">My QR Code </a></h3>
<p><a href="http://www.kfsoft.info/MyQRCode/demo.php"><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/07/jquery-tools-2011/qr-code-new-cool-jquery-plugins-2011.jpg" alt="Qr-code-new-cool-jquery-plugins-2011" border="0" /></a></p>
<p>This plugin generate QR code for mobile devices using Google Chart API with jQuery. By default, the plugin will generate the QR code for the URL of the page. You can also specify the text, encoding and size of the QR code.</p>
<h3>39. <a href="http://www.geektantra.com/2011/05/jquery-tagbox-plugin/">jQuery TagBox</a></h3>
<p><a href="http://www.geektantra.com/2011/05/jquery-tagbox-plugin/"><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/07/jquery-tools-2011/tagbox-new-cool-jquery-plugins-2011.jpg" alt="Tagbox-new-cool-jquery-plugins-2011" border="0" /></a></p>
<p>This is a jQuery plugin to help add tags like input in your forms.</p>
<h3>40. <a href="http://jackrugile.com/jrumble/">jRumble</a></h3>
<p><a href="http://jackrugile.com/jrumble/"><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/07/jquery-tools-2011/rumble-new-cool-jquery-plugins-2011.jpg" alt="Rumble-new-cool-jquery-plugins-2011" border="0" /></a></p>
<p>jRumble is a jQuery plugin that rumbles, vibrates, shakes, and rotates any element you choose. It&#8217;s great to use as a hover effect or a way to direct attention to an element. You can control the X, Y, and rotation range, the speed, and event trigger for the rumble.</p>
<h3>41. <a href="http://playground.mobily.pl/jquery/mobily-map.html">MobilyMap</a></h3>
<p><a href="http://playground.mobily.pl/jquery/mobily-map.html"><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/07/jquery-tools-2011/mobily-map-new-cool-jquery-plugins-2011.jpg" alt="Mobily-map-new-cool-jquery-plugins-2011" border="0" /></a></p>
<p>MobilyMap is a jQuery plugin (7KB) that can create a Google Maps-like, draggable interface from any image.</p>
<h3>42. <a href="http://tympanus.net/codrops/2011/06/09/grid-navigation-effects/">Grid Navigation</a></h3>
<p><a href="http://tympanus.net/codrops/2011/06/09/grid-navigation-effects/"><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/07/jquery-tools-2011/grid-navigation-new-cool-jquery-plugins-2011.jpg" alt="Grid-navigation-new-cool-jquery-plugins-2011" border="0" /></a></p>
<p>jQuery plugin for achieving some neat grid navigation effects.</p>
<h3>43. <a href="http://moreco.de/simple-overlay/">Simple Overlay</a></h3>
<p><a href="http://moreco.de/simple-overlay/"><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/07/jquery-tools-2011/overlay-new-cool-jquery-plugins-2011.jpg" alt="Overlay-new-cool-jquery-plugins-2011" border="0" /></a></p>
<p>A jQuery Plugin for easily adding lightweight, flexible overlays to your projects.</p>
<h3>44. <a href="http://jonobr1.github.com/diagonalFade/">diagonalFade</a></h3>
<p><a href="http://jonobr1.github.com/diagonalFade/"><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/07/jquery-tools-2011/diagonal-fade-new-cool-jquery-plugins-2011.jpg" alt="Diagonal-fade-new-cool-jquery-plugins-2011" border="0" /></a></p>
<p>diagonalFade is a jQuery plugin allowing you to easily specify direction, fade-in, fade-out, and a host of other options to a grouping of elements. All you have to do is import it, specify the container to which the group of items resides, and poof, you&#8217;re off and away.</p>
<h3>45. <a href="http://www.egrappler.com/jquery-spin-button-plugin-smart-spin/">Smart Spin</a></h3>
<p><a href="http://www.egrappler.com/jquery-spin-button-plugin-smart-spin/"><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/07/jquery-tools-2011/smart-spin-new-cool-jquery-plugins-2011.jpg" alt="Smart-spin-new-cool-jquery-plugins-2011" border="0" /></a></p>
<p>Smart spin is a jQuery spin button plugin that mimics the very common windows spin button control. Smart spin allows you to select a value between minimum and maximum values using either mouse or keyboard. You can also enter a value via keyboard.</p>
<h3>46. <a href="http://www.egrappler.com/jquery-credit-card-validation-plugin-smart-validate/">jQuery Credit Card Validation</a></h3>
<p><a href="http://www.egrappler.com/jquery-credit-card-validation-plugin-smart-validate/"><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/07/jquery-tools-2011/credit-card-new-cool-jquery-plugins-2011.jpg" alt="Credit-card-new-cool-jquery-plugins-2011" border="0" /></a></p>
<p>Smart Validate is a jQuery credit card validation plugin, that makes credit card format validation a simple task. It ensures that user has entered valid credit card number before making actual transaction.</p>
<h3>47. <a href="http://www.digicrafts.com.hk/components/JSAJAXPayPalCart">Ajax PayPal Cart</a></h3>
<p><a href="http://www.digicrafts.com.hk/components/JSAJAXPayPalCart"><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/07/jquery-tools-2011/ajax-paypal-new-cool-jquery-plugins-2011.jpg" alt="Ajax-paypal-new-cool-jquery-plugins-2011" border="0" /></a></p>
<p>AJAX PayPal Cart is a easy to use JQuery plugin for web developer to add a full function shopping cart in their website. The AJAX cart can included a cart widget which allow display of cart information easily. Support PayPal Website Payment Standard.</p>
<h3>48. <a href="http://www.m2az.com/folderPreview/">jQuery.folderPreview</a></h3>
<p><a href="http://www.m2az.com/folderPreview/"><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/07/jquery-tools-2011/folder-preview-new-cool-jquery-plugins-2011.jpg" alt="Folder-preview-new-cool-jquery-plugins-2011" border="0" /></a></p>
<p>jQuery.folderPreview is a jQuery plugin that takes a series of images and positions them so that they appear within a folder graphic. This enhances the attractiveness of a browsing UI system, allowing the user to visualize the contents of the folder.</p>
<h3>49. <a href="https://github.com/christianv/jquery-lifestream">jQuery Lifestream</a></h3>
<p><a href="https://github.com/christianv/jquery-lifestream"><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/07/jquery-tools-2011/lifestream-new-cool-jquery-plugins-2011.jpg" alt="Lifestream-new-cool-jquery-plugins-2011" border="0" /></a></p>
<p>Show a stream of your online activity with jQuery</p>
<h3>50. <a href="http://sandbox.sebnitu.com/jquery/quovolver/">QuoVolver</a></h3>
<p><a href="http://sandbox.sebnitu.com/jquery/quovolver/"><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/07/jquery-tools-2011/quovolver-new-cool-jquery-plugins-2011.jpg" alt="Quovolver-new-cool-jquery-plugins-2011" border="0" /></a></p>
<p>Quovolver is a simple extension for jQuery that takes a group of quotes and displays them on your page in an elegant way.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.1stwebdesigner.com/css/jquery-plugins-2011/feed/</wfw:commentRss>
		<slash:comments>37</slash:comments>
		</item>
		<item>
		<title>61 Unusual Navigation Menus In CSS, Flash And JavaScript</title>
		<link>http://www.1stwebdesigner.com/inspiration/unusual-navigation-menu/</link>
		<comments>http://www.1stwebdesigner.com/inspiration/unusual-navigation-menu/#comments</comments>
		<pubDate>Fri, 29 Oct 2010 21:00:28 +0000</pubDate>
		<dc:creator>Jane Bernardo</dc:creator>
				<category><![CDATA[Inspiration]]></category>
		<category><![CDATA[Coding]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[menu]]></category>
		<category><![CDATA[navigation]]></category>
		<category><![CDATA[webdesign]]></category>

		<guid isPermaLink="false">http://www.1stwebdesigner.com/?p=29878</guid>
		<description><![CDATA[What is one of the aspect of a website that always needed? It is the navigation menu. Navigation menu is a useful part of  the website because it leads the user to different part of the website. Interaction to the website is the main use of the navigation menu.More and more great looking and user-friendly [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.1stwebdesigner.com/inspiration/unusual-navigation-menu/"><img class="alignleft size-full wp-image-29262" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/bigthumbs/new-ones/navigation-preview_small.jpg" alt="" width="150" height="150" /></a> <span style="font-family: Arial;">What is one of the aspect of a website that always needed? It is the navigation menu. <strong>Navigation menu</strong> is a useful part of  the website because it leads the user to different part of the website. Interaction to the website is the main use of the navigation menu.More and more great looking and user-friendly navigation menus are being created that gives  life to the websites. </span></p>
<p><span style="font-family: Arial;">I&#8217;ll be featuring 61 great looking and really unusual navigation menus which are CSS-based design solutions, JavaScript-based menus and Flash-designs.<span id="more-29878"></span></span><br />
<strong><span style="text-decoration: underline;"><span style="font-family: Arial;"> </span></span></strong></p>
<h2><strong><span style="text-decoration: underline;">CSS &#8211; Based Navigation Menu</span></strong></h2>
<p><strong> </strong></p>
<p><strong> </strong></p>
<p><strong>1. <a href="http://www.loodo.com.br/" target="_blank">Loodo.com</a></strong></p>
<p>Casino-like game or snakes and ladders with the touch of colorful menu.</p>
<p><a href="http://www.loodo.com.br/" target="_blank"><img class="alignbottom size-full wp-image-29436" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/10/navigation-menu-css-loodo.jpg" alt="" width="570" height="150" /></a></p>
<p><strong>2. <a href="http://www.change.org/" target="_blank">Change.org</a></strong></p>
<p>The calmness of the choice of color with the emboss feeling of the menu to reveal the submenus is a great choice for its advocacy change.</p>
<p><a href="http://www.change.org/" target="_blank"><img class="alignbottom size-full wp-image-29438" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/10/navigation-menu-css-change.jpg" alt="" width="570" height="150" /></a></p>
<p><strong>3. <a href="http://acko.net/" target="_blank">Acko.net</a></strong></p>
<p>Steven Wittens gives us another perspective or view of this menu.</p>
<p><a href="http://acko.net/" target="_blank"><img class="alignbottom size-full wp-image-29440" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/10/navigation-menu-css-acko.jpg" alt="" width="570" height="150" /></a></p>
<p><strong>4. <a href="http://www.uxbooth.com/" target="_blank">UXBooth.com</a></strong></p>
<p>UX Booth uses stylish yet simple menu.</p>
<p><a href="http://www.uxbooth.com/"><img class="alignbottom size-full wp-image-29445" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/10/navigation-menu-css-uxbooth.jpg" alt="" width="570" height="150" /></a></p>
<p><strong>5. <a href="http://macrabbit.com/" target="_blank">MacRabbit.com</a></strong></p>
<p>MacRabbit uses a mac os or apple concept to its design.</p>
<p><a href="http://macrabbit.com/" target="_blank"><img class="alignbottom size-full wp-image-29446" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/10/navigation-menu-css-mcrabbit.jpg" alt="" width="570" height="150" /></a></p>
<p><strong>6. <a href="http://www.joyent.com/" target="_blank">Joyent.com</a></strong></p>
<p>Joyent uses simple, business looking menu that offers their works.</p>
<p><a href="http://www.joyent.com/" target="_blank"><img class="alignbottom size-full wp-image-29448" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/10/navigation-menu-css-joyent.jpg" alt="" width="570" height="150" /></a></p>
<p><strong>7. <a href="http://www.nopokographics.com/english/" target="_blank">Nopoko Graphics</a></strong></p>
<p>Elegance and simplicity of this portfolio gives you.</p>
<p><a href="http://www.nopokographics.com/english/" target="_blank"><img class="alignbottom size-full wp-image-29450" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/10/navigation-menu-css-nopographics.jpg" alt="" width="570" height="150" /></a></p>
<p><strong>8.  <a href="http://www.icondesigner.net/" target="_blank">Icon Designer.com</a></strong></p>
<p>Large images-based menu that will attract and will draw users attention. Not the usual menu that you see.</p>
<p><a href="http://www.icondesigner.net/"><img class="alignbottom size-full wp-image-29451" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/10/navigation-menu-css-icondesigner.jpg" alt="" width="570" height="250" /></a></p>
<p><strong>9. <a href="http://designsensory.com/" target="_blank">Designsensory.com</a></strong></p>
<p>Drop down navigation that uses two colors that presents the active link to the passive one.</p>
<p><a href="http://designsensory.com/"><img class="alignbottom size-full wp-image-29453" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/10/navigation-menu-css-designsensory.jpg" alt="" width="570" height="150" /></a></p>
<p><strong>10.<a href="http://www.smallstone.com/index.php"> Smallstone.com</a></strong></p>
<p>Small Stone recordings, a U.S. record label, uses a radio-like or  that so-called a the so-called <em>Space Echo</em> Roland SE-201 menu.</p>
<p><a href="http://www.smallstone.com/index.php"><img class="alignbottom size-full wp-image-29454" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/10/navigation-menu-css-smallstone.jpg" alt="" width="570" height="250" /></a></p>
<p><strong>11. <a href="http://tnvacation.com/" target="_blank">TNVacation</a></strong></p>
<p>Feel of country or map-like that will let you travel to the whole website.</p>
<p><a href="http://tnvacation.com/" target="_blank"><img class="alignbottom size-full wp-image-29872" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/10/css-based-navigation-menu-tennessee.jpg" alt="" width="570" height="150" /></a></p>
<p><strong>12. <a href="http://aclevertwist.com/" target="_blank">Clever Twist </a></strong></p>
<p>Rounded, apple application-like menu that offers application for your iPhones.</p>
<p><a href="http://aclevertwist.com/"><img class="alignbottom size-full wp-image-29457" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/10/navigation-menu-css-clevertwist.jpg" alt="" width="570" height="150" /></a></p>
<p><strong>13. <a href="http://clearleft.com/" target="_blank">Clear Left</a></strong></p>
<p>Clearleft uses a calendar concept that makes a what-to-do stuff on a particular day feel.</p>
<p><a href="http://clearleft.com/"><img class="alignbottom size-full wp-image-29458" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/10/navigation-menu-css-clearleft.jpg" alt="" width="570" height="150" /></a></p>
<p><strong>14. <a href="http://www.tulumarka.com/galerije" target="_blank">Tulumarka</a></strong></p>
<p>Pressed looking  to see the selected menu.</p>
<p><a href="http://www.tulumarka.com/galerije" target="_blank"><img class="alignbottom size-full wp-image-29459" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/10/navigation-menu-css-tulumarka.jpg" alt="" width="570" height="150" /></a></p>
<p style="text-align: left;"><strong>15. <a href="http://arstechnica.com/" target="_blank">Ars Technica</a></strong></p>
<p style="text-align: left;">Menu pressed reveals a submenu. Dark yet simple feel.</p>
<p style="text-align: left;"><a href="http://arstechnica.com/"><img class="alignbottom size-full wp-image-29462" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/10/navigation-menu-css-arstechnica.jpg" alt="" width="570" height="150" /></a></p>
<p style="text-align: left;"><strong>16. <a href="http://www.45royale.com/about/" target="_blank">45royale inc.</a></strong></p>
<p style="text-align: left;">Nice hover effects  with this simple and clean menu.</p>
<p style="text-align: left;"><a href="http://www.45royale.com/about/"><img class="alignbottom size-full wp-image-29464" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/10/navigation-menu-css-45royale.jpg" alt="" width="570" height="150" /></a></p>
<p style="text-align: left;"><strong>17. <a href="http://www.cssbeauty.com/" target="_blank">CSS Beauty</a></strong></p>
<p style="text-align: left;">The size of the letters are so cute and  not usual but that&#8217;s what will caught your attention.</p>
<p style="text-align: left;"><a href="http://www.cssbeauty.com/"><img class="alignbottom size-full wp-image-29465" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/10/navigation-menu-css-cssbeauty.jpg" alt="" width="570" height="150" /></a></p>
<p style="text-align: left;"><strong>18. <a href="http://designintellection.com/portfolio/" target="_blank">Design Intellection</a></strong></p>
<p style="text-align: left;">A good way to use a block navigation that shows an effective  hover effects.</p>
<p style="text-align: left;"><a href="http://designintellection.com/portfolio/"><img class="alignbottom size-full wp-image-29468" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/10/navigation-menu-css-designintellection.jpg" alt="" width="570" height="150" /></a></p>
<p style="text-align: left;"><strong>19. <a href="http://microformats.org/" target="_blank">Microformats</a></strong></p>
<p style="text-align: left;">Leaf like plus the cool green color that suits into your eyes. From green to black that gives you on what menu you are.</p>
<p style="text-align: left;"><a href="http://microformats.org/"><img class="alignbottom size-full wp-image-29471" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/10/navigation-menu-css-microformats.jpg" alt="" width="570" height="150" /></a></p>
<p style="text-align: left;"><strong>20. <a href="http://www.ronnypries.de/#all" target="_blank">ronnypries.de</a></strong></p>
<p style="text-align: left;">One of the best concept is to use a floor plan to navigate your users to the entire website is what Ronny Pries did.</p>
<p style="text-align: left;"><a href="http://www.ronnypries.de/#all"><img class="alingnbottom size-full wp-image-29473" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/10/navigation-menu-css-ronnie.jpg" alt="" width="570" height="150" /></a></p>
<p style="text-align: left;"><strong>21. <a href="http://www.tvrdek.cz/en" target="_blank">Jiri Tvrdek</a></strong></p>
<p style="text-align: left;">Fruit bearing tree is one of the creative way to use a navigation menu.  It is like your harvesting a fruit and lead you to the taste or the content of the website.</p>
<p style="text-align: left;"><a href="http://www.tvrdek.cz/en"><img class="alignbottom size-full wp-image-29478" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/10/navigation-menu-css-tvdrek.jpg" alt="" width="570" height="150" /></a></p>
<p style="text-align: left;"><strong>22. <a href="http://www.mattdempsey.com/" target="_blank">Matt Dempsey</a></strong></p>
<p style="text-align: left;">Brush strokes with the interchange of the colors over choosing a menu is what  Matt Dempsey did.</p>
<p style="text-align: left;"><a href="http://www.mattdempsey.com/"><img class="alignbottom size-full wp-image-29479" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/10/navigation-menu-css-matt.jpg" alt="" width="570" height="150" /></a></p>
<p style="text-align: left;"><strong>23. <a href="http://www.cognigencorp.com/" target="_blank">Cognigen</a></strong></p>
<p style="text-align: left;">Presents a pressed and clear view of the navigation.</p>
<p style="text-align: left;"><a href="http://www.cognigencorp.com/"><img class="alignbottom size-full wp-image-29480" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/10/navigation-menu-css-cognigen.jpg" alt="" width="570" height="150" /></a></p>
<p><strong>24. <a href="http://www.districtsolutions.co.uk/candidates/" target="_blank">District Solutions</a></strong></p>
<p><a href="http://www.districtsolutions.co.uk/candidates/" target="_blank"></a>Vertical tab that looks like a folder that really works on this website.  Rarely use but really great to work with.</p>
<p style="text-align: left;"><a href="http://www.districtsolutions.co.uk/candidates/"><img class="alignbottom size-full wp-image-29481" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/10/navigation-menu-css-districtsolution.jpg" alt="" width="570" height="700" /></a></p>
<p style="text-align: left;"><strong>25. <a href="http://www.jeffsarmiento.com/" target="_blank">Jeff Sarmiento</a></strong></p>
<p style="text-align: left;">Sloping Navigation that creates a creativity and a punk style looking menu that Jeff Sarmiento used.</p>
<p style="text-align: left;"><a href="http://www.jeffsarmiento.com/"><img class="alignbottom size-full wp-image-29483" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/10/navigation-menu-css-jeff.jpg" alt="" width="570" height="350" /></a></p>
<p style="text-align: left;"><strong>26.<a href="http://www.racket.net.au/" target="_blank"> Racket</a></strong></p>
<p style="text-align: left;">It is like a hierarchy of menu up to its roots.  One of a kind navigation that added to the creativity of the website.</p>
<p style="text-align: left;"><a href="http://www.racket.net.au/"><img class="alignbottom size-full wp-image-29484" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/10/navigation-menu-css-racket.jpg" alt="" width="570" height="250" /></a></p>
<p style="text-align: left;"><strong>27. <a href="http://dfw-upa.org/" target="_blank">DFW</a></strong></p>
<p style="text-align: left;">Icons gives emphasis on the interaction to the menu.</p>
<p style="text-align: left;"><a href="http://dfw-upa.org/"><img class="alignbottom size-full wp-image-29486" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/10/navigation-menu-css-dfw.jpg" alt="" width="570" height="150" /></a></p>
<p style="text-align: left;">
<h2><span style="text-decoration: underline;">Flash based Navigation Menu</span></h2>
<p><strong>28. </strong><a href="http://iipvapi.com/" target="_blank"><strong>Iipvapi</strong><br />
</a></p>
<p>Photo clipping navigation menu with touch of hover color effects used in a Photo Clipping path services.</p>
<p><a href="http://iipvapi.com/"><img class="alignbottom size-full wp-image-29715" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/10/flash-based-navigation-menu-iipvapi.jpg" alt="" width="570" height="250" /></a></p>
<p><strong>29. </strong><a href="http://moodstream.gettyimages.com/" target="_blank"><strong>Moodstream | Getty Image</strong><br />
</a></p>
<p>It is designed to squeeze your creative juices<a href="http://moodstream.gettyimages.com/" target="_blank"> </a>by tweaking the mood sliders navigation.</p>
<p><a href="http://moodstream.gettyimages.com/"><img class="alignbottom size-full wp-image-29718" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/10/flash-based-navigation-menu-moodstream.jpg" alt="" width="570" height="450" /></a>.</p>
<p><strong>30. </strong><a href="http://www.notforgottenmovie.com/" target="_blank"><strong>Not Forgotten &#8211; The Movie</strong><br />
</a></p>
<p>Devilish, freaky and rise to the dead theme of the navigations presented into <a href="http://www.notforgottenmovie.com/" target="_blank"> </a>tarot-like cards.  The card will be put in fire if you clicked on it.</p>
<p><a href="http://www.notforgottenmovie.com/" target="_blank"><img class="alginbottom size-full wp-image-29722" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/10/flash-based-navigation-menu-forgotten.jpg" alt="" width="570" height="450" /></a></p>
<p><strong>31.</strong><a href="http://waterlife.nfb.ca/" target="_blank"><strong>Waterlife</strong><br />
</a></p>
<p>The fluid navigation menu that brings you to the motion of a lake.</p>
<p><a href="http://waterlife.nfb.ca/" target="_blank"><img class="alignbottom size-full wp-image-29724" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/10/flash-based-navigation-menu-waterlife.jpg" alt="" width="570" height="450" /></a></p>
<p><strong>32. </strong><a href="http://www.narrowdesign.com/" target="_blank"><strong>Nick Jones</strong><br />
</a></p>
<p>Nick Jones uses a simple yet dynamic navigation for his portfolio. It&#8217;s like pulling things up and down.</p>
<p><a href="http://www.narrowdesign.com/" target="_blank"><img class="alignbottom size-full wp-image-29723" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/10/flash-based-navigation-menu-nickjones.jpg" alt="" width="570" height="450" /></a></p>
<p><strong>33. </strong><a href="http://www.marcecko.com/#/?query=08c77e3874039c55254ad8118086b967" target="_blank"><strong>Marc Ecko</strong><br />
</a></p>
<p>Marc Ecko presents an art gallery navigation that lets visitors to  tour for  art and philosophy.</p>
<p><a href="http://www.marcecko.com/#/?query=08c77e3874039c55254ad8118086b967"><img class="alignbottom size-full wp-image-29729" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/10/flash-based-navigation-menu-marcecho.jpg" alt="" width="570" height="450" /></a></p>
<p><strong>34. </strong><a href="http://www.hbo.com/" target="_blank"><strong>HBO</strong><br />
</a></p>
<p>HBO , a tv-movie network, creates an interactive selection of movies for its navigation.</p>
<p><a href="http://www.hbo.com/"><img class="alignbottom size-full wp-image-29735" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/10/flash-based-navigation-menu-hbo.jpg" alt="" width="570" height="250" /></a></p>
<p><strong>35. </strong><a href="http://www.gotmilk.com/#/gotmilkbrand/" target="_blank"><strong>Got Milk?</strong><br />
</a></p>
<p>An interesting navigation in a ribbon with a simple hover effect. When an icon hovered, the content menu is presented.</p>
<p><a href="http://www.gotmilk.com/#/gotmilkbrand/"><img class="alignbottom size-full wp-image-29741" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/10/flash-based-navigation-menu-gotmilk.jpg" alt="" width="570" height="150" /></a></p>
<p><strong>36. </strong><a href="http://www.agencynet.com/" target="_blank"><strong>AgencyNet</strong><br />
</a></p>
<p>Stunning and amazing navigation design studio based in New York City, NY and Fort Lauderdale, FL.</p>
<p><a href="http://www.agencynet.com/"><img class="alignbottom size-full wp-image-29744" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/10/flash-based-navigation-menu-agencynet.jpg" alt="" width="570" height="570" /></a></p>
<p><strong>37. </strong><a href="http://www.2advanced.com/" target="_blank"><strong>2Advanced Studios</strong><br />
</a></p>
<p>Stylish neo ancient navigation design with a background mural that leads us to another world.</p>
<p><a href="http://www.2advanced.com/"><img class="alignbottom size-full wp-image-29753" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/10/flash-based-navigation-menu-2advanced.jpg" alt="" width="570" height="250" /></a></p>
<p><strong>38. </strong><a href="http://www.nickad.com/" target="_blank"><strong>NickAD</strong><br />
</a></p>
<p>Nick Ad uses a flexible but easy to use navigation. The stars that changes to a navigation when it clicks anywhere in the page.</p>
<p><a href="http://www.nickad.com/"><img class="alignbottom size-full wp-image-29757" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/10/flash-based-navigation-menu-nickad.jpg" alt="" width="570" height="150" /></a></p>
<p><strong>39. </strong><a href="http://okaydave.com/" target="_blank"><strong>Dave Werner</strong><br />
</a></p>
<p>A creative person uses his own works to lead the users on his portfolio.</p>
<p><a href="http://okaydave.com/"><img class="alignbottom size-full wp-image-29761" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/10/flash-based-navigation-menu-dave.jpg" alt="" width="570" height="400" /></a></p>
<p><strong>40. <a href="http://www.sectionseven.com/index2.html" target="_blank">Section Seven Inc</a>.</strong></p>
<p>Section Seven has a colorful pamphlet like navigation with a sub menu written on it.</p>
<p><a href="http://www.sectionseven.com/index2.html"><img class="alignbottom size-full wp-image-29764" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/10/flash-based-navigation-menu-sectionseven.jpg" alt="" width="570" height="400" /></a></p>
<p><strong>41. </strong><a href="http://www.cathybeck.com/" target="_blank"><strong>Cathy Beck</strong><br />
</a></p>
<p>A navigation that open and close like a scroll when choosing a menu.</p>
<p><a href="http://www.cathybeck.com/"><img class="alignbottom size-full wp-image-29777" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/10/flash-based-navigation-menu-cathy.jpg" alt="" width="570" height="150" /></a></p>
<p><strong>42. </strong><a href="http://www.beside.ca/" target="_blank"><strong>Beside</strong><br />
</a></p>
<p>Beside uses a rainbow navigation that puts your colorful fantasies.</p>
<p><a href="http://www.beside.ca/"><img class="alignbottom size-full wp-image-29779" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/10/flash-based-navigation-menu-besides.jpg" alt="" width="570" height="250" /></a></p>
<p><strong>43. </strong><a href="http://www.christiansparrow.com/" target="_blank"><strong>Christian Sparrow</strong><br />
</a></p>
<p>A cardboard concept of its portfolio. The navigation hovers a pencil-like drawing.</p>
<p><a href="http://www.christiansparrow.com/"><img class="alignbottom size-full wp-image-29781" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/10/flash-based-navigation-christian.jpg" alt="" width="570" height="150" /></a></p>
<p><strong>44. </strong><a href="http://www.enila.fr/" target="_blank"><strong>Enila.fr</strong><br />
</a></p>
<p>Small squares that put together that acts as the navigation and collaboration of works.</p>
<p><a href="http://www.enila.fr/"><img class="alignbottom size-full wp-image-29783" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/10/flash-based-navigation-menu-enila.jpg" alt="" width="570" height="400" /></a></p>
<p><strong>45. </strong><a href="http://www.havaianas.com/#" target="_blank"><strong>Havaianas</strong><br />
</a></p>
<p>A colorful map that has the touch of the slipper texture that Havaianas proud about.</p>
<p><a href="http://www.havaianas.com/#"><img class="alignbottom size-full wp-image-29784" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/10/flash-based-navigation-menu-havaianas.jpg" alt="" width="570" height="400" /></a></p>
<p><strong>46. </strong><a href="http://www.sqcircle.com/" target="_blank"><strong>Square Circle</strong><br />
</a></p>
<p>A table filled with stuffs that are related to the menu such as telephone for contact us, magazine for portfolio, newspaper for news and others. Real thing that use for navigation is a great thing.</p>
<p><a href="http://www.sqcircle.com/"><img class="alignbottom size-full wp-image-29785" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/10/flash-based-navigation-menu-square.jpg" alt="" width="570" height="570" /></a></p>
<p><strong>47. </strong><a href="http://www.tbwahakuhodo.co.jp/" target="_blank"><strong>TBWA\HAKUHODO</strong><br />
</a></p>
<p>A great, artistic scenario use for navigation. Every element is a wonderful piece that gives life to the website. Rarely used but magnificent.</p>
<p><a href="http://www.tbwahakuhodo.co.jp/"><img class="alignbottom size-full wp-image-29787" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/10/flash-based-navigation-menu-tb.jpg" alt="" width="570" height="570" /></a></p>
<p><strong><br />
</strong></p>
<h2><strong><span style="text-decoration: underline;">JavaScript &#8211; Based Navigation Menu</span></strong></h2>
<p><strong> </strong></p>
<p><strong> </strong><a href="http://www.tbwahakuhodo.co.jp/"></a></p>
<p><strong> </strong></p>
<p><strong>48. </strong><a href="http://agamicreative.com/" target="_blank"><strong>Agami Creative</strong><br />
</a></p>
<p>Simple and eye pleasing of this navigation with the touch of  paint colors.</p>
<p><a href="http://agamicreative.com/about/"><img class="alignbottom size-full wp-image-29795" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/10/javascript-based-navigation-menu-agami.jpg" alt="" width="570" height="150" /></a></p>
<p><strong>49. </strong><a href="http://dragoninteractive.com/" target="_blank"><strong> Dragon Interactive</strong><br />
</a></p>
<p>It looks like the navigation is made up of Flash but it&#8217;s not.  Clean, cool and stylish navigation with a hover effects of colors that made this navigation really pretty.</p>
<p><a href="http://dragoninteractive.com/"><img class="alignbottom size-full wp-image-29797" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/10/javascript-based-navigation-menu-dragon.jpg" alt="" width="570" height="150" /></a></p>
<p><strong>50. </strong><a href="http://www.whitehouse.gov/" target="_blank"><strong>The White House</strong><br />
</a></p>
<p>White House really holds up a lot of information for the public. It is easily manage with this drop down menu to contain all the contents.</p>
<p><a href="http://www.whitehouse.gov/"><img class="alignbottom size-full wp-image-29798" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/10/javascript-based-navigation-menu-whitehouse.jpg" alt="" width="570" height="350" /></a></p>
<p><strong>51. </strong><a href="http://www.ericj.se/" target="_blank"><strong>Eric Johansson</strong><br />
</a></p>
<p>Eric Johansson uses a JavaScript sliding menu to travel on it&#8217;s website.</p>
<p><a href="http://www.ericj.se/"><img class="alignbottom size-full wp-image-29801" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/10/javascript-based-navigation-menu-eric.jpg" alt="" width="570" height="570" /></a></p>
<p><strong>51. </strong><a href="http://www.helmy-bern.cz/" target="_blank"><strong>Helmy Bern</strong><br />
</a></p>
<p>The navigation layout is in a grunge theme that also has a jQuery drop down effects.</p>
<p><a href="http://www.helmy-bern.cz/"><img class="alignbottom size-full wp-image-29806" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/10/javascript-based-navigation-menu-helmy.jpg" alt="" width="570" height="150" /></a></p>
<p><strong>52. </strong><a href="http://www.netdreams.co.uk/index.php/what-we-do/web-services/" target="_blank"><strong>Internet Dreams</strong><br />
</a></p>
<p>The creative hover effect is not usual but it gives a distinguish look over what menu users choose in.</p>
<p><a href="http://www.netdreams.co.uk/index.php/what-we-do/web-services/"><img class="alignbottom size-full wp-image-29813" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/10/javascript-based-navigation-menu-netdreams.jpg" alt="" width="570" height="150" /></a></p>
<p><strong>53.</strong><a href="http://www.panic.com/coda/" target="_blank"><strong> Panic -Coda</strong><br />
</a></p>
<p>Familiar and popular icons were used to navigate users easily.</p>
<p><a href="http://www.panic.com/coda/"><img class="alignbottom size-full wp-image-29817" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/10/javascript-based-navigation-menu-coda.jpg" alt="" width="570" height="150" /></a></p>
<p><strong>54. </strong><a href="http://www.taptaptap.com/" target="_blank"><strong>TapTapTap</strong><br />
</a></p>
<p>Restaurant menu-like navigation is really great. I really love this navigation because of its simplicity yet creative design.</p>
<p><a href="http://www.taptaptap.com/"><img class="alignbottom size-full wp-image-29820" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/10/javascript-based-navigation-menu-tap.jpg" alt="" width="570" height="570" /></a></p>
<p><strong>55. </strong><a href="http://www.arcinspirations.com/kobe/" target="_blank"><strong>Kobe</strong><br />
</a></p>
<p>This navigation uses a scroll to and scroll in plugin to create  an interesting transitions.</p>
<p><a href="http://www.arcinspirations.com/kobe"><img class="alignbottom size-full wp-image-29830" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/10/javascript-based-navigation-menu-kobe.jpg" alt="" width="570" height="150" /></a></p>
<p><strong>56. </strong><a href="http://bloghelpr.us/" target="_blank"><strong>BlogHelpr</strong><br />
</a></p>
<p>Floater design to use for navigation. It is the creative way to save the person in swimming into the website.</p>
<p><a href="http://bloghelpr.us/"><img class="alignbottom size-full wp-image-29833" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/10/javascript-based-navigation-menu-bloghelper.jpg" alt="" width="570" height="300" /></a></p>
<p><strong>57. </strong><a href="http://eyedraw.eu/" target="_blank"><strong>EyeDraw</strong><br />
</a></p>
<p>EyeDraw uses an expanding images whenever you hover the mouse over the menu.</p>
<p><a href="http://eyedraw.eu/"><img class="alignbottom size-full wp-image-29838" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/10/javascript-based-navigation-menu-eyedraw.jpg" alt="" width="570" height="400" /></a></p>
<p><strong>58. </strong><a href="http://www.andreashinkel.com/" target="_blank"><strong>Andreas Hinkel</strong><br />
</a></p>
<p>Andreas Hinkel uses Polaroid navigation for the animation effect.</p>
<p><a href="http://www.andreashinkel.com/deutsch/home/home.html"><img class="alignbottom size-full wp-image-29845" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/10/javascript-based-navigation-menu-adreas.jpg" alt="" width="570" height="400" /></a></p>
<p><strong>59. </strong><a href="http://www.museugulbenkian.org/eng/#archive/month/" target="_blank"><strong>Museu Gulbenkian</strong><br />
</a></p>
<p>The drag dock  navigation in the bottom is a great way to reveal and hide the menu and submenus.</p>
<p><a href="http://www.museugulbenkian.org/eng/#archive/month/"><img class="alignbottom size-full wp-image-29851" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/10/javascript-based-navigation-menu-museu.jpg" alt="" width="570" height="350" /></a></p>
<p><strong>60. </strong><a href="http://www.sapphiresound.ca/" target="_blank"><strong>Sapphire Sound</strong><br />
</a></p>
<p>The thumbnail used as a menu that has caption effect, custom scroll bar, and you also can see the fading, sliding animation.</p>
<p><a href="http://www.sapphiresound.ca/"><img class="alignbottom size-full wp-image-29852" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/10/javascript-based-navigation-menu-sapphiresound.jpg" alt="" width="570" height="350" /></a></p>
<p><strong>61. </strong><a href="http://www.slicemachine.com/" target="_blank"><strong>Design Slicing</strong><br />
</a></p>
<p>Transition effects is what  I really like on this navigation. The menu are set of questions that when hover are given answers.</p>
<p><a href="http://www.slicemachine.com/"><img class="alignbottom size-full wp-image-29854" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/10/javascript-based-navigation-menu-slicemachine.jpg" alt="" width="570" height="350" /></a></p>
<p>These are few navigation menu design that you can work out on your website but be sure that you don&#8217;t want to get lost in the design and interactivity aspect of your navigation. Let your users be guided on the navigation you choose to deal with.</p>
<p><span style="text-decoration: underline;"><br />
</span><span style="text-decoration: underline;"> </span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.1stwebdesigner.com/inspiration/unusual-navigation-menu/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>The Ultimate Guide to Object Oriented Basics of JavaScript</title>
		<link>http://www.1stwebdesigner.com/design/object-oriented-basics-javascript/</link>
		<comments>http://www.1stwebdesigner.com/design/object-oriented-basics-javascript/#comments</comments>
		<pubDate>Wed, 29 Sep 2010 10:00:10 +0000</pubDate>
		<dc:creator>Joseph McCullough</dc:creator>
				<category><![CDATA[Web Design]]></category>
		<category><![CDATA[Basics]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[guide]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[Object Orientation]]></category>

		<guid isPermaLink="false">http://www.1stwebdesigner.com/?p=26011</guid>
		<description><![CDATA[Thanks to expertly crafted libraries such as jQuery and MooTools, JavaScript has become a foundation of Front-End Development. However, it&#8217;s extremely important that we note the higher level concepts utilized in these wonderful libraries. Why is that? As web developers, we must equally balance learning the current programming trends with attempts to push the boundaries [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.1stwebdesigner.com/development/object-oriented-basics-javascript/"><img class="alignleft size-full wp-image-26619" title="js-object-orientation" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/09/js-object-orientation.gif" alt="" width="150" height="150" /></a>Thanks to expertly crafted libraries such as jQuery and MooTools, JavaScript has become a foundation of Front-End Development. However, it&#8217;s extremely important that we note the higher level concepts utilized in these wonderful libraries. Why is that? As web developers, we must equally balance learning the current programming trends with attempts to push the boundaries of those trends. Without this balance, no innovation will occur in web development. So let&#8217;s take a moment to appreciate the fundamentals of JavaScript Object Oriented Programming, which include classes, inheritance, and scope.<span id="more-26011"></span></p>
<h2>Classes</h2>
<p>Before we learn how to implement classes into your code, let&#8217;s discuss what classes are and why you should bother learning/using them.</p>
<p>As stated in the <a href="http://download.oracle.com/javase/tutorial/java/concepts/class.html">Java documentation</a>, &#8220;A class is the blueprint from which individual objects are created.&#8221; Consider an actual blueprint used in the process of making a house. The builders use the blueprint to evaluate what properties the house contains and what functions the house will execute. Classes are a convenient way to represent the properties of objects, be it a house, car, or person. Classes become especially useful when more than one of a given object exists.</p>
<p>As an example, let&#8217;s compare two real-life objects without the use of classes. This mirrors the procedural thought process as opposed to the object oriented thought process. We&#8217;ll describe a man named Rob and a baby girl named Emillee. We must assume we know nothing about the human body since we have no blueprint(class) to work from.</p>
<p>Rob:</p>
<ol>
<li>Rob has two oval-like structures a few inches apart on the upper portion of his body. These oval like structures have a white background with a brown middle.</li>
<li>Rob has two structures that run relatively parallel to the floor that seem to indicate the most vertical portion of the body that&#8217;s still part of the body&#8217;s base.</li>
<li>Rob has two appendages that extend from another two appendages. These seem to be used to grab items. They seem relatively large.</li>
<li>Rob measures approximately 6 feet in height.</li>
<li>Rob involuntarily intakes oxygen and converts it into Carbon Dioxide.</li>
</ol>
<p>Emilee:</p>
<ol>
<li>Emillee has two oval-like structures a few inches apart on the upper portion of her body. These oval like structures have a white background with a blue middle.</li>
<li>Emillee has two structures that run relatively parallel to the floor that seem to indicate the most vertical portion of the body that&#8217;s still part of the body&#8217;s base.</li>
<li>Emillee has two appendages that extend from another two appendages. These seem to be used to grab items. They seem relatively small.</li>
<li>Emillee measures approximately 1.5 feet in height.</li>
<li>Emillee involuntarily intakes oxygen and converts it into Carbon Dioxide.</li>
</ol>
<p>That was a LOT of work to just describe a human&#8217;s 1) Eyes, 2) Shoulders, 3) Hands, 4) Height, and 5) Act of Breathing. Notice we had to make almost the exact same observations both times since we had no blueprint to work from. While describing 2 people wasn&#8217;t too bad, what if we wanted to describe 100, 1000, a million? There certainly has to be a more efficient way of describing objects that have similar properties: This is where classes shine.</p>
<p>Let&#8217;s rethink the previous example using an object oriented mindset. Since we are describing a man and a baby girl, we know they are both humans. So let&#8217;s first create a simple blueprint for humans.</p>
<p>Humans:</p>
<ol>
<li>Have two oval-like structures a few inches apart on the upper portion of his body. These oval like structures have a white background with a varying color in the middle. We call them eyes.</li>
<li>Have two structures that run relatively parallel to the floor that seem to indicate the most vertical portion of the body that&#8217;s still part of the body&#8217;s base. We call them shoulders.</li>
<li> Have two appendages that extend from another two appendages. These seem to be used to grab items. Their size varies. We call them hands.</li>
<li> Vary in height depending on age and other factors. We call this height.</li>
<li> Involuntarily intake oxygen and convert it into Carbon Dioxide. We call this breathing.</li>
</ol>
<p>So we&#8217;ve stated that the properties of humans are that they have eyes, shoulders, hands, and a height. We&#8217;ve also stated that these properties may vary. Having defined the blueprint of a Human, and having declared that Rob and Emillee are human, we can apply what we already know about humans to Rob and Emillee.</p>
<p>Rob is a Human.</p>
<ol>
<li>Rob has brown eyes</li>
<li>Rob has shoulders</li>
<li>Rob has large hands</li>
<li>Rob is 6 feet tall</li>
<li>Rob breathes</li>
</ol>
<p>Emillee is a Human.</p>
<ol>
<li>Emillee has blue eyes</li>
<li>Emillee has shoulders</li>
<li>Emillee has small hands</li>
<li>Emillee is 1.5 feet tall</li>
<li>Emillee breathes</li>
</ol>
<p>By explicitly stating Rob and Emillee are Human, we take the properties and functions associated with being Human and apply them directly to Rob and Emillee. This lets us avoid redefining all the body parts while also letting us effectively describe the key differences between the two objects.</p>
<p>Here are a few examples of classes and their objects(known as instances of the class) so you understand the relationship between the two.</p>
<p>Class Student</p>
<ul>
<li>Properties: grades, age, date of birth, SSID</li>
<li>Functions: calculate GPA, view absences, update conduct</li>
</ul>
<p>Class Employee</p>
<ul>
<li>Properties: EIN, hourly wage, contact number, insurance</li>
<li>Functions: set wage, view productivity, pull resume</li>
</ul>
<p>Class Computer</p>
<ul>
<li>Properties: CPU, motherboard, monitor</li>
<li>Functions: turn on, turn off, restart</li>
</ul>
<p>So now that we understand the idea behind classes, let&#8217;s apply what we know to JavaScript. Unlike languages including PHP and C++, JavaScript does not have the class data type. However, using JavaScripts flexibility, we can easily mimic a class using functions.</p>
<p>Referring to one of our previous examples, let&#8217;s use a class to represent students.</p>
<p>When creating a class, there are two things you must do: You must know what properties/functions(also known as methods) the class will have, and you need to initialize the properties with a value.</p>
<pre class="brush: jscript; title: ; notranslate">
	function Student(name, gender, age, grade, teacher)
	{
		this.name = name;
		this.gender = gender;
		this.age = age;
		this.grade = grade;
		this.teacher = teacher;
	}

	var bob = new Student(&quot;bob&quot;, &quot;male&quot;, 15, 10, &quot;Marlow&quot;);
	alert(bob.age); //Outputs 15

	var susan = new Student(&quot;susan&quot;, &quot;female&quot;, 10, 5, &quot;Gresham&quot;);
	alert(susan.gender); //Outputs 'female'
</pre>
<p>From this example we can see that instances of the class are initiated using the new operator. Properties and methods of the class are accessed using the . (dot) operator. So to get the property age of the instance of the Student class named bob, we simply use bob.age. Similarly, we created an instance of the Student class and assigned that to susan. To get the gender of susan, we simply use susan.gender. The code readability benefits from classes are enormous: You can reason that bob.age is the age of bob without having any programming experience.</p>
<p>However, the previous example contains two detrimental (but easily fixable) flaws.<br />
1) The class properties can be accessed by any statement<br />
2) The arguments must be passed in a certain order</p>
<h3>Keeping property values private</h3>
<p>Note that in the previous example, we were able to get the value of bob.age by simply calling bob.age. Additionally, we could set bob.age to any value we feel like anywhere in the program.</p>
<pre class="brush: jscript; title: ; notranslate">
	var bob = new Student(&quot;bob&quot;, &quot;male&quot;, 15, 10, &quot;Marlow&quot;);
	alert(bob.age); //Outputs 15

	bob.age = 9;
	alert(bob.age); //Outputs 9;
</pre>
<p>Seems harmless, right? Well, consider this example.</p>
<pre class="brush: jscript; title: ; notranslate">
	var bob = new Student(&quot;bob&quot;, &quot;male&quot;, 15, 10, &quot;Marlow&quot;);
	alert(bob.age); //Outputs 15

	bob.age = -50;
	alert(bob.age); //Outputs -50;
</pre>
<p>We have age as a negative number: A logical inconsistency. We can prevent issues like this and preserve the integrity of our data by utilizing the concept of private variables. A private variable is a variable that can only be accessed within the class itself. While once again JavaScript does not have a reserve word for making a variable private, JavaScript gives us the tools to create the same effect.</p>
<pre class="brush: jscript; title: ; notranslate">
	function Student(name, gender, age, grade, teacher)
	{
		var studentName = name;
		var studentGender = gender;
		var studentGrade = grade;
		var studentTeacher = teacher;
		var studentAge = age;

		this.getAge = function()
		{
			return studentAge;
		};

		this.setAge = function(val)
		{
			studentAge = Math.abs(val); //Keep age positive using absolute value
		};
	}

	var bob = new Student(&quot;bob&quot;, &quot;male&quot;, 15, 10, &quot;Marlow&quot;);
	alert(bob.studentAge); //undefined, since age is privately protected in the class definition

	alert(bob.getAge()); //Outputs 15
	bob.setAge(-20);
	alert(bob.getAge()); //Outputs 20
</pre>
<p>By using variable declarations as opposed to attributing properties directly to the class, we have protected the integrity of our age data. Since JavaScript utilizes function scope, a variable declared within our class will not be made accessible outside of that class unless explicitly returned by a function within the class. The method this.getAge, which returns the student age to the calling environment, is known as an Accessor method. An Accessor method returns the value of a property so that the value can be used outside the class without affecting the value inside the class. Accessor methods are usually preceded with the word &#8220;get&#8221; by convention. The method this.setAge is known as a Mutation method. Its purpose is to alter the value of a property and preserve its integrity.</p>
<p>So we see the benefits of using Accessor and Mutation methods within a class to preserve the integrity of data. However, creating an Accessor method for each property creates extremely long-winded code.</p>
<pre class="brush: jscript; title: ; notranslate">
	function Student(name, gender, age, grade, teacher)
	{
		var studentName = name;
		var studentGender = gender;
		var studentGrade = grade;
		var studentTeacher = teacher;
		var studentAge = age;

		this.getName = function()
		{
			return studentName;
		};

		this.getGender = function()
		{
			return studentGender;
		};

		this.getGrade = function()
		{
			return studentGrade;
		};

		this.getTeacher = function()
		{
			return studentTeacher;
		};

		this.getAge = function()
		{
			return studentAge;
		};

		this.setAge = function(val)
		{
			studentAge = Math.abs(val); //Keep age positive using absolute value
		};
	}

	var bob = new Student(&quot;bob&quot;, &quot;male&quot;, 15, 10, &quot;Marlow&quot;);
	alert(bob.studentGender); //undefined, since gender is privately protected in the class definition

	alert(bob.getGender()); //Outputs 'male'
</pre>
<p>My C++ Professor always said &#8220;If you find yourself typing the same code over and over, you&#8217;re doing it wrong.&#8221; Indeed there is a more efficient way to create Accessor methods for each property. Additionally, this mechanism also eliminates the need to call function arguments in a specific order.</p>
<h3>Dynamically Generated Accessor methods</h3>
<p>This demonstration is based off John Resig&#8217;s <a href="http://www.amazon.com/Pro-JavaScript-Techniques-John-Resig/dp/1590597273">Pro JavaScript Techniques</a> book (which I highly encourage you to read. The first 3 chapters alone are worth it).</p>
<pre class="brush: jscript; title: ; notranslate">
	function Student( properties )
	{
		var $this = this;  //Store class scope into a variable named $this

		//Iterate through the properties of the object
		for ( var i in properties )
		{

			(function(i)
			{
				// Dynamically create an accessor method
				$this[ &quot;get&quot; + i ] = function()
				{
					return properties[i];
				};
			})(i);
		}
	}

	// Create a new user object instance and pass in an object of
	// properties to seed it with
	var student = new Student(
	{
		Name: &quot;Bob&quot;,
		Age: 15,
		Gender: &quot;male&quot;
	});

	alert(student.name); //Undefined due to the property being private

	alert(student.getName()); //Outputs &quot;Bob&quot;
	alert(student.getAge()); //Outputs 15
	alert(student.getGender()); //Outputs &quot;male&quot;
</pre>
<p>By implementing this technique, not only do we keep our properties private, we avoid the need to specify our arguments in order. The following class instantiations are all equivalent</p>
<pre class="brush: jscript; title: ; notranslate">
	var student = new Student(
	{
		Name: &quot;Bob&quot;,
		Age: 15,
		Gender: &quot;male&quot;
	});

	var student = new Student(
	{
		Age: 15,
		Name: &quot;Bob&quot;,
		Gender: &quot;male&quot;
	});

	var student = new Student(
	{
		Gender: &quot;male&quot;,
		Age: 15,
		Name: &quot;Bob&quot;
	});
</pre>
<h2>Inheritance</h2>
<p>Recall that throughout this article I&#8217;ve used the term &#8220;class&#8221; extremely loosely. As stated before, JavaScript has no class entity, but the pattern of classes can still be followed. The main difference between JavaScript and other object oriented languages lies in their inheritance models. C++ and Java exhibit Class-based or &#8220;Classical&#8221; inheritance. JavaScript, on the other hand, exhibits Prototypal Inheritance. In other object oriented languages, class is an actual data type that represents the blueprint for creating objects.  In JavaScript, although we can use Functions to simulate an object blueprint, they are just in fact objects themselves. These objects are then used as models (aka prototypes) for other objects.(See Article <a href="http://www.webreference.com/programming/javascript/prototypal_inheritance/">JavaScript Prototypal Inheritance</a>).</p>
<p>Applying the concept of prototypal inheritance allows us to create &#8220;subclasses&#8221;, or objects that inherit the properties of another object. This becomes particularly useful when we want to use the methods of another object with some slight modifications.</p>
<p>Consider a class Employee. Let&#8217;s say we have two types of employees: wage-based and commission-based. These employee types will have many similar properties. For example, regardless of whether an employee receives income through commission or receives income through wages, an employee will have a name. However, the way the income for a commission-based employee and a wage-based employee is completely different. The following example captures this idea.</p>
<pre class="brush: jscript; title: ; notranslate">
	function Worker()
	{
		this.getMethods = function(properties, scope)
		{
			var $this = scope;  //Store class scope into a variable named $this

			//Iterate through the properties of the object
			for ( var i in properties )
			{

				(function(i)
				{
					// Dynamically create an accessor method
					$this[ &quot;get&quot; + i ] = function()
					{
						return properties[i];
					};

				//Dynamically create a mutation method that parses for an integer and
				//Ensures it is positive.
				$this[ &quot;set&quot; + i ] = function(val)
				{
					if(isNaN(val))
					{
						properties[i] = val;
					}
					else
					{
						properties[i] = Math.abs(val);
					}
				};
				})(i);
			}
		};
	}

	//The CommissionWorker &quot;subclass&quot; and WageWorker &quot;subclass&quot;
	//inherit the properties and methods of Worker.
	CommissionWorker.prototype = new Worker();
	WageWorker.prototype = new Worker();

	function CommissionWorker(properties)
	{
		this.getMethods(properties, this);

		//Calculates income
		this.getIncome = function()
		{
			return properties.Sales * properties.Commission;
		}
	}

	//Expects the following properties: wage, hoursPerWeek, weeksPerYear
	function WageWorker(properties)
	{
		this.getMethods(properties, this);

		//Calculates income
		this.getIncome = function()
		{
			return properties.Wage * properties.HoursPerWeek * properties.WeeksPerYear;
		}
	}

	var worker = new WageWorker(
	{
		Name: &quot;Bob&quot;,
		Wage: 10,
		HoursPerWeek: 40,
		WeeksPerYear: 48
	});

	alert(worker.wage); //Undefined. wage is a private property.

	worker.setWage(20);
	alert(worker.getName());   //Outputs &quot;Bob&quot;
	alert(worker.getIncome()); //Outputs 38,400 (20*40*48)

	var worker2 = new CommissionWorker(
	{
		Name: &quot;Sue&quot;,
		Commission: .2,
		Sales: 40000
	});
	alert(worker2.getName());   //Outputs &quot;Sue&quot;
	alert(worker2.getIncome()); //Outputs 8000 (2% times 40,000)
</pre>
<p>The most important statements from the previous example are:</p>
<pre class="brush: jscript; title: ; notranslate">
CommissionWorker.prototype = new Worker();
WageWorker.prototype = new Worker();
</pre>
<p>This states that for each instance of a new CommissionWorker or a new WageWorker object, the properties and methods of Worker will be passed down to those new objects. These methods and properties can be overwritten within the &#8220;subclass&#8221; definition if so desired.</p>
<h2>Scope</h2>
<p>JavaScript exhibits what is known as function scope. This means variables declared in a function are not initially accessible outside the function from which they originate. However, in blocks (such as coniditonal statements), variable declarations or alterations are made available to the calling environment.</p>
<pre class="brush: jscript; title: ; notranslate">
	var car = &quot;Toyota&quot;;

	if(car == &quot;Toyota&quot;)
	{
		car = &quot;Toyota - We never stop...and you won't either.&quot;;
	}

	alert(car); //Ouputs Toyota - We never stop...and you won't either.

	car = &quot;Toyota&quot;; //Reset car back to original value.

	function makeFord(car)
	{
		car = &quot;Ford&quot;;
	}

	makeFord(car);
	alert(car); //Outputs &quot;Toyota&quot; because car was altered in the function scope.
</pre>
<p>However, if you want a function to alter the value, you can pass in an object as an argument and alter a property of the object.</p>
<pre class="brush: jscript; title: ; notranslate">
	var car = new Object();
	car.brand = &quot;Toyota&quot;

	function makeFord(car)
	{
		car.brand = &quot;Ford&quot;;
	}

	makeFord(car);

	alert(car.brand); //Outputs &quot;Ford&quot;
</pre>
<p>This is known as passing a value to a function &#8220;by reference&#8221;. I generally recommend passing by reference only if you are setting up methods within a class and you know what properties the object will contain.</p>
<p>You are now armed with the object oriented basics as applied to JavaScript. Use these principles to simplify your code for projects in the future.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.1stwebdesigner.com/design/object-oriented-basics-javascript/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>45+ Very Functional Javascript Sliders and Scrollers</title>
		<link>http://www.1stwebdesigner.com/freebies/javascript-sliders-scrollers/</link>
		<comments>http://www.1stwebdesigner.com/freebies/javascript-sliders-scrollers/#comments</comments>
		<pubDate>Tue, 28 Sep 2010 10:00:16 +0000</pubDate>
		<dc:creator>Ahmad Hania</dc:creator>
				<category><![CDATA[Freebies]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[Resources]]></category>
		<category><![CDATA[Scrollers]]></category>
		<category><![CDATA[Sliders]]></category>
		<category><![CDATA[Web Design]]></category>

		<guid isPermaLink="false">http://www.1stwebdesigner.com/?p=26056</guid>
		<description><![CDATA[Every web developer needs to use Javascript in creating web applications, and when it comes to displaying multiple items on a page with a focus on a single item Sliders and Scrollers comes in handy. You can use Javascript Sliders and Scrollers with news, images or products to display data in an organized and user [...]]]></description>
			<content:encoded><![CDATA[<p><a title="46 Very Functional Javascript Sliders and Scrollers" href="http://www.1stwebdesigner.com/resources/javascript-sliders-scrollers/"><img class="alignleft size-full wp-image-26509" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/09/46-Very-Functional-Javascript-Sliders-and-Scrollers.gif" alt="46 Very Functional Javascript Sliders and Scrollers" width="150" height="150" /></a>Every web developer needs to use Javascript in creating web applications, and when it comes to displaying multiple items on a page with a focus on a single item Sliders and Scrollers comes in handy. You can use Javascript Sliders and Scrollers with news, images or products to display data in an organized and user friendly way. In this article I compiled a list of 46 Very Functional Javascript Sliders and Scrollers for you to use in developing web applications.</p>
<p><span id="more-26056"></span></p>
<h2>1. <a href="http://manos.malihu.gr/jquery-thumbnail-scroller">jquery Thumbnail Scroller</a>, <a href="http://manos.malihu.gr/tuts/jquery_thumbnail_scroller_horizontal_full_light.html">Demo<br />
</a></h2>
<p><a href="http://manos.malihu.gr/jquery-thumbnail-scroller"><img class="aligncenter size-full wp-image-26057" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/09/jquery-thumbnail-scroller.png" alt="" width="500" height="317" /></a></p>
<h2>2. <a href="http://www.jcoverflip.com/">JCoverflip</a>, <a href="http://www.jcoverflip.com/demo">Demo<br />
</a></h2>
<p><a href="http://www.jcoverflip.com/"><img class="aligncenter size-full wp-image-26059" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/09/JCoverflip.png" alt="" width="500" height="244" /></a></p>
<h2>3. <a href="http://workshop.rs/projects/coin-slider/">COIN SLIDER</a></h2>
<p><a href="http://workshop.rs/projects/coin-slider/"><img class="aligncenter size-full wp-image-26061" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/09/COIN-SLIDER.png" alt="" width="500" height="278" /></a></p>
<h2>4. <a href="http://nathansearles.com/loopedslider/">loopedSlider</a>, <a href="http://nathansearles.com/loopedslider/example-4.html">Demo</a></h2>
<p><a href="http://nathansearles.com/loopedslider/"><img class="aligncenter size-full wp-image-26062" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/09/loopedSlider.png" alt="" width="500" height="356" /></a></p>
<h2>5. <a href="http://nivo.dev7studios.com/">Nivo Slider</a></h2>
<p><a href="http://nivo.dev7studios.com/"><img class="aligncenter size-full wp-image-26064" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/09/Nivo-Slider.png" alt="" width="500" height="239" /></a></p>
<h2>6. <a href="http://www.sohtanaka.com/web-design/automatic-image-slider-w-css-jquery/">Automatic Image Slider w/ CSS &amp; jQuery</a>, <a href="http://www.sohtanaka.com/web-design/examples/image-slider/">Demo</a></h2>
<p><a href="http://www.sohtanaka.com/web-design/automatic-image-slider-w-css-jquery/"><img class="aligncenter size-full wp-image-26075" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/09/Automatic-Image-Slider-w-CSS-jQuery.png" alt="" width="500" height="184" /></a></p>
<h2>7. <a href="http://landofcoder.com/our-porfolios/mootool-plugins/item/8-the-lof-sidernews-plugin.html">Lof SiderNews</a>, <a href="http://landofcoder.com/demo/mootool/lofslidernews/index2.html">Demo</a></h2>
<p><a href="http://landofcoder.com/our-porfolios/mootool-plugins/item/8-the-lof-sidernews-plugin.html"><img class="aligncenter size-full wp-image-26078" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/09/Lof-SiderNews.png" alt="" width="500" height="171" /></a></p>
<h2>8. <a href="http://www.marcofolio.net/webdesign/advanced_jquery_background_image_slideshow.html">Advanced jQuery background image slideshow</a>, <a href="http://demo.marcofolio.net/bgimg_slideshow/">Demo</a></h2>
<p><a href="http://www.marcofolio.net/webdesign/advanced_jquery_background_image_slideshow.html"><img class="aligncenter size-full wp-image-26080" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/09/Advanced-jQuery-background-image-slideshow.png" alt="" width="500" height="278" /></a></p>
<h2>9. <a href="http://workshop.rs/2009/12/image-gallery-with-fancy-transitions-effects/">jqFancyTransitions</a>, <a href="http://workshop.rs/projects/jqfancytransitions/">Demo</a></h2>
<p><a href="http://workshop.rs/2009/12/image-gallery-with-fancy-transitions-effects/"><img class="aligncenter size-full wp-image-26085" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/09/jqFancyTransitions.png" alt="" width="500" height="380" /></a></p>
<h2>10. <a href="http://www.littlewebthings.com/projects/blinds/">jQuery Blinds Slideshow using CSS Sprites</a></h2>
<p><a href="http://www.littlewebthings.com/projects/blinds/"><img class="aligncenter size-full wp-image-26086" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/09/jQuery-Blinds-Slideshow-using-CSS-Sprites.png" alt="" width="500" height="249" /></a></p>
<h2>11. <a href="http://jqueryglobe.com/article/multiple-image-cross-fade">Multiple Image Cross Fade</a>, <a href="http://jqueryglobe.com/labs/fading_images/">Demo</a></h2>
<p><a href="http://jqueryglobe.com/article/multiple-image-cross-fade"><img class="aligncenter size-full wp-image-26087" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/09/Multiple-Image-Cross-Fade.png" alt="" width="500" height="370" /></a></p>
<h2>12. <a href="http://devthought.com/projects/mootools/barackslideshow/">BarackSlideshow</a>, <a href="http://devthought.com/wp-content/projects/mootools/barackslideshow/Demo/">Demo</a></h2>
<p><a href="http://devthought.com/projects/mootools/barackslideshow/"><img class="aligncenter size-full wp-image-26089" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/09/BarackSlideshow.png" alt="" width="500" height="257" /></a></p>
<h2>13. <a href="http://blog.olicio.us/2009/07/25/floom/">Floom: Blinds-effect MooTools slideshow</a>, <a href="http://nouincolor.com/floom/1.1/Demos/">Demo</a></h2>
<p><a href="http://blog.olicio.us/2009/07/25/floom/"><img class="aligncenter size-full wp-image-26092" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/09/Floom-Blinds-effect-MooTools-slideshow.png" alt="" width="500" height="218" /></a></p>
<h2>14. <a href="http://jqueryglobe.com/article/slide-thumbs">Slide Thumbs</a>, <a href="http://jqueryglobe.com/labs/slide_thumbs/">Demo</a></h2>
<p><a href="http://jqueryglobe.com/article/slide-thumbs"><img class="aligncenter size-full wp-image-26093" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/09/Slide-Thumbs.png" alt="" width="500" height="477" /></a></p>
<h2>15. <a href="http://buildinternet.com/2010/02/animate-panning-slideshow-with-jquery/">Animate Panning Slideshow with jQuery</a>, <a href="http://s3.amazonaws.com/buildinternet/live-tutorials/panning-slideshow/panning-slideshow.htm">Demo</a></h2>
<p><a href="http://buildinternet.com/2010/02/animate-panning-slideshow-with-jquery/"><img class="aligncenter size-full wp-image-26094" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/09/Animate-Panning-Slideshow-with-jQuery.png" alt="" width="500" height="284" /></a></p>
<h2>16. <a href="http://www.dreamcss.com/2009/04/create-beautiful-jquery-sliders.html">Beautiful jQuery slider</a>, <a href="http://gadgetinspiration.com/blog/wp-content/uploads/jquery%20sliders/index.html">Demo</a></h2>
<p><a href="http://www.dreamcss.com/2009/04/create-beautiful-jquery-sliders.html"><img class="aligncenter size-full wp-image-26096" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/09/Beautiful-jQuery-slider.png" alt="" width="500" height="151" /></a></p>
<h2>17. <a href="http://www.openstudio.fr/jQuery-Multimedia-Portfolio.html?lang=en">jQuery Multimedia Portfolio</a>, <a href="http://www.openstudio.fr/jquery/">Demo</a></h2>
<p><a href="http://www.openstudio.fr/jQuery-Multimedia-Portfolio.html?lang=en"><img class="aligncenter size-full wp-image-26097" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/09/jQuery-Multimedia-Portfolio.png" alt="" width="500" height="158" /></a></p>
<h2>18. <a href="http://www.ndoherty.biz/tag/coda-slider/">Coda-Slider</a>, <a href="http://www.ndoherty.biz/demos/coda-slider/2.0/">Demo</a></h2>
<p><a href="http://www.ndoherty.biz/tag/coda-slider/"><img class="aligncenter size-full wp-image-26098" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/09/Coda-Slider.png" alt="" width="500" height="289" /></a></p>
<h2>19. <a href="http://jqueryfordesigners.com/slider-gallery/">Slider Gallery</a>, <a href="http://jqueryfordesigners.com/demo/slider-gallery.html">Demo</a></h2>
<p><a href="http://jqueryfordesigners.com/slider-gallery/"><img class="aligncenter size-full wp-image-26099" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/09/Slider-Gallery.png" alt="" width="500" height="160" /></a></p>
<h2>20. <a href="http://www.leigeber.com/2008/05/ultimate-javascript-scroller-and-slider/">Ultimate JavaScript Slider and Scroller</a>, <a href="http://sandbox.leigeber.com/contentslider/slider.html">Demo</a></h2>
<p><a href="http://www.leigeber.com/2008/05/ultimate-javascript-scroller-and-slider/"><img class="aligncenter size-full wp-image-26100" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/09/Ultimate-JavaScript-Slider-and-Scroller.png" alt="" width="500" height="262" /></a></p>
<h2>21. <a href="http://cssglobe.com/post/5780/easy-slider-17-numeric-navigation-jquery-slider">Easy Slider</a>, <a href="http://cssglobe.com/lab/easyslider1.7/01.html">Demo</a></h2>
<p><a href="http://cssglobe.com/post/5780/easy-slider-17-numeric-navigation-jquery-slider"><img class="aligncenter size-full wp-image-26101" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/09/Easy-Slider.png" alt="" width="500" height="173" /></a></p>
<h2>22. <a href="http://pikachoose.com/">Pikachoose</a>, <a href="http://pikachoose.com/demo/">Demo</a></h2>
<p><a href="http://pikachoose.com/"><img class="aligncenter size-full wp-image-26102" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/09/Pikachoose.png" alt="" width="500" height="431" /></a></p>
<h2>23. <a href="http://www.leigeber.com/2008/12/javascript-slideshow/">Animated JavaScript Slideshow</a>, <a href="http://sandbox.leigeber.com/javascript-slideshow/">Demo</a></h2>
<p><a href="http://www.leigeber.com/2008/12/javascript-slideshow/"><img class="aligncenter size-full wp-image-26103" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/09/Animated-JavaScript-Slideshow.png" alt="" width="500" height="403" /></a></p>
<h2>24. <a href="http://code.google.com/p/agile-carousel/">Agile Carousel</a>, <a href="http://www.agilecarousel.com/examples/multi_example">Demo</a></h2>
<p><a href="http://code.google.com/p/agile-carousel/"><img class="aligncenter size-full wp-image-26104" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/09/Agile-Carousel.png" alt="" width="500" height="172" /></a></p>
<h2>25. <a href="http://www.efectorelativo.net/laboratory/noobSlide/">noobSlide</a></h2>
<p><a href="http://www.efectorelativo.net/laboratory/noobSlide/"><img class="aligncenter size-full wp-image-26105" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/09/noobSlide.png" alt="" width="500" height="223" /></a></p>
<h2>26. <a href="http://www.dynamicdrive.com/dynamicindex2/sagscroller.htm">SAG Content Scroller</a></h2>
<p><a href="http://www.dynamicdrive.com/dynamicindex2/sagscroller.htm"><img class="aligncenter size-full wp-image-26196" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/09/SAG-Content-Scroller.png" alt="" width="500" height="288" /></a></p>
<h2>27. <a href="http://www.serie3.info/s3slider/">s3Slider</a>, <a href="http://www.serie3.info/s3slider/demonstration.html">Demo</a></h2>
<p><a href="http://www.serie3.info/s3slider/"><img class="aligncenter size-full wp-image-26197" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/09/s3Slider.png" alt="" width="500" height="208" /></a></p>
<h2>28. <a href="http://galleria.aino.se/">Galleria</a>, <a href="http://galleria.aino.se/media/galleria/demos/classic-02.html">Demo</a></h2>
<p><a href="http://galleria.aino.se/"><img class="aligncenter size-full wp-image-26199" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/09/Galleria.png" alt="" width="500" height="336" /></a></p>
<h2>29. <a href="http://medienfreunde.com/lab/innerfade/">InnerFade</a></h2>
<p><a href="http://medienfreunde.com/lab/innerfade/"><img class="aligncenter size-full wp-image-26200" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/09/InnerFade.png" alt="" width="500" height="175" /></a></p>
<h2>30. <a href="http://net.tutsplus.com/tutorials/javascript-ajax/making-a-content-slider-with-jquery-ui/">Content Slider with jQuery UI</a>, <a href="http://nettuts.s3.amazonaws.com/377_slider/slider_sourcefiles/slider.html">Demo</a></h2>
<p><a href="http://net.tutsplus.com/tutorials/javascript-ajax/making-a-content-slider-with-jquery-ui/"><img class="aligncenter size-full wp-image-26201" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/09/Content-Slider-with-jQuery-UI.png" alt="" width="500" height="316" /></a></p>
<h2>31. <a href="http://spaceforaname.com/galleryview">GalleryView</a>, <a href="http://spaceforaname.com/webcomics.html">Demo</a></h2>
<p><a href="http://spaceforaname.com/galleryview"><img class="aligncenter size-full wp-image-26202" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/09/GalleryView.png" alt="" width="500" height="492" /></a></p>
<h2>32. <a href="http://www.php-help.ro/mootools-12-javascript-examples/mootools-12-image-slider-slideitmoo/">SlideItMoo</a>, <a href="http://www.php-help.ro/examples/mootools_rotator/">Demo</a></h2>
<p><a href="http://www.php-help.ro/mootools-12-javascript-examples/mootools-12-image-slider-slideitmoo/"><img class="aligncenter size-full wp-image-26203" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/09/SlideItMoo.png" alt="" width="500" height="137" /></a></p>
<h2>33. <a href="http://flowplayer.org/tools/scrollable/index.html">jQuery Scrollable</a>, <a href="http://flowplayer.org/tools/demos/scrollable/site-navigation.html">Demo</a></h2>
<p><a href="http://flowplayer.org/tools/scrollable/index.html"><img class="aligncenter size-full wp-image-26204" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/09/jQuery-Scrollable.png" alt="" width="500" height="302" /></a></p>
<h2>34. <a href="http://www.htmldrive.net/items/show/348/Ultimate-JavaScript-Scroller-and-Slider.html">Ultimate JavaScript Scroller and Slider</a>, <a href="http://www.htmldrive.net/items/demo/348/Ultimate-JavaScript-Scroller-and-Slider">Demo</a></h2>
<p><a href="http://www.htmldrive.net/items/show/348/Ultimate-JavaScript-Scroller-and-Slider.html"><img class="aligncenter size-full wp-image-26205" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/09/Ultimate-JavaScript-Scroller-and-Slider.png" alt="" width="500" height="258" /></a></p>
<h2>35. <a href="http://css-tricks.com/moving-boxes/">Moving Boxes</a>, <a href="http://css-tricks.com/examples/MovingBoxes/">Demo</a></h2>
<p><a href="http://css-tricks.com/moving-boxes/"><img class="aligncenter size-full wp-image-26206" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/09/Moving-Boxes.png" alt="" width="500" height="208" /></a></p>
<h2>36. <a href="http://sorgalla.com/projects/jcarousel/.">jCarousel</a>, <a href="http://sorgalla.com/projects/jcarousel/examples/static_multiple.html">Demo</a></h2>
<p><a href="http://sorgalla.com/projects/jcarousel/"><img class="aligncenter size-full wp-image-26207" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/09/jCarousel.png" alt="" width="347" height="268" /></a></p>
<h2>37. <a href="http://css-tricks.com/creating-a-slick-auto-playing-featured-content-slider/">Slick Auto-Playing Featured Content Slider</a>, <a href="http://css-tricks.com/examples/FeaturedContentSlider/">Demo</a></h2>
<p><a href="http://css-tricks.com/creating-a-slick-auto-playing-featured-content-slider/"><img class="aligncenter size-full wp-image-26210" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/09/Slick-Auto-Playing-Featured-Content-Slider.png" alt="" width="495" height="404" /></a></p>
<h2>38. <a href="http://billwscott.com/carousel/">YUI Carousel component</a>, <a href="http://billwscott.com/carousel/two_carousels_ajax_load.html">Demo</a></h2>
<p><a href="http://billwscott.com/carousel/"><img class="aligncenter size-full wp-image-26251" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/09/YUI-Carousel-component.png" alt="" width="500" height="161" /></a></p>
<h2>39. <a href="http://css-tricks.com/anythingslider-jquery-plugin/">AnythingSlider</a>, <a href="http://css-tricks.com/examples/AnythingSlider/">Demo</a></h2>
<p><a href="http://css-tricks.com/anythingslider-jquery-plugin/"><img class="aligncenter size-full wp-image-26257" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/09/AnythingSlider.png" alt="" width="500" height="233" /></a></p>
<h2>40. <a href="http://css-tricks.com/startstop-slider/">Start/Stop Slider</a>, <a href="http://css-tricks.com/examples/StartStopSlider/">Demo</a></h2>
<p><a href="http://css-tricks.com/startstop-slider/"><img class="aligncenter size-full wp-image-26258" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/09/Start-Stop-Slider.png" alt="" width="500" height="122" /></a></p>
<h2>41. <a href="http://smoothgallery.jondesign.net/showcase/timed-gallery/">SmoothGallery</a></h2>
<p><a href="http://smoothgallery.jondesign.net/showcase/timed-gallery/"><img class="aligncenter size-full wp-image-26259" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/09/SmoothGallery.png" alt="" width="471" height="358" /></a></p>
<h2>42. <a href="http://www.electricprism.com/aeron/slideshow/">Slideshow 2</a></h2>
<p><a href="http://www.electricprism.com/aeron/slideshow/"><img class="aligncenter size-full wp-image-26260" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/09/Slideshow-2.png" alt="" width="500" height="473" /></a></p>
<h2>43. <a href="http://net.tutsplus.com/tutorials/html-css-techniques/how-to-create-a-simple-itunes-like-slider/">iTunes-esque slider with jQuery</a>, <a href="http://nettuts.s3.amazonaws.com/585_slider/demo/code.html">Demo</a></h2>
<p><a href="http://net.tutsplus.com/tutorials/html-css-techniques/how-to-create-a-simple-itunes-like-slider/"><img class="aligncenter size-full wp-image-26261" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/09/iTunes-esque-slider-with-jQuery.png" alt="" width="500" height="200" /></a></p>
<h2>44. <a href="http://sixrevisions.com/tutorials/javascript_tutorial/create-a-slick-and-accessible-slideshow-using-jquery/">Slick and Accessible Slideshow Using jQuery</a>, <a href="http://sixrevisions.com/demo/slideshow/final.html">Demo</a></h2>
<p><a href="http://sixrevisions.com/tutorials/javascript_tutorial/create-a-slick-and-accessible-slideshow-using-jquery/"><img class="aligncenter size-full wp-image-26263" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/09/Slick-and-Accessible-Slideshow-Using-jQuery.png" alt="" width="500" height="202" /></a></p>
<h2>45. <a href="http://tutorialzine.com/2009/11/beautiful-apple-gallery-slideshow/">A Beautiful Apple-style Slideshow Gallery</a>, <a href="http://demo.tutorialzine.com/2009/11/beautiful-apple-gallery-slideshow/demo.html">Demo</a></h2>
<p><a href="http://tutorialzine.com/2009/11/beautiful-apple-gallery-slideshow/"><img class="aligncenter size-full wp-image-26264" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/09/A-Beautiful-Apple-style-Slideshow-Gallery.png" alt="" width="500" height="245" /></a></p>
<h2>46. <a href="http://tutorialzine.com/2009/10/slick-content-slider-jquery/">A Slick Content Slider</a>, <a href="http://demo.tutorialzine.com/2009/10/slick-content-slider-jquery/demo.php">Demo</a></h2>
<p><a href="http://tutorialzine.com/2009/10/slick-content-slider-jquery/"><img class="aligncenter size-full wp-image-26267" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/09/A-Slick-Content-Slider.png" alt="" width="500" height="132" /></a></p>
<p>Let us know if we have missed some thing awesome and we will be happy to update the article.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.1stwebdesigner.com/freebies/javascript-sliders-scrollers/feed/</wfw:commentRss>
		<slash:comments>27</slash:comments>
		</item>
		<item>
		<title>Creating an Interactive Travel Map using the Google Maps API</title>
		<link>http://www.1stwebdesigner.com/tutorials/interactive-travel-map-google-maps-api/</link>
		<comments>http://www.1stwebdesigner.com/tutorials/interactive-travel-map-google-maps-api/#comments</comments>
		<pubDate>Mon, 20 Sep 2010 10:00:29 +0000</pubDate>
		<dc:creator>Irina Borozan</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[travel map]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.1stwebdesigner.com/?p=25686</guid>
		<description><![CDATA[This is my third tutorial on the Google Maps API v3. I’m going to show you how to use some other google maps features by building an interactive travel map. Everyone will be able to add new locations on the map and view the locations added by others. We will also be using MySQL databases [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.1stwebdesigner.com/tutorials/interactive-travel-map-google-maps-api/"><img class="alignleft size-full wp-image-25687" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/09/interactive-travel-map-google-maps-api.jpg" alt="" width="150" height="150" /></a>This is my third tutorial on the <a href="http://code.google.com/apis/maps/documentation/javascript/" target="_blank">Google Maps API v3</a>. I’m going to show you how to use some other google maps features by building an interactive travel map. Everyone will be able to add new locations on the map and view the locations added by others. We will also be using MySQL databases to store the values of different locations so let&#8217;s get started. <span id="more-25686"></span></p>
<p><strong>What google maps features you’ll learn?</strong></p>
<ul>
<li> Adding a map to your site</li>
<li> Adding controls for the map and settings the options for the controls</li>
<li> Responding to events</li>
<li> Adding markers, settings options for markers and dynamically changing marker settings</li>
<li> Geocoding a location</li>
<li> Creating tabbed infowindows (using <a href="http://jquery.com/" target="_blank">jquery</a>, <a href="http://jqueryui.com/" target="_blank">jquery ui </a> and some <a href="http://code.google.com/p/gmaps-samples-v3/source/browse/trunk/infowindow/tabs.html?r=78" target="_blank">sample code</a> from google code)</li>
</ul>
<p><strong>Prerequisites</strong></p>
<p>The application is built using html, php and javascript and also saves the locations in a mysql database. It would be best if you had some basic knowledge of these.</p>
<p><strong>What are we going to build?</strong></p>
<p>We’re going to build an interactive travel map. Everyone will be able to see the locations on the map and also add new ones easily. We’ll save some info about each location (coordinates, address, a description, a photo and data about the person who added the location). Users will be able to add locations by clicking on the map to find out the coordinates and address and by filling in the rest of the info. The users will also be able to view all the locations from the database. For viewing them easier, we’ll add a location list the user can browse and we will highlight a location on the map when the user goes with the mouse pointer over the location name.</p>
<p>You can view the app <a href="http://www.aniri.ro/tutorial-travelmap/" target="_blank">here</a>! And also download the source code <a href="http://www.aniri.ro/tutorial-travelmap/travel-map-source-code.zip" target="_blank">from here</a>.</p>
<p><strong>Creating the database table</strong></p>
<p>First we have to create a table in our database to save the data about the locations on the map. We’ll save the following data about each location:</p>
<ul>
<li>A name</li>
<li>A description</li>
<li>A photo</li>
<li>Coordinates: latitude and longitude</li>
<li>Address</li>
<li>Info about the user who added the location: name and location</li>
</ul>
<p>Here’s how the code for creating the table looks like:</p>
<pre class="brush: sql; title: ; notranslate">CREATE TABLE IF NOT EXISTS `locations` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` text NOT NULL,
`description` text NOT NULL,
`photo` text NOT NULL,
`latitude` double NOT NULL,
`longitude` double NOT NULL,
`address` text NOT NULL,
`user_name` text NOT NULL,
`user_location` text NOT NULL,
PRIMARY KEY (`id`));</pre>
<p><strong>Creating the layout for our app</strong></p>
<p>We’ll use a simple layout. We’ll show a title and some info about our app at the top of the page. Below that we’ll add three columns, one for adding locations (with a form for adding new locations), one for the map (a div called &#8216;map_canvas&#8217;) and one for the locations list.</p>
<p>Since the code is pretty long I&#8217;ve decided not to post it here, but you can see it in the source code of the app.</p>
<p><strong>Connecting to the database and getting the info about the locations</strong></p>
<p>To get the data from the database we’ll first have to connect to it. We’ll create a small php script for this and save it in the &#8216;connect.php&#8217; file. The script looks like this:</p>
<pre class="brush: php; title: ; notranslate">$server = &quot;WRITE_SERVER_NAME_HERE&quot;;
$username = &quot;WRITE_USERNAME_HERE&quot;;
$password = &quot;WRITE_PASSWORD_HERE&quot;;
$database = &quot;WRITE_DATABASE_NAME_HERE&quot;;
$connId = mysql_connect($server,$username,$password) or die(&quot;Cannot connect to server&quot;);
$selectDb = mysql_select_db($database,$connId) or die(&quot;Cannot connect to database&quot;);</pre>
<p>Don’t forget to fill in your data!</p>
<p>We’ll include this script in our main file and the database connection is done! We’ll add the following lines at the beginning of our main file:</p>
<pre class="brush: php; title: ; notranslate">&lt;?php
include &quot;connect.php&quot;;
?&gt;</pre>
<p>Now we need to find out the number of locations and the information about all the locations in the database.</p>
<p>Here’s how:</p>
<pre class="brush: php; title: ; notranslate">
$locations = mysql_query(&quot;select * from locations&quot;);
$nr_locations = mysql_num_rows($locations);
</pre>
<p>We have done a simple query to the database and retrieved the info about the locations in the $locations variable. We have also found out the total number of saved locations. We will print this in the text we&#8217;ll show on top of our page:</p>
<pre class="brush: php; title: ; notranslate">Click on the map to add a new location! Total locations added: &lt;?php echo $nr_locations;?&gt;</pre>
<p>We also have to print the location list, like this:</p>
<pre class="brush: php; title: ; notranslate">&lt;?php
// find locations from db
// save data for locations
$lats = &quot;&quot;;          // string with latitude values
$lngs = &quot;&quot;;          // string with longitude values
$addresses = &quot;&quot;;     // string with address values
$names = &quot;&quot;;         // string with names
$descrs = &quot;&quot;;        // string with descriptions
$photos = &quot;&quot;;        // string with photo names
$user_names = &quot;&quot;;    // string with user names
$user_locs = &quot;&quot;;     // string with user locations
$i=0;
// take the locations from the db one by one
while ($locat = mysql_fetch_array($locations))
{
  // add location data to info strings
  $lats .= $locat['latitude'].&quot;;;&quot;;
  $lngs .= $locat['longitude'].&quot;;;&quot;;
  $addresses .= $locat['address'].&quot;;;&quot;;
  $names .= $locat['name'].&quot;;;&quot;;
  $descrs .= $locat['description'].&quot;;;&quot;;
  $photos .= $locat['photo'].&quot;;;&quot;;
  $user_names .= $locat['user_name'].&quot;;;&quot;;
  $user_locs .= $locat['user_location'].&quot;;;&quot;;
  // show the location name in the right of the map with link that calls the highlightMarker function
?&gt;
&lt;a onmouseover=&quot;highlightMarker(&lt;?php echo $i;?&gt;)&quot;&gt;&lt;?php echo $locat['name'];?&gt;&lt;/a&gt; &lt;br/&gt;
&lt;?php
  $i++;
}
// hidden inputs for saving the info for all the locations in the db
?&gt;
&lt;input type=&quot;hidden&quot; value=&quot;&lt;?php echo $lats;?&gt;&quot; id=&quot;lats&quot; name=&quot;lats&quot;/&gt;
&lt;input type=&quot;hidden&quot; value=&quot;&lt;?php echo $lngs;?&gt;&quot; id=&quot;lngs&quot; name=&quot;lngs&quot;/&gt;
&lt;input type=&quot;hidden&quot; value=&quot;&lt;?php echo $addresses;?&gt;&quot; id=&quot;addresses&quot; name=&quot;addresses&quot;/&gt;
&lt;input type=&quot;hidden&quot; value=&quot;&lt;?php echo $names;?&gt;&quot; id=&quot;names&quot; name=&quot;names&quot;/&gt;
&lt;input type=&quot;hidden&quot; value=&quot;&lt;?php echo $descrs;?&gt;&quot; id=&quot;descrs&quot; name=&quot;descrs&quot;/&gt;
&lt;input type=&quot;hidden&quot; value=&quot;&lt;?php echo $photos;?&gt;&quot; id=&quot;photos&quot; name=&quot;photos&quot;/&gt;
&lt;input type=&quot;hidden&quot; value=&quot;&lt;?php echo $user_names;?&gt;&quot; id=&quot;user_names&quot; name=&quot;user_names&quot;/&gt;
&lt;input type=&quot;hidden&quot; value=&quot;&lt;?php echo $user_locs;?&gt;&quot; id=&quot;user_locs&quot; name=&quot;user_locs&quot;/&gt;</pre>
<p>We have shown the location names as links. When the user goes with the mouse over the links, the highlightMarker JavaScript function is called. We’ll take a look at it a bit later.</p>
<p>We have also saved the information about the locations in hidden input fields. We will use the info from the hidden fields to show the locations on the map.</p>
<p><strong>Showing the map</strong></p>
<p>To add the map we will first have to include the google maps api, like so:</p>
<pre class="brush: jscript; title: ; notranslate">&lt;script src=&quot;http://maps.google.com/maps/api/js?sensor=true&quot;&gt;&lt;/script&gt;</pre>
<p>Now, we’ll define a javascript function called initialize to show the map in the div created for it. We will call this function after the page is loaded.</p>
<p>Here’s how to call the function when the page loads:</p>
<pre class="brush: xml; title: ; notranslate">&lt;body onload=&quot;initialize();&quot;&gt;</pre>
<p>And here’s the function code:</p>
<pre class="brush: jscript; title: ; notranslate">&lt;script&gt;
var geocoder;
var map;
// initializing the map
function initialize()
{
  // define map center
  var latlng = new google.maps.LatLng(57.279043,29.355469);
  // define map options
  var myOptions =
  {
    zoom: 3,
    center: latlng,
    mapTypeId: google.maps.MapTypeId.HYBRID,
    scaleControl: true,
    navigationControl: true,
    navigationControlOptions: {
      style: google.maps.NavigationControlStyle.SMALL
    },
    mapTypeControl: true,
    mapTypeControlOptions: {
      style: google.maps.MapTypeControlStyle.DROPDOWN_MENU
    }
  };
  // initialize map
  map = new google.maps.Map(document.getElementById(&quot;map_canvas&quot;), myOptions);
  // add event listener for when a user clicks on the map
  google.maps.event.addListener(map, 'click', function(event) {
    findAddress(event.latLng);
  });
}
&lt;/script&gt;</pre>
<p>To create a map, we first have to define the options for showing the map. We have set the zoom level, the center of the map. Next, we have set the controls to show on the map: scale control, navigation and map type and we have defined some options for it. We have chosen to show a small navigation control and to show the map type control as a drop down menu. You can view all the options available for controls in the <a href="http://code.google.com/apis/maps/documentation/javascript/reference.html#MapTypeControlOptions" target="_blank">API reference</a>.</p>
<p>Then, we initialize the map object and add an event for when the user clicks on the map. When this event is fired, the findAddress function will be called. The function takes as an argument the coordinates of the point where the user clicked on the map.</p>
<pre class="brush: jscript; title: ; notranslate">// finds the address for the given location
function findAddress(loc)
{
  geocoder = new google.maps.Geocoder();
  if (geocoder)
  {
  geocoder.geocode({'latLng': loc}, function(results, status)
  {
    if (status == google.maps.GeocoderStatus.OK)
    {
      if (results[0])
      {
        address = results[0].formatted_address;
        // fill in the results in the form
        document.getElementById('lat').value = loc.lat();
        document.getElementById('long').value = loc.lng();
        document.getElementById('address').value = address;
      }
  }
  else
  {
    alert(&quot;Geocoder failed due to: &quot; + status);
  }
  });
  }
}</pre>
<p>This function uses the geocoding service from google maps to find the address corresponding to the coordinates where the user clicked on the map. When the function get the results from google, it shows the results in our form:</p>
<pre class="brush: jscript; title: ; notranslate">// fill in the results in the form
document.getElementById('lat').value = loc.lat();
document.getElementById('long').value = loc.lng();
document.getElementById('address').value = address;</pre>
<p>The user will just have to fill in the rest of the data to add a new location. I&#8217;ve not included here the php code to add the location to the database. You can see that in the source code!</p>
<p><strong>Showing the markers</strong></p>
<p>We will also have to show the locations on the map when it loads. We will call one more function when the page loads:</p>
<pre class="brush: xml; title: ; notranslate">&lt;body onload=&quot;initialize(); addMarkers()&quot;&gt;</pre>
<p>Let’s see how the function looks like:</p>
<pre class="brush: jscript; title: ; notranslate">// initialize the array of markers
var markers = new Array();
// the function that adds the markers to the map
function addMarkers()
{
  // get the values for the markers from the hidden elements in the form
  var lats = document.getElementById('lats').value;
  var lngs = document.getElementById('lngs').value;
  var addresses = document.getElementById('addresses').value;
  var names = document.getElementById('names').value;
  var descrs = document.getElementById('descrs').value;
  var photos = document.getElementById('photos').value;
  var user_names = document.getElementById('user_names').value;
  var user_locs = document.getElementById('user_locs').value;
  var las = lats.split(&quot;;;&quot;)
  var lgs = lngs.split(&quot;;;&quot;)
  var ads = addresses.split(&quot;;;&quot;)
  var nms = names.split(&quot;;;&quot;)
  var dss = descrs.split(&quot;;;&quot;)
  var phs = photos.split(&quot;;;&quot;)
  var usrn = user_names.split(&quot;;;&quot;)
  var usrl = user_locs.split(&quot;;;&quot;)
  // for every location, create a new marker and infowindow for it
  for (i=0; i&lt;las.length; i++)
  {
  if (las[i] != &quot;&quot;)
  {
    // add marker
    var loc = new google.maps.LatLng(las[i],lgs[i]);
    var marker = new google.maps.Marker({
      position: loc,
      map: window.map,
      title: nms[i]
    });
    markers[i] = marker;
    var contentString = [
      '&lt;div&gt;',
      '&lt;ul&gt;',
      '&lt;li&gt;&lt;a href=&quot;#tab-1&quot;&gt;&lt;span&gt;photo&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;',
      '&lt;li&gt;&lt;a href=&quot;#tab-2&quot;&gt;&lt;span&gt;description&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;',
      '&lt;li&gt;&lt;a href=&quot;#tab-3&quot;&gt;&lt;span&gt;location&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;',
      '&lt;/ul&gt;',
      '&lt;div&gt;',
      '&lt;p&gt;&lt;h1&gt;'+nms[i]+'&lt;/h1&gt;&lt;/p&gt;',
      '&lt;p&gt;&lt;img src=&quot;./photos/'+phs[i]+'&quot;/&gt;&lt;/p&gt;'+
      '&lt;/div&gt;',
      '&lt;div&gt;',
      '&lt;p&gt;&lt;h1&gt;'+nms[i]+'&lt;/h1&gt;&lt;/p&gt;',
      '&lt;p&gt;Added by: '+usrn[i]+' from '+usrl[i]+'&lt;/p&gt;'+
      '&lt;p&gt;'+dss[i]+'&lt;/p&gt;'+
      '&lt;/div&gt;',
      '&lt;div&gt;',
      '&lt;p&gt;&lt;h1&gt;'+nms[i]+'&lt;/h1&gt;&lt;/p&gt;',
      '&lt;p&gt;Address: '+ads[i]+'&lt;/p&gt;'+
      '&lt;p&gt;Location: '+loc+'&lt;/p&gt;'+
      '&lt;/div&gt;',
      '&lt;/div&gt;'
      ].join('');
    var infowindow = new google.maps.InfoWindow;
    bindInfoWindow(marker, window.map, infowindow, contentString);
  }
  }
}
// make conection between infowindow and marker (the infowindow shows up when the user goes with the mouse over the marker)
function bindInfoWindow(marker, map, infoWindow, contentString)
{
  google.maps.event.addListener(marker, 'mouseover', function() {
    map.setCenter(marker.getPosition());
    infoWindow.setContent(contentString);
    infoWindow.open(map, marker);
    $(&quot;#tabs&quot;).tabs();
  });
}</pre>
<p>We will also save the markers in an array.</p>
<p>We will take the information about the locations from the hidden input fields we have created earlier. We will create a new marker for each of the locations. The title of the marker will be the location name. We’ll also create some infowindows to show when the user goes with the mouse over the markers. As you can see, we have used another function to bind each marker to its infowindow. We’ve also centered the map on the marker when the user goes with the mouse over it.</p>
<p>To show the information about the markers in the infowindow nicely, I have decided to use some sample code I found <a href="http://code.google.com/p/gmaps-samples-v3/source/browse/trunk/infowindow/tabs.html?r=78" target="_blank">here</a>. It uses jquery and jqueryui. We will also have to include these for the script to work:</p>
<pre class="brush: jscript; title: ; notranslate">&lt;script src=&quot;jquery-1.4.2.min.js&quot;&gt;&lt;/script&gt;
&lt;script src=&quot;jquery-ui-1.8rc3.custom.min.js&quot;&gt;&lt;/script&gt;
&lt;link href=&quot;jquery-ui-1.8rc3.custom.css&quot; rel=&quot;stylesheet&quot; /&gt;</pre>
<p>And we’re almost done!</p>
<p>All there’s left to do now is the highlightMarker function, the one called when the users goes with the mouse pointer over a location name in the location list. Let’s take a look at the function:</p>
<pre class="brush: jscript; title: ; notranslate">// highlighting a marker
// make the marker show on top of the others
// change the selected markers icon
function highlightMarker(index)
{
  // change zindex and icon
  for (i=0; i&lt;markers.length; i++)
  {
    if (i == index)
    {
      markers[i].setZIndex(10);
      markers[i].setIcon('http://www.google.com/mapfiles/arrow.png');
    }
    else
    {
      markers[i].setZIndex(2);
      markers[i].setIcon('http://www.google.com/mapfiles/marker.png');
    }
  }
}</pre>
<p>The function takes as an argument the index of the marker in the markers array we have created.  The highlightMarker function will make the selected marker show up on top of the other markers and change its icon. To make the marker on top of the others, we have to change the zIndex value of the marker.  The marker with the biggest value will show on top. We have set the selected markers value to 10 and the values of the rest of them to 2 (using the setZIndex function). We have also changed the icon of the marker with the setIcon function.</p>
<p>You might have noticed I also added a small javascript function to check if the user filled in all the information from the add form. The function is called when the form is submitted. It just checks the values filled in the form and if one of them is missing, it will show and error message and prevent the form from submitting.</p>
<p>And that’s it! We now have an interactive travel map!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.1stwebdesigner.com/tutorials/interactive-travel-map-google-maps-api/feed/</wfw:commentRss>
		<slash:comments>51</slash:comments>
		</item>
		<item>
		<title>How to: Integrating Facebook in your Website</title>
		<link>http://www.1stwebdesigner.com/tutorials/facebook-integrate/</link>
		<comments>http://www.1stwebdesigner.com/tutorials/facebook-integrate/#comments</comments>
		<pubDate>Wed, 15 Sep 2010 10:00:09 +0000</pubDate>
		<dc:creator>Irina Borozan</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[FaceBook]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.1stwebdesigner.com/?p=24609</guid>
		<description><![CDATA[The Facebook JavaScript SDK, the one we will be using for our app, enables us to access all of the features of the Graph API via JavaScript, and it provides a rich set of features like authentication and sharing. In this tutorial I’ll show you how to use this SDK in your site. I’ll show [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.1stwebdesigner.com/tutorials/facebook-integrate/" target="_self"><img class="alignleft size-full wp-image-24614" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/09/how-to-integrate-facebook-in-your-site.png" alt="" width="150" height="150" /></a>The <a href="http://developers.facebook.com/docs/reference/javascript/" target="_blank">Facebook JavaScript SDK</a>, the one we will be using for our app, enables us to access all of the features of the Graph API via JavaScript, and it provides a rich set of features like authentication and sharing. In this tutorial I’ll show you how to use this SDK in your site. I’ll show you how to add some features to an application we built-in my previous tutorials, the distance finder (<a href="http://www.1stwebdesigner.com/tutorials/distance-finder-google-maps-api/" target="_blank">part1</a> of the tutorial, <a href="http://www.1stwebdesigner.com/tutorials/distance-finder-google-maps-2/" target="_blank">part2</a>). As you might remember, we’ve also added twitter @anywhere features to the app (<a href="http://www.1stwebdesigner.com/tutorials/connect-twitter-anywhere/" target="_blank">the tutorial</a>), now it’s time to add Facebook as well!<span id="more-24609"></span></p>
<p><strong>What are we going to build?</strong></p>
<p>We already have a distance finder, an app the uses the google maps api to find the distance and route between two locations. The results of the search can be shared on twitter. In this tutorial, I’ll show you how to share your results on Facebook!</p>
<p>You can check out the demo <a href="http://www.aniri.ro/distancefinder/integrate-facebook-distance-finder-part-4.php" target="_blank">here</a>, and also download the <a href="http://www.aniri.ro/distancefinder/integrate-facebook-distance-finder-part-4.zip" target="_blank">source code</a>.</p>
<p><strong>Prerequisites</strong></p>
<p>To be able to use the Facebook JavaScript SDK, we will need an application ID. To get one, we have to register a new app. We can do this <a href="http://www.facebook.com/developers/createapp.php" target="_blank">here</a>. We will need to fill in the following info correctly to be able to use our new app:</p>
<ul>
<li>in the ‘website’ tab, at ‘site url’ we must write  the url where the app will be stored</li>
<li>in the ‘facebook integration’ tab, we must fill in ‘Canvas URL’, also our app’s url</li>
</ul>
<p>A Facebook page will be generated for our app, <a href="http://www.facebook.com/#!/apps/application.php?id=149068551791386" target="_blank">here it is</a>. We can personalize that by adding a description, a photo, etc.</p>
<p>When a user will post on his wall from an app, Facebook will write the name of the app which was used to post that message. When someone clicks on that link, they will be sent to the app’s page.</p>
<p>Our app’s page will also have a ‘Like’ button, if people click it, we will know who liked our app. I will also show you how to add a similar like button on the site, a button that will be connected to our app’s Facebook page.</p>
<p><strong>Changes to the previous version of our app</strong></p>
<p>In this tutorial I will only explain the Facebook related changes we made to our app. If you have questions regarding the rest of the code, check out the previous tutorials or drop me a message.</p>
<p><strong>Including the script</strong></p>
<p>To use the JavaScript Facebook SDK, we will first have to load the SDK in our site. We will do this asynchronously so it does not block loading other elements of our site. We have to add the following code after the  tag:</p>
<pre class="brush: jscript; title: ; notranslate">
&lt;div id=&quot;fb-root&quot;&gt;&lt;/div&gt;
&lt;script type=&quot;text/&lt;span class=&quot;&gt;&lt;!--mce:0--&gt;&lt;/script&gt;
window.fbAsyncInit = function() {
   FB.init({appId: 'ADD_APP_ID_HERE', status: true, cookie: true, xfbml: true});
};
(function() {
   var e = document.createElement('script');
   e.type = 'text/javascript';
   e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
   e.async = true;
   document.getElementById('fb-root').appendChild(e);
}());
&lt;/script&gt;
</pre>
<p>Don’t forget to fill in the API key!</p>
<p><strong>What are we going to do with the script?</strong></p>
<p>We are going to give our users to possibility to login to Facebook directly from our app and post their search results there.</p>
<p>We will first add a Facebook login button. Here’s the code from Facebook to add such a button:</p>
<pre class="brush: jscript; title: ; notranslate">
&lt;fb:login-button autologoutlink='true'  perms='email,user_birthday,status_update,publish_stream'&gt;&lt;/fb:login-button&gt;
</pre>
<p>We will then have to register the login and logout events and also add a function to check if the user is logged in (when someone visits our site). We will add the following lines to the fbAsyncInit function:</p>
<pre class="brush: jscript; title: ; notranslate">
FB.Event.subscribe('auth.login', function(response) {
   login();
});
FB.Event.subscribe('auth.logout', function(response) {
   logout();
});
FB.getLoginStatus(function(response) {
   if (response.session) {
      greet();
   }
});
</pre>
<p>We have added an event for when a user logs in the Facebook from our app, when they do, the login() function will be called.</p>
<p>When the user logs out, we’ll call the logout() function.</p>
<p>We’ve also added a function for checking the user status: getLoginStatus(). This will be called when the SDK is loaded, to check if the user is already logged in their Facebook account. The text on the Facebook button we added will change from “Login” to “Facebook logout” according to the user’s status. The greet() function will be called when the user is already logged in. Let’s see how the login (), logout() and greet() functions look like:</p>
<pre class="brush: jscript; title: ; notranslate">
function login(){
   FB.api('/me', function(response) {
      alert('You have successfully logged in, '+response.name+&quot;!&quot;);
   });
}
function logout(){
   alert('You have successfully logged out!');
}
function greet(){
   FB.api('/me', function(response) {
      alert('Welcome, '+response.name+&quot;!&quot;);
   });
}
</pre>
<p>The login function saves the user’s name from the response it got from facebook and displays a message on the screen. The logout and greet button are also just used to show messages on the screen.</p>
<p>After adding these, our user will be able to log in to their facebook account directly from our app! If the user is logged in their facebook account when they visit our app, they will be greeted.</p>
<p>Now let’s see how to help them share their search results!</p>
<p><strong>Adding the share box</strong></p>
<p>We will add a comment box similar to the one added for twitter, next to that one.</p>
<p>In the continueShowRoute() function we will add some more code, to also add a facebook comment box to our ‘share’ div:</p>
<pre class="brush: jscript; title: ; notranslate">
var twitter = &quot;&lt;div class='comments' style='display: inline-block;'&gt;&lt;/div&gt;&quot;;
var facebook = &quot;&quot;;
document.getElementById(&quot;share&quot;).innerHTML = twitter+&quot; &quot;+facebook;
</pre>
<p>As you remember, we used the share_twitter() function to create the link to share and show the comment box with the message. We will be adding there the code to also show the facebook box.</p>
<pre class="brush: jscript; title: ; notranslate">var code = &quot;&lt;span style=&quot;font-size: large;&quot;&gt;Share with your facebook friends!&lt;/span&gt;&quot;;
code += &quot;

&lt;input id=&quot;status&quot; size=&quot;60&quot; type=&quot;text&quot; value=&quot; My search on &lt;span class=&amp;quot;hiddenSpellError&amp;quot; pre=&amp;quot;on &amp;quot;&gt;distancefinder&lt;/span&gt;: &amp;quot;+response+&amp;quot;&quot; /&gt;&quot;;
code += &quot;&lt;br/&gt;&lt;a href='#' onclick='setStatus(); return false;'&gt;Share!&lt;/a&gt;&quot;;
document.getElementById('facebook').innerHTML = code;
</pre>
<p>The facebook box will have an input field with the text and link to be shared and a ‘Share!’ link. As you can see, when the users click on the ‘Share!’ link, the setStatus() function will be called. Let’s see what it does:</p>
<pre class="brush: jscript; title: ; notranslate">
function setStatus(){
   // check if user is logged in:
   FB.getLoginStatus(function(response) {
      if (response.session) {
         new_status = document.getElementById('status').value;
         FB.api(
         {
            method: 'status.set',
            status: new_status
         },
         function(response) {
            if (response == 0){
               alert('Your facebook status was not updated.');
            }
            else{
               alert('Your facebook status was updated');
            }
         }
     );
     } else {
        alert('please log in first :)');
     }
   });
}
</pre>
<p>It first checks if the user is logged in. For this, it uses the getLoginStatus() function from the javascript SDK. If the user is not logged in, we’ll show a message informing them that they must login in order to share the search results.</p>
<p>If the user is logged in, we get the message to share from the input field called ‘status’, and use the status.set method from the SDK to set the user’s status to the new value. After setting the status, we will show a message to the user.</p>
<p>And that’s it! Our users can now share their search results on facebook!</p>
<p><strong>Adding the ‘Like’ box</strong></p>
<p>You might have noticed there’s a like box in our app, below the map. It shows the users that have liked our facebook app. To add one of those, all you have to do is go to the app profile page, at the “get started” tab. There you will find a link to create a like box. You can choose some options for your box and facebook will generate the code for you. The code for the box from our app looks like this:</p>
<pre class="brush: jscript; title: ; notranslate">
&lt;fb:like-box profile_id=&quot;APP_ID_IS_HERE&quot; stream=&quot;false&quot; header=&quot;false&quot;&gt;&lt;/fb:like-box&gt;
</pre>
<p>It really simple, isn’t it?</p>
<p>I hope you enjoyed this tutorial and don’t hesitate to ask if you have any questions.</p>
<p><strong>Warning</strong></p>
<p><strong><span style="font-weight: normal;">This might not work well with internet explorer. I&#8217;ve tested with chrome, firefox and opera and it works great on those!</span></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.1stwebdesigner.com/tutorials/facebook-integrate/feed/</wfw:commentRss>
		<slash:comments>46</slash:comments>
		</item>
		<item>
		<title>30 Brilliant examples of JavaScript and HTML5 Uses</title>
		<link>http://www.1stwebdesigner.com/freebies/examples-html5-javascript-uses/</link>
		<comments>http://www.1stwebdesigner.com/freebies/examples-html5-javascript-uses/#comments</comments>
		<pubDate>Wed, 08 Sep 2010 21:00:20 +0000</pubDate>
		<dc:creator>DarrenM</dc:creator>
				<category><![CDATA[Freebies]]></category>
		<category><![CDATA[addons]]></category>
		<category><![CDATA[bookmarklets]]></category>
		<category><![CDATA[games]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[user Scripts]]></category>

		<guid isPermaLink="false">http://www.1stwebdesigner.com/?p=24065</guid>
		<description><![CDATA[JavaScript is something I have been planning to start learning properly for the last few months.To really motivate me, I thought it would be a good idea to look into some interesting uses of the language. I thought I’d share these interesting uses with you in this post. Though none of these examples are really [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.1stwebdesigner.com/resources/examples-html5-javascript-uses/"><img class="alignleft size-full wp-image-24568" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/09/js-thumb.jpg" alt="" width="150" height="150" /></a>JavaScript is something I have been planning to start learning properly for the last few months.To really motivate me, I thought it would be a good idea to look into some interesting uses of the language. I thought I’d share these interesting uses with you in this post. Though none of these examples are really JavaScript only, most put HTML and CSS, to be more exact HTML5, and possibly  a few different languages and APIs.<span id="more-24065"></span></p>
<h1>Games</h1>
<p>JavaScript is proving itself  as an extremely powerful language with browser games,  developers are able to make games using JavaScript that are on par with flash games.</p>
<h2><a href="http://code.google.com/p/quake2-gwt-port/">Quake II GWT Port</a></h2>
</p>
<h2><a href="http://htmlchess.sourceforge.net/demo/example.html">HTML5 Chess Game</a></h2>
<p><img class="aligncenter size-full wp-image-24067" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/09/chess.jpg" alt="" width="570" height="387" /></p>
<h2><a href="http://www.kesiev.com/akihabara/">Akihabara CapMan</a></h2>
<p><img class="aligncenter size-full wp-image-24068" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/09/capman.jpg" alt="" width="570" height="314" /></p>
<h2><a href="http://www.kesiev.com/akihabara/demo/game-akibahero.html">Akiba Hero</a></h2>
<p><img class="aligncenter size-full wp-image-24069" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/09/hero.jpg" alt="" width="570" height="357" /></p>
<h2><a href="http://www.inmensia.com/files/minesweeper1.0.html">Minesweeper</a></h2>
<p><img class="aligncenter size-full wp-image-24070" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/09/minesweeper.jpg" alt="" width="570" height="313" /></p>
<h1>User Interface</h1>
<p>UI is probably what JavaScript is best known for, whether is adding Animation to a site, or Form Validation</p>
<h2><a href="https://mail.google.com/mail">Gmail</a></h2>
<p><img class="aligncenter size-full wp-image-24072" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/09/gmail.jpg" alt="" width="570" height="326" /></p>
<p>Everytime you check your inbox using the refresh button, you’re saving time not needing to fully reload the whole site. This is thanks to AJAX, which JavaScript plays a big part in.</p>
<h2><a href="http://google.com">Google Homepage</a></h2>
<p><img class="aligncenter size-full wp-image-24074" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/09/google.jpg" alt="" width="570" height="299" /></p>
<p>When Google’s homepage is first loaded, a clean minimalist design is loaded, showing nothing but the Google logo, and the search box. By using JavaScript Google has cleaned up their homepage even more than before. The Gmail links etc are displayed with a movement of the mouse.</p>
<h2><a href="http://www.andrewsellick.com/35/sexy-sliding-javascript-side-bar-menu-using-mootools">Sexy sliding JavaScript side bar menu using mootools</a></h2>
<p><img class="aligncenter size-full wp-image-24075" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/09/side-bar.jpg" alt="" width="447" height="261" /></p>
<h2><a href="http://buildinternet.com/2009/03/sliding-boxes-and-captions-with-jquery/">Sliding Boxes and Captions with jQuery</a></h2>
<p><img class="aligncenter size-full wp-image-24076" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/09/slider.jpg" alt="" width="570" height="238" /></p>
<h2><a href="http://www.sohtanaka.com/web-design/fancy-thumbnail-hover-effect-w-jquery/">Fancy Thumbnail Hover Effect</a></h2>
<p><img class="aligncenter size-full wp-image-24088" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/09/preview.jpg" alt="" width="575" height="247" /></p>
<h2><a href="http://www.swfir.com/">Swfir</a></h2>
<p><img class="aligncenter size-full wp-image-24077" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/09/swfir.jpg" alt="" width="570" height="298" /></p>
<p>swfIR (swf Image Replacement) uses a combination of JavaScript and Flash to apply an assortment of visual effects to any or all images on your website.</p>
<h2><a href="http://www.liquidx.net/plotkit/">PlotKit &#8211; JavaScript Chart Plotting</a></h2>
<p><img class="aligncenter size-full wp-image-24078" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/09/plotkit.jpg" alt="" width="570" height="294" /></p>
<p>PlotKit is a Chart and Graph Plotting Library for JavaScript. It has support for HTML Canvas and also SVG via Adobe SVG Viewer and native browser support.</p>
<h2><a href="http://www.lokeshdhakar.com/projects/lightbox2/">Lightbox 2</a></h2>
<p><img class="aligncenter size-full wp-image-24079" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/09/lightbox2.jpg" alt="" width="570" height="310" /></p>
<p>Lightbox is a simple, unobtrusive script used to overlay images on the current page.</p>
<h2><a href="http://www.1stwebdesigner.com/tutorials/building-real-time-form-validation-using-jquery/">Form Validation</a></h2>
<h2><a href="http://digg.com">Login for Digg.com</a></h2>
<p><img class="aligncenter size-full wp-image-24080" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/09/digg.jpg" alt="" width="570" height="279" /></p>
<p>Even as I uploaded the above image it was a pop up using JavaScript that the media upload was in! JavaScript was also used to dull away the rest of the Digg site, increasing the focus on the Login box.</p>
<h1>Tracking</h1>
<h2><a href="http://www.google.com/analytics/">Google Analytics</a></h2>
<p><img class="aligncenter size-full wp-image-24081" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/09/analytics.jpg" alt="" width="570" height="235" /></p>
<p>Many of us more than likely use Google Analytics to keep tabs on our sites traffic, it uses JavaScript on your site to track your sites performance.</p>
<h2><a href="http://developers.facebook.com/plugins">Facebook Social Plugins</a></h2>
<p><img class="aligncenter size-full wp-image-24084" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/09/facebook1.jpg" alt="" width="570" height="255" /></p>
<p>Facebook’s new API allows web masters to check if visitors to their sites are logged into Facebook, and if they are to place more emphasis on their Facebook integration.</p>
<h2><a href="http://www.azarask.in/blog/post/socialhistoryjs/">SocialHistory.js</a></h2>
<p>By using the a:visited css bug in browsers Social History can check if your visitors have been to a certain website, Reddit for example, it can then show a share on Reddit link depending on the result. There is no real need to include 20 different sharing link now!</p>
<h1>User Scripts</h1>
<p>User scripts are simple JavaScript programmes that can be installed to your browser using an add-on.</p>
<p>For FireFox use:</p>
<p>for Chrome:</p>
<p>Internet Explorer:</p>
<p>Safari:</p>
<h2><a href="https://userscripts.org/scripts/show/80793">Minimalist Facebook</a></h2>
<p>Removes the righthand side sidebar on Facebook, really de-cluttering the site.</p>
<h2><a href="http://userscripts.org/scripts/show/84382">Google Calendar Dynamic Icon</a></h2>
<p>Changes the favicon on Google calendar to display the days date</p>
<h2><a href="http://userscripts.org/scripts/show/47636">Keep Tube: Download Youtube Videos (HD 1080p &amp; 720p)</a></h2>
<p>Adds the ability to download YouTube videos directly on YouTube.</p>
<h2><a href="http://userscripts.org/scripts/show/24430">Gmail Favicon Alerts 3</a></h2>
<p>Changes Gmails favicon to alert you of new mail</p>
<h2><a href="http://userscripts.org/scripts/show/40617">@troynt&#8217;s Twitter Script</a></h2>
<h1>Firefox add ons</h1>
<h2><a href="http://lifehacker.com/software/exclusive-lifehacker-download/better-gmail-2-firefox-extension-for-new-gmail-320618.php">Better Gmail 2</a></h2>
<h1>Bookmarklets</h1>
<p>Bookmarklets are tiny JavaScript programmes that are contained in a bookmark in your browser. They’re javascript: urls which you can drag to your bookmark toolbar, just like a normal bookmark. Though so small, and easy to install (you only need to drag them to your toolbar to install them)</p>
<h2><a href="http://quixapp.com/">Quix</a> by Yoast</h2>
<p><a href="http://vimeo.com/8540763">An introduction to Quix</a> from <a href="http://vimeo.com/yoast">Joost de Valk</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<h2><a href="http://spriteme.org/">Spriteme</a></h2>
<p>Sites that include several images in the design should consider using css sprites. Making sprites manually can be time-consuming, sprite me is an extremely useful bookmarklet that will add all selected images on any given site, and generate the required sprite and css.</p>
<h2><a href="http://afterthedeadline.com/">After the deadline</a></h2>
<p>Can add the after the deadline spell check to any page online, with just one click!</p>
<h2><a href="http://www.evernote.com/about/download/web_clipper.php">Evernote Web Clipper</a></h2>
<p>This bookmarklet is extremely useful, and makes Evernote even quicker and easier to use.</p>
<h2><a href="http://rollyo.com/bookmarklet.html">Rollyo RollBar</a></h2>
<p>With one click it adds a search box for any site, handy when you’re looking for a post on a site that you just cant seem to find again.</p>
<h2><a href="http://lab.arc90.com/experiments/readability/">Readability</a></h2>
<p>Readability is a great service that removes all the clutter for a website, leaving the article formatted in such a way that its allot easier to read.</p>
<p>As you can see the uses for JavaScript can greatly vary. Adding JavaScript to your list of known languages could greatly improve the quality and functionality of any site you work on. Something I am now learning myself after seeing these different examples.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.1stwebdesigner.com/freebies/examples-html5-javascript-uses/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Performance Optimization: How to Load your javascript faster!</title>
		<link>http://www.1stwebdesigner.com/design/load-javascript-faster/</link>
		<comments>http://www.1stwebdesigner.com/design/load-javascript-faster/#comments</comments>
		<pubDate>Wed, 01 Sep 2010 10:00:17 +0000</pubDate>
		<dc:creator>przemek</dc:creator>
				<category><![CDATA[Web Design]]></category>
		<category><![CDATA[cdn]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[labjs]]></category>
		<category><![CDATA[optimization]]></category>
		<category><![CDATA[packing]]></category>
		<category><![CDATA[performance]]></category>

		<guid isPermaLink="false">http://www.1stwebdesigner.com/?p=23143</guid>
		<description><![CDATA[Javascript is now extremely important. Some sites use javascript for a tiny enchantments, many of today&#8217;s webapps are depending on it, some of them are even totally written in js. In this article I&#8217;ll point out some important rules, how to use your javascript, which tools to use and what benefits you&#8217;ll gain from it. [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.1stwebdesigner.com/development/load-javascript-faster/"><img class="size-full wp-image-22047 alignleft" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/08/load-js-faster_150.png" alt="Load your javascript faster" /></a>Javascript is now extremely important. Some sites use javascript for a tiny enchantments, many of today&#8217;s webapps are depending on it, some of them are even totally written in js. In this article I&#8217;ll point out some important rules, how to use your javascript, which tools to use and what benefits you&#8217;ll gain from it.</p>
<p><span id="more-23143"></span></p>
<h2>Keep your code at minimum</h2>
<p><img style="border-width: 0px;" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/08/keep-your-code-at-minimum.png" border="0" alt="Keep your code at minimum" width="570" /></p>
<p>Don&#8217;t rely on javascript. Don&#8217;t duplicate your scripts. Treat it like a candy-tool to make things more pretty. Don&#8217;t bloat your site with s**t-loads of <em>javascript</em>. Use it only when necessary. Only when it <em>really</em> improves user experience.</p>
<h3>Minimize DOM access</h3>
<p>Accessing DOM elements with JavaScript is easy, code is more readable, but it&#8217;s slow. Here are some tips: <em>Limit your layout fixing with javascript</em>, <em>cache references to accessed elements</em>. Sometimes when your site is depending so much on <code>DOM</code> modifications you should consider limiting your markup. It&#8217;s a good reason to switch to HTML5 and leave those old XHTML, HTML4 behind. You can check the number of your <code>DOM</code> elements by typing in Firebug&#8217;s console: <code>document.getElementsByTagName('*').length</code></p>
<h3>Compress your code</h3>
<blockquote cite="http://dean.edwards.name/weblog/2007/08/js-compression/"><p>The most efficient way to serve compressed JavaScript is to first run your code through a JavaScript compressor that shrinks variable and argument names, and then serve the resulting code using gzip compression.</p></blockquote>
<p>Well, I don&#8217;t compress my <code>main.js</code>, but check if you have any jQuery plugins that are not compressed, do it (remember to keep author&#8217;s notes). Below I listed some options for compression.</p>
<ul>
<li><a rel="nofollow" href="http://yuilibrary.com/downloads/#yuicompressor">YUI Compressor</a> (my favorite, used by jQuery team), beginners <a title="Extreme JavaScript Compression With YUI Compressor" rel="nofollow" href="http://www.slideshare.net/nzakas/extreme-javascript-compression-with-yui-compressor">guide</a>, <a rel="nofollow" href="http://vilimpoc.org/research/js-speedup/">second guide</a> and <a rel="nofollow" href="http://developer.yahoo.com/yui/compressor/">official site</a></li>
<li><a rel="nofollow" href="http://dean.edwards.name/packer/">Dean Edwards Packer</a></li>
<li><a rel="nofollow" href="http://crockford.com/javascript/jsmin">JSMin</a></li>
</ul>
<p><strong>GZip Compression</strong>: Idea behind this is to reduce time of transferring data between browser and server. When it&#8217;s done you get your file with <code>Accept-Encoding: gzip,deflate</code> header. It has some disadvantages though. It takes: CPU on both server-side and client side (to compress and uncompress) and disc space.</p>
<p><strong>Avoid <code>eval()</code></strong>: While sometimes it may bring some time efficiency, it&#8217;s definitely wrong practice. It makes your code look more dirty and it crashes out most of the compressors.</p>
<h2>Tool to speed up <em>javascript</em> loading &#8211; <a href="http://labjs.com/">Lab.js</a></h2>
<p>There are many awesome tools that could speed up your javascript loading time. One is worth mentioning — <strong>Lab.js</strong>.</p>
<p>With <strong>LAB.js</strong> (Loading And Blocking JavaScript) you can load your javascript files in parallel, speeding up the total loading process. What is more you can also set up certain order for scripts to be loaded, so no dependencies are broken. Also, the developer declares a 2x speed improvement on his site.</p>
<h2>Using proper CDN</h2>
<p>Many webpages now use <strong>CDN</strong> (Content delivery network). It improves your caching, because everybody can use it. It can also save you some bandwidth. You can easy ping or <em>firebug</em> those servers to check from where you get data faster. Choose CDN by matching your readers localization. Remember to use public repositories when it&#8217;s possible.</p>
<p>Some CDN options for <em>jQuery</em>:</p>
<ul>
<li><code>http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js</code> &#8211; Google Ajax, information about <a href="http://code.google.com/apis/libraries/devguide.html#Libraries">more libraries</a></li>
<li><code>http://ajax.microsoft.com/ajax/jquery/jquery-1.4.2.min.js</code> &#8211; Microsoft&#8217;s CDN</li>
<li><code>http://code.jquery.com/jquery-1.4.2.min.js</code> &#8211; Edgecast (mt)</li>
</ul>
<h2>Load your javascript at the end of page</h2>
<p><img style="border-width: 0px;" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/08/load-you-js-at-the-end.png" border="0" alt="Load your javascript at the end" width="570" /></p>
<p>Very good practice if you care about user and him/her not leaving your page because of slow internet connection. Usability and user at first, javascript at the end. This may be painful, but you should be prepared for users with disabled javascript. You may put some javascript to be loaded in <code>head</code> section, but only if it&#8217;s loading asynchronously.</p>
<h2>Load tracking asynchronously</h2>
<p>This one is very important. Most of us are using <em>Google Analytics</em> for statistics. It&#8217;s good. Now look where you put your tracking code. Is it in head section? Is it using <code>document.write</code>? Then you should blame yourself for not using <em>asynchronous tracking code for Google Analytics</em>.</p>
<p>This is what asynchronous tracking code for Google Analytics looks like. We must acknowledge that it uses <code>DOM</code> instead of <code>document.write</code>, which may be better for you. It detects some of the events before page load which is very important. Now think of all the users closing your page before it even loaded. The cure of missing <em>page views</em> has been found.</p>
<pre class="brush: jscript; title: ; notranslate">

	var _gaq = _gaq || [];
	_gaq.push(['_setAccount', 'UA-XXXXXXX-XX']);
	_gaq.push(['_trackPageview']);

	(function() {
		var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
		ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
		var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
	})();
</pre>
<p>Don&#8217;t using <em>GA</em>? It&#8217;s not a problem, most of today&#8217;s analytics providers will allow you to use asynchronous tracking.</p>
<h2>Ajax Optimization</h2>
<p><img style="border-width: 0px;" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/08/ajax-optimization.jpg" border="0" alt="Ajax Optimization" width="570" /></p>
<p>Ajax request have great impact on your site&#8217;s performance. Below I pointed some tips about ajax optimization.</p>
<h3>Cache your ajax</h3>
<p>Look at your code. Is your ajax cacheable? Well, it depends on data, but mostly your ajax requests should be cacheable. In <a title="jQuery Ajax API" href="http://api.jquery.com/jQuery.ajax/">jQuery</a> your requests are cached by default, not including <code>script</code> and <code>jsonp</code> dataType.</p>
<h3>Use GET for Ajax Requests</h3>
<p><code>POST</code> type requests takes two TCP packets to send (headers sent first, data next). <code>GET</code> type request takes only one packet to send (which may depend on your amount of cookies). So while your URL length is less than <abbr title="IE Limitation">2K</abbr> and you want to request some data use <code>GET</code>.</p>
<h2>Use ySlow</h2>
<p><img style="border-width: 0px;" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/08/yslow-tool.png" border="0" alt="Use Free ySlow Tool" width="570" /></p>
<p>It&#8217;s both simple and extremely powerful when it comes to performance. It grades your website and shows you what you need to correct, what should be taken care of.</p>
<h2>Bonus: Pack your javascript into PNG File</h2>
<p><img style="border-width: 0px;" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/08/jquery-prototype-packed-into-image.png" border="0" alt="jQuery and Prototype Packed into one image" width="570" /></p>
<blockquote cite="http://ajaxian.com/archives/want-to-pack-js-and-css-really-well-convert-it-to-a-png-and-unpack-it-via-canvas"><p>Imagine adding your JS and CSS to the end of an image and cropping it in CSS to have all the info you need in an app in a single HTTP request.</p></blockquote>
<p>I have recently found this. What is basically does it packs up your javascript/css data into PNG file. After that you can unpack it by using the canvas API&#8217;s <code>getImageData()</code>. What is more it&#8217;s very efficient. You can gain about <strong>35% compression without minifying your data</strong>. Lossless compression! I must point out that for larger scripts you can feel &#8220;some&#8221; load time while image is pointed to canvas and pixels are read.</p>
<p>For more information about this one check out this <a title="Compression using Canvas and PNG-embedded data" href="http://blog.nihilogic.dk/2008/05/compression-using-canvas-and-png.html">article from 2008</a>.</p>
<h2>Final Thoughts</h2>
<p>Hope you guys liked this article. If yes, remember to share it and to say hello to me on twitter. Stay in tune for some further posts about serious performance optimization.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.1stwebdesigner.com/design/load-javascript-faster/feed/</wfw:commentRss>
		<slash:comments>21</slash:comments>
		</item>
		<item>
		<title>How to connect your site with twitter using @Anywhere</title>
		<link>http://www.1stwebdesigner.com/tutorials/connect-twitter-anywhere/</link>
		<comments>http://www.1stwebdesigner.com/tutorials/connect-twitter-anywhere/#comments</comments>
		<pubDate>Mon, 16 Aug 2010 21:00:10 +0000</pubDate>
		<dc:creator>Irina Borozan</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[@anywhere]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://www.1stwebdesigner.com/?p=22305</guid>
		<description><![CDATA[Twitter has launched @Anywhere, a more simple way of integrating twitter in your site. With it you can add follow buttons, hovercards, linkify twitter usernames and connect with twitter.  In this tutorial, I will show you how to use @Anywhere in your site. I will add some twitter @Anywhere features to the application build in [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.1stwebdesigner.com/tutorials/connect-twitter-anywhere/"><img class="alignleft size-full wp-image-22316" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/08/how_to_integrate_twitter_anywhere.jpg" alt="" width="150" height="150" /></a>Twitter has launched <a href="http://dev.twitter.com/anywhere" target="_blank">@Anywhere</a>, a more simple way of integrating twitter in your site. With it you can add follow buttons, hovercards, linkify twitter usernames and connect with twitter.  In this tutorial, I will show you how to use @Anywhere in your site. I will add some twitter @Anywhere features to the application build in my previous tutorials, the distance finder (<a href="http://www.1stwebdesigner.com/tutorials/distance-finder-google-maps-api/" target="_blank">part1</a> of the tutorial, <a href="http://www.1stwebdesigner.com/tutorials/distance-finder-google-maps-2/" target="_blank">part2</a>).<span id="more-22305"></span></p>
<p><strong>What are we going to build?</strong></p>
<p>The distance finder we created using the previous tutorials uses the google maps api to let you find the distance and route between two locations. In this tutorial, I’ll show you how to share your search results with your twitter followers. I’ll also show you how to add hovercards and linkify usernames.</p>
<p>You can view the demo <a href="http://www.aniri.ro/distancefinder/integrate-twitter-distance-finder-part-3.php" target="_blank">here</a>. And also download <a href="http://www.aniri.ro/distancefinder/integrate-twitter-distance-finder-part-3.rar" target="_blank">the source code</a>.</p>
<p><strong>Prerequisites</strong></p>
<p>The first thing we need to do in order to use @Anywhere is to registered a new twitter application. We can do this <a href="http://dev.twitter.com/anywhere/apps/new" target="_blank">here</a>. Once we fill in that form, we will be given an APIkey to use in the app.</p>
<p>Next, we’ll have to include the @Anywhere script. We’ll add the following code to your &lt;head&gt;section:</p>
<pre class="brush: xml; title: ; notranslate">

&lt;script src=&quot;http://platform.twitter.com/anywhere.js?id=ADD_YOUR_API_KEY_HERE&amp;v=1&quot;&gt;&lt;/script&gt;
</pre>
<p>Don’t forget to fill in the api key!</p>
<p>As some of the options from @Anywhere require jquery, we will have to include that too:</p>
<pre class="brush: xml; title: ; notranslate">

&lt;script src=&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js&quot;  type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
</pre>
<p><strong><br />
</strong> <strong>Adding a comment box</strong><br />
<strong><br />
</strong>Let’s see what we need to add to show a small comment box to help us share the search results with our friends.</p>
<p>We’ll have to add another div to the layout, where to show the comment box with the text to share with our friends.</p>
<pre class="brush: xml; title: ; notranslate">

&lt;center&gt;&lt;div style=&quot;width:100%; height:13%&quot;&gt;&lt;/div&gt;&lt;/center&gt;
</pre>
<p>In the javascript function that shows the route (called continueShowRoute) we will have to add some code to show the comment box.</p>
<pre class="brush: jscript; title: ; notranslate">
//we have to create a div where @Anywhere will place the comment box; the div will be created inside the share div
var twitter = &quot;&lt;div class='comments'&gt;&lt;/div&gt;&quot;;
document.getElementById(&quot;share&quot;).innerHTML = twitter;
// we’ll call the share_twitter function with the two addresses as parameters.
share_twitter(address1, address2);
</pre>
<p>The share_twitter function is used to create the link to share with our friends and show the comment box.</p>
<p>The code which uses @Anywhere to show the comment box is pretty simple. It looks like this:</p>
<pre class="brush: jscript; title: ; notranslate">twttr.anywhere(function(twitter) {
   twitter(&quot;.comments&quot;).tweetBox({
      label: 'Share with your twitter friends!',
      defaultContent: 'My search on distancefinder: '+url,
      height: 30
   });
});
</pre>
<p>It calls the anywhere function for the twttr object and passes the tweetBox function as a parameter.  The comment box will be shown in the div with the id given as parameter (&#8220;.comments&#8221;). We can set the following options for the comment box:</p>
<ul>
<li> Label: the text to be shown above the box</li>
<li> DefaultContent: the content of the box</li>
<li> Height, width: the boxes dimensions</li>
<li> Counter:<span style="font-family: monospace;"><strong> </strong></span>whether or not to show the counter for remaining characters</li>
<li> OnTweet: a function to be called when the tweet button is pressed.</li>
</ul>
<p>We will also have to share the link to the current page. We’ll also have to add the two address values to the url to be able to share a search result. This way, when the friend clicks on our link, they will be redirected to the application page with the addresses set and see our results. We will use PHP Get to pass the two addresses.</p>
<p>As the url might get too long for a tweet, we’ll have to shorten it. For this we can use <a href="http://tinyurl.com" target="_blank">tinyurl</a> to obtain a shorter url address. To do this, we have to make a request to:</p>
<pre class="brush: xml; title: ; notranslate">

&lt;a href=&quot;http://tinyurl.com/api-create.php?url=THE_LONG_URL&quot;&gt;http://tinyurl.com/api-create.php?url=THE_LONG_URL&lt;/a&gt;
</pre>
<p>We’ll make a php script that receives an url address, sends a request to tinyurl.com and returns the result.  We’ll store it in the file called getShortURL.php. The script looks like this:</p>
<pre class="brush: php; title: ; notranslate">
&lt;?php
$url = $_GET['url'];
echo file_get_contents(&quot;http://tinyurl.com/api-create.php?url=&quot; . urlencode($url));
?&gt;
</pre>
<p>We’ll have to call this script using ajax from our share_twitter function and, when we get the result from the script, show the comment box from @Anywhere.</p>
<p>Here’s how the code for this looks like:</p>
<pre class="brush: jscript; title: ; notranslate">
var xmlhttp;
function share_twitter(a1, a2)
{
  var my_url = location.href;
  if (my_url.indexOf('?a1=') != -1)
  {
    my_url = my_url.substr(0, my_url.indexOf(&quot;?&quot;));
  }
  my_url += &quot;?a1=&quot;+a1+&quot;&amp;a2=&quot;+a2;

  xmlhttp=GetXmlHttpObject();
  if (xmlhttp==null)
  {
    alert (&quot;Browser does not support HTTP Request&quot;);
    return;
  }
  var url=&quot;getShortURL.php&quot;;
  url=url+&quot;?url=&quot;+encodeURIComponent(my_url);

  xmlhttp.onreadystatechange=stateChanged;
  xmlhttp.open(&quot;GET&quot;,url,true);
  xmlhttp.send(null);
}

function stateChanged()
{
  if (xmlhttp.readyState==4)
  {
    twttr.anywhere(function(twitter) {
      twitter(&quot;.comments&quot;).tweetBox({
         label: 'Share with your twitter friends!',
         defaultContent: 'My search on distancefinder: '+xmlhttp.responseText,
         height: 30
      });
    });
  }
}
</pre>
<p>Here’s what the share_twitter function does. It first get the url of the current page:</p>
<pre class="brush: jscript; title: ; notranslate">
var my_url = location.href;
</pre>
<p>If there are already some variables set in PHP GET it erases them and adds the new values (a1 and a2, the functions parameters)</p>
<pre class="brush: jscript; title: ; notranslate">
if (my_url.indexOf('?a1=') != -1)
{
  my_url = my_url.substr(0, my_url.indexOf(&quot;?&quot;));
}
my_url += &quot;?a1=&quot;+a1+&quot;&amp;a2=&quot;+a2;
</pre>
<p>The rest of the code is a bit more complicated (also, I’ve not shown here the GetXmlHttpObject function; you can see it in the source code), but you don’t have to worry if you don’t get it! All you need to do is that it is used to make the request to the getShortURL.php script and receive the result. When it gets the result (if (xmlhttp.readyState==4)) it calls the @anywhere code to show the comment box and sets the url value to the short url it received.</p>
<p>We will also have to add a few lines of code to our app, to be able to load our friends search results. As I said, we have sent the a1 and a2 parameters (the two addresses) through GET. We will have to add a script to check if the variables are set and if they are, to show the correct map.</p>
<p>We will add this php code before the &lt;/body&gt; tag:</p>
<pre class="brush: php; title: ; notranslate">
&lt;?php
if (isset($_GET['a1']) &amp;&amp; isset($_GET['a2']))
{
   echo &quot;&lt;script&gt;start('&quot;.$_GET['a1'].&quot;', '&quot;.$_GET['a2'].&quot;');&lt;/script&gt;&quot;;
}
?&gt;
</pre>
<p>As you can see, the script will call the start function if the two parameters are set. Let’s see how the start function looks like:</p>
<pre class="brush: jscript; title: ; notranslate">
function start(a1, a2)
{
   document.getElementById(&quot;address1&quot;).value = a1;
   document.getElementById(&quot;address2&quot;).value = a2;
   initialize();
}</pre>
<p>All it has to do is set the address values in the textboxes and to call to initialize() function, the one that shows the map.</p>
<p>And that’s it! We now have a comment box in our app. Of course, the users will have to be logged in their twitter accounts and allow your app to connect to their accounts. But all this is taken care of by @Anywhere!</p>
<p>Let’s check out other features of @Anywhere:</p>
<p><strong>Linkifying twitter usernames</strong></p>
<p>With only a few javascript lines added to the head section of your site, @Anywhere will convert all twitter usernames on your page in links to the proper twitter profiles.</p>
<p>Here’s the script we need to add:</p>
<pre class="brush: jscript; title: ; notranslate">
twttr.anywhere(function (T) {
   T.linkifyUsers();
});
</pre>
<p>You just have to call the linkifyUsers() function. This code will turn all twitter usernames found in the &lt;body&gt; section to links. You can also chose to only linkify the usernames in a section of your site. To do this, you will only need to specify the id of the element which has the usernames you want linkified.</p>
<pre class="brush: jscript; title: ; notranslate">
twttr.anywhere(function (T) {
   T(&quot;#ELEMENT_ID&quot;).linkifyUsers();
});
</pre>
<p><strong>Hovercards</strong></p>
<p>Hovercards are small tooltips that show some data about a particular Twitter user. These will show up if you go with the mouse over a twitter username on you site. To add this option, you will have to add this script:</p>
<pre class="brush: jscript; title: ; notranslate">
twttr.anywhere(function (T) {
   T.hovercards();
});
</pre>
<p>You can also limit the scope when the hovercards appear, just like with linkifying usenames.</p>
<p>Let’s add a twitter username to the site and test these features:</p>
<pre class="brush: xml; title: ; notranslate">&lt;center&gt;&lt;div style=&quot;width:100%; height:4%&quot;&gt;Demo App by @anirib&lt;/div&gt;&lt;/center&gt;</pre>
<p>@Anywhere seems pretty cool, eh?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.1stwebdesigner.com/tutorials/connect-twitter-anywhere/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
	</channel>
</rss>

