<?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>Freelance Advice and Resources - Freelancer Magazine &#187; Web Dev and Programming</title>
	<atom:link href="http://www.freelancermagazine.com/category/web-development-and-programming/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.freelancermagazine.com</link>
	<description>Freelance Advice and Resources!</description>
	<lastBuildDate>Fri, 14 May 2010 02:15:07 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Building an Awesome Navigation Menu with jQuery: Part 2</title>
		<link>http://www.freelancermagazine.com/building-an-awesome-navigation-menu-with-jquery-part-2/</link>
		<comments>http://www.freelancermagazine.com/building-an-awesome-navigation-menu-with-jquery-part-2/#comments</comments>
		<pubDate>Wed, 18 Nov 2009 17:52:53 +0000</pubDate>
		<dc:creator>Bogdan</dc:creator>
				<category><![CDATA[Design and Multimedia]]></category>
		<category><![CDATA[Freelance Advice]]></category>
		<category><![CDATA[Web Dev and Programming]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[css level 3]]></category>
		<category><![CDATA[HTML markup]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[menu bar]]></category>
		<category><![CDATA[navigation]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[XHTML]]></category>

		<guid isPermaLink="false">http://www.freelancermagazine.com/?p=1463</guid>
		<description><![CDATA[This is the second part of a two-part series that will help you build a complex sliding menu, enhanced with modal windows. Click here to read Part 1 of Building an Awesome Navigation Menu with jQuery
This second part will cover building a modal window and coding its behavior. If you don&#8217;t know what I already [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-thumbnail wp-image-1351" src="http://www.freelancermagazine.com/wp-content/uploads/2009/09/screen_two-150x150.jpg" alt="menu expanded" width="150" height="150" />This is the second part of a two-part series that will help you build a complex sliding menu, enhanced with modal windows. <a href="http://www.freelancermagazine.com/building-an-awesome-navigation-menu-with-jquery-part-1/">Click here to read <strong>Part 1 of Building an Awesome Navigation Menu with jQuery</strong></a></p>
<p>This second part will cover building a modal window and coding its behavior. If you don&#8217;t know what I already explained, please go back to the <a href="http://www.freelancermagazine.com/building-an-awesome-navigation-menu-with-jquery-part-1/">first article here</a> and come back once you finish that one. However, if XHTML, CSS and jQuery are your friends, you may pick things up as we go, so just go ahead and read this part of the tutorial.</p>
<p>Let me remind you the concept we described in the previous article. We have a horizontal menu with a few categories. Each category has multiple subcategories and each such subcategory may contain a random number of products. For easier and faster movement of users thorough the site, we won&#8217;t reload the page once a subcategory is clicked. Instead, we will display all products in a modal window.</p>
<p>Here&#8217;s a screenshot of the menu and one simple modal window.</p>
<p><img class="aligncenter size-medium wp-image-1468" src="http://www.freelancermagazine.com/wp-content/uploads/2009/11/Screen-shot-2009-10-30-at-11.19.42-PM.png" alt="Modal window screenshot" width="590" height="354" /></p>
<h2>How does the modal work?</h2>
<p><span id="more-1463"></span><br />
Once someone clicks a subcategory link, the modal window will be displayed and the products will show up. The modal will close when products are clicked, and the browser is targeted to a new page, when the user clicks the close button or when the overlay is clicked. It isn&#8217;t that hard is it?</p>
<p>The main issue is that we need different content in the modal window. Each subcategory will have its own products and we need to find out which products to display. We will do this with the help of jQuery as you&#8217;ll find out in just a few minutes.</p>
<p>But first, lets get to coding the structure and design of the modal window. First of all, we have the overlay mask, which will be an empty div. We need to make sure the overlay mask will be on top of all site content but beneath the modal window, so we will use z-index:1100 for modal content and z-index:1000 for the overlay. The overlay won&#8217;t be displayed unless a subcategory is clicked, so display:none is also mandatory. You should also choose your favorite color for the overlay, and set it absolutely to top left 0 pixels.</p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span></pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;"><span style="color: #cc00cc;">#overlay-mask</span> <span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">display</span><span style="color: #00AA00;">:</span><span style="color: #993333;">none</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">z-index</span><span style="color: #00AA00;">:</span><span style="color: #cc66cc;">1000</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">background-color</span><span style="color: #00AA00;">:</span><span style="color: #cc00cc;">#333</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">position</span><span style="color: #00AA00;">:</span><span style="color: #993333;">absolute</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">top</span><span style="color: #00AA00;">:</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">left</span><span style="color: #00AA00;">:</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">;</span>
	<span style="color: #00AA00;">&#125;</span></pre></div></div>

<p>The modal window will be something like this. An outer div to hold everything in place, another inner div to hold the products, and a link that will server as a close modal window button. Because we want the button to span all the way, we had to use an outer div for the content of the modal, so that&#8217;s why there&#8217;s 2 divs and not just one.</p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;all-rounded&quot;</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
		<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;thumb&quot;</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;http://www.ultimatewasher.com&quot;</span> <span style="color: #000066;">target</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;_new&quot;</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">img</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;images/wash1.jpg&quot;</span> <span style="color: #000066;">alt</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;Wash1&quot;</span> <span style="color: #000066;">width</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;102&quot;</span> <span style="color: #000066;">height</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;102&quot;</span> <span style="color: #66cc66;">/</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">span</span>&gt;</span>First thumb<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">span</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;</span>
&nbsp;
		<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;thumb&quot;</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;http://www.city-rentals.ca&quot;</span> <span style="color: #000066;">target</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;_new&quot;</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">img</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;images/wash2.jpg&quot;</span> <span style="color: #000066;">alt</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;Wash2&quot;</span> <span style="color: #000066;">width</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;102&quot;</span> <span style="color: #000066;">height</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;102&quot;</span> <span style="color: #66cc66;">/</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">span</span>&gt;</span>Second<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">span</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;</span>
&nbsp;
		<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;thumb&quot;</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;http://www.tonsoftools.com&quot;</span> <span style="color: #000066;">target</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;_new&quot;</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">img</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;images/wash3.jpg&quot;</span> <span style="color: #000066;">alt</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;Wash3&quot;</span> <span style="color: #000066;">width</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;102&quot;</span> <span style="color: #000066;">height</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;102&quot;</span> <span style="color: #66cc66;">/</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">span</span>&gt;</span>Third<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">span</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;</span>
&nbsp;
		<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;thumb last&quot;</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;http://www.carriergenerators.com&quot;</span> <span style="color: #000066;">target</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;_new&quot;</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">img</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;images/wash4.jpg&quot;</span> <span style="color: #000066;">alt</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;Wash4&quot;</span> <span style="color: #000066;">width</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;102&quot;</span> <span style="color: #000066;">height</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;102&quot;</span> <span style="color: #66cc66;">/</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">span</span>&gt;</span>Fourth<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">span</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;close bottom-rounded&quot;</span>&gt;</span>Click to close<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span></pre></div></div>

<p>As you see, each product is in fact a link containing a product thumbnail and some text. Lets see how we style them. the purpose of the tutorial is creating the modal window, not styling it, so the style is really basic, especially if you take out the rounded corners.</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;"><span style="color: #cc00cc;">#overlay-content</span> <span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span><span style="color: #933;">500px</span><span style="color: #00AA00;">;</span>
	<span style="color: #00AA00;">&#125;</span>
&nbsp;
<span style="color: #cc00cc;">#overlay-content</span> div <span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span><span style="color: #933;">450px</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">padding</span><span style="color: #00AA00;">:</span><span style="color: #933;">25px</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">padding-bottom</span><span style="color: #00AA00;">:</span><span style="color: #933;">10px</span><span style="color: #00AA00;">;</span>
	<span style="color: #00AA00;">&#125;</span>
&nbsp;
<span style="color: #cc00cc;">#overlay-content</span> a<span style="color: #6666ff;">.close</span> <span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">display</span><span style="color: #00AA00;">:</span><span style="color: #993333;">block</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">padding</span><span style="color: #00AA00;">:</span><span style="color: #933;">0px</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">border-top</span><span style="color: #00AA00;">:</span><span style="color: #933;">1px</span> <span style="color: #993333;">solid</span> <span style="color: #cc00cc;">#333</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">font-size</span><span style="color: #00AA00;">:</span><span style="color: #933;">15px</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">line-height</span><span style="color: #00AA00;">:</span><span style="color: #933;">25px</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">height</span><span style="color: #00AA00;">:</span><span style="color: #933;">25px</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">text-align</span><span style="color: #00AA00;">:</span><span style="color: #993333;">center</span><span style="color: #00AA00;">;</span>
	<span style="color: #00AA00;">&#125;</span>
&nbsp;
<span style="color: #cc00cc;">#overlay-content</span> a<span style="color: #6666ff;">.thumb</span> <span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">display</span><span style="color: #00AA00;">:</span><span style="color: #993333;">block</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span><span style="color: #933;">102px</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">height</span><span style="color: #00AA00;">:</span><span style="color: #933;">122px</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">padding</span><span style="color: #00AA00;">:</span><span style="color: #933;">0px</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">margin</span><span style="color: #00AA00;">:</span><span style="color: #933;">0px</span> <span style="color: #933;">14px</span> <span style="color: #933;">0px</span> <span style="color: #933;">0px</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">float</span><span style="color: #00AA00;">:</span><span style="color: #000000; font-weight: bold;">left</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">text-decoration</span><span style="color: #00AA00;">:</span><span style="color: #993333;">none</span><span style="color: #00AA00;">;</span>
	<span style="color: #00AA00;">&#125;</span>
&nbsp;
<span style="color: #cc00cc;">#overlay-content</span> a<span style="color: #6666ff;">.thumb</span> img <span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">display</span><span style="color: #00AA00;">:</span><span style="color: #993333;">block</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span><span style="color: #933;">102px</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">height</span><span style="color: #00AA00;">:</span><span style="color: #933;">102px</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">padding</span><span style="color: #00AA00;">:</span><span style="color: #933;">0px</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">border</span><span style="color: #00AA00;">:</span><span style="color: #933;">0px</span><span style="color: #00AA00;">;</span>
	<span style="color: #00AA00;">&#125;</span>
&nbsp;
<span style="color: #cc00cc;">#overlay-content</span> a<span style="color: #6666ff;">.thumb</span> span <span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">display</span><span style="color: #00AA00;">:</span><span style="color: #993333;">block</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span><span style="color: #933;">102px</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">height</span><span style="color: #00AA00;">:</span><span style="color: #933;">20px</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">padding</span><span style="color: #00AA00;">:</span><span style="color: #933;">0px</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">text-align</span><span style="color: #00AA00;">:</span><span style="color: #993333;">center</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">color</span><span style="color: #00AA00;">:</span><span style="color: #cc00cc;">#999</span><span style="color: #00AA00;">;</span>
	<span style="color: #00AA00;">&#125;</span>
&nbsp;
<span style="color: #cc00cc;">#overlay-content</span> a<span style="color: #6666ff;">.last</span> <span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">margin-right</span><span style="color: #00AA00;">:</span><span style="color: #933;">0px</span><span style="color: #00AA00;">;</span>
	<span style="color: #00AA00;">&#125;</span>
&nbsp;
<span style="color: #cc00cc;">#overlay-content</span> div <span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">overflow</span><span style="color: #00AA00;">:</span><span style="color: #993333;">auto</span><span style="color: #00AA00;">;</span>
	<span style="color: #00AA00;">&#125;</span></pre></div></div>

<p>The first two lines are just setting the dimensions of the modal window, for the purpose of a modal window that contains four products, all on the same line. The anchor tag with the &#8220;close&#8221; class is in fact the button that will be displayed in the bottom of the modal that will be used to close to modal window if needed.</p>
<p>The thumb classed anchor will contain the image and the text description contained in a span tag. As all thumbnails have a small right margin, we need the additional last class to remove the right margin from the last product in the modal. The overflow is used to cancel the collapsing of the inner div that contains only floating elements.</p>
<p>We finished with structure and styling, so lets move on to jQuery coding. Take a look at the code in its entirety and try to understand it. The explanations will follow it just below.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">var</span> opacity <span style="color: #339933;">=</span> <span style="color: #3366CC;">'0.8'</span><span style="color: #339933;">;</span> <span style="color: #006600; font-style: italic;">// can be up to 1</span>
&nbsp;
$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'a[name=modal]'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">removeAttr</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'href'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 	<span style="color: #006600; font-style: italic;">//javascript on, no need to redirect to a link here</span>
$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'a[name=modal]'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">click</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
	<span style="color: #003366; font-weight: bold;">var</span> maskHeight <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span>document<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">height</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #003366; font-weight: bold;">var</span> maskWidth <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span>document<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">width</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #003366; font-weight: bold;">var</span> windowHeight <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span>window<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">height</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #003366; font-weight: bold;">var</span> windowWidth <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span>window<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">width</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #003366; font-weight: bold;">var</span> contentWidth <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#overlay-content'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">width</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #006600; font-style: italic;">// width</span>
	<span style="color: #003366; font-weight: bold;">var</span> contentHeight <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#overlay-content'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">height</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #006600; font-style: italic;">// and height of content area</span>
&nbsp;
	<span style="color: #006600; font-style: italic;">//Set height and width to mask to fill up the whole screen</span>
	$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#overlay-mask'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">css</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span><span style="color: #3366CC;">'width'</span><span style="color: #339933;">:</span>maskWidth<span style="color: #339933;">,</span><span style="color: #3366CC;">'height'</span><span style="color: #339933;">:</span>maskHeight<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#overlay-mask'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">css</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'opacity'</span><span style="color: #339933;">,</span>opacity<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#overlay-mask'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">css</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'display'</span><span style="color: #339933;">,</span><span style="color: #3366CC;">'block'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #006600; font-style: italic;">// put the overlay content area in the center of the window</span>
	$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#overlay-content'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">css</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'display'</span><span style="color: #339933;">,</span><span style="color: #3366CC;">'block'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#overlay-content'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">css</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'left'</span><span style="color: #339933;">,</span><span style="color: #009900;">&#40;</span>windowWidth<span style="color: #339933;">-</span>contentWidth<span style="color: #009900;">&#41;</span><span style="color: #339933;">/</span><span style="color: #CC0000;">2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#overlay-content'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">css</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'top'</span><span style="color: #339933;">,</span><span style="color: #009900;">&#40;</span>windowHeight<span style="color: #339933;">-</span>contentHeight<span style="color: #009900;">&#41;</span><span style="color: #339933;">/</span><span style="color: #CC0000;">2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #006600; font-style: italic;">// move overlay content to center of the window</span>
$<span style="color: #009900;">&#40;</span>window<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">resize</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
	<span style="color: #003366; font-weight: bold;">var</span> maskHeight <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span>document<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">height</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #003366; font-weight: bold;">var</span> maskWidth <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span>window<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">width</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #003366; font-weight: bold;">var</span> windowHeight <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span>window<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">height</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #003366; font-weight: bold;">var</span> windowWidth <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span>window<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">width</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #003366; font-weight: bold;">var</span> contentWidth <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#overlay-content'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">width</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #006600; font-style: italic;">// width</span>
	<span style="color: #003366; font-weight: bold;">var</span> contentHeight <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#overlay-content'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">height</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #006600; font-style: italic;">// and height of content area</span>
&nbsp;
	<span style="color: #006600; font-style: italic;">//Set height and width to mask to fill up the whole screen</span>
	$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#overlay-mask'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">css</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span><span style="color: #3366CC;">'width'</span><span style="color: #339933;">:</span>maskWidth<span style="color: #339933;">,</span><span style="color: #3366CC;">'height'</span><span style="color: #339933;">:</span>maskHeight<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#overlay-content'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">css</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span><span style="color: #3366CC;">'left'</span><span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>windowWidth<span style="color: #339933;">-</span>contentWidth<span style="color: #009900;">&#41;</span><span style="color: #339933;">/</span><span style="color: #CC0000;">2</span><span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#overlay-content'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">css</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span><span style="color: #3366CC;">'top'</span><span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>windowHeight<span style="color: #339933;">-</span>contentHeight<span style="color: #009900;">&#41;</span><span style="color: #339933;">/</span><span style="color: #CC0000;">2</span><span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #003366; font-weight: bold;">var</span> $scrollingDiv <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#overlay-content&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
$<span style="color: #009900;">&#40;</span>window<span style="color: #009900;">&#41;</span>.<span style="color: #000066;">scroll</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
	$scrollingDiv.<span style="color: #000066;">stop</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">animate</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span><span style="color: #3366CC;">&quot;marginTop&quot;</span><span style="color: #339933;">:</span> <span style="color: #009900;">&#40;</span>$<span style="color: #009900;">&#40;</span>window<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">scrollTop</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #3366CC;">&quot;px&quot;</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;fast&quot;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#overlay-mask'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">click</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
	$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#overlay-mask'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">css</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'display'</span><span style="color: #339933;">,</span><span style="color: #3366CC;">'none'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#overlay-content'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">css</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'display'</span><span style="color: #339933;">,</span><span style="color: #3366CC;">'none'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.close'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">click</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
	$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#overlay-mask'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">css</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'display'</span><span style="color: #339933;">,</span><span style="color: #3366CC;">'none'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#overlay-content'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">css</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'display'</span><span style="color: #339933;">,</span><span style="color: #3366CC;">'none'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>The opacity variable will set the overlays opacity. It would look really odd with a non transparent overlay, so perhaps anything below .8 will do just fine. Except if you have it completely transparent when there isn&#8217;t going to be any overlay.</p>
<p>We find all anchor tags that has &#8220;modal&#8221; as name, and remove their href attribute, as we don&#8217;t want to move to another page before seeing the overlay, don&#8217;t we?</p>
<p>Then we have the on click behavior. As soon as an anchor link that has an attached modal window is clicked, we get the sizes of the document as well as those of the window. We also check out the width and height of the content inside the modal window.</p>
<p>Next, we set the width and height of the overlay mask using css attributes. We want the overlay to span across the entire page, right? We then set its opacity and make it appear in the page by changing its display property from none (set in the css) to block. We do the same with the content div, and also put it in the center of the browser window.</p>
<p>We also have a resize behavior, which will be triggered if you resize the browser after the page has loaded. If that happens, we check out the dimensions of the document and browser as well, and reset the content window in the center of the page. In the same time, we modify the width and height of the overlay so that it matches the changes triggered by resizing the browser.</p>
<p>If the page has a scrollbar and we scroll either up or down, we use the scroll jQuery trigger to animate the modal back to the center of the page. The stop function there before the animation will make sure that older animations will be stopped if the scroll is used continuously or with small pauses.</p>
<p>Finally, once the overlay mask or close button is clicked, we need to close the modal window, and the last two lines of code do just that.</p>
<h2>One small, but real problem!</h2>
<p>We haven&#8217;t taken in consideration the most important aspect. Each time we load the modal window the content needs to be different. The above code only works for the same content in the modal window such as a contact form, and we need to fix this issue.</p>
<p>First of all, we remove content from the overlay-content inner div and leave it empty. This div will auto-populate with proper content when a subcategory is clicked. Next, we add rel attributes to modal anchor links (those that were named &#8220;modal&#8221;). We will use unique rel attributes to identify the content we need to load.</p>
<p>We will also add divs that have classes corresponding to each rel attribute, which will contain the content we will load on click. We have to make this divs hidden so they don&#8217;t pop up god know where inside your site&#8217;s layout. Simple right? But how do we do this via jQuery? Even simpler, using only three lines of code.</p>
<p>Once a modal anchor is clicked we identify its rel attribute, get the html contents of the div that has the same class name as the rel attribute, then populate the inner div in the overlay content with the html content we found. Cool! Here&#8217;s the code for that, which we add just below the .click function.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">var</span> rel <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">attr</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'rel'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #003366; font-weight: bold;">var</span> modal_content <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.'</span><span style="color: #339933;">+</span>rel<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">html</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#overlay-content div'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">html</span><span style="color: #009900;">&#40;</span>modal_content<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>And we&#8217;re done. You can check out the <a href="http://demos.webia.info/fancy_menu_v2/" target="_blank">demo over here</a>, or perhaps you&#8217;d like the source code? If so, you can download the <a href="http://demos.webia.info/fancy_menu_v1/fancy_menu_v1.zip" target="_new">source codes for the first part</a>, which is just the <a href="http://demos.webia.info/fancy_menu_v1/" target="_new">sliding menu from here</a>, or if you want the real deal you can get <a href="http://demos.webia.info/fancy_menu_v2/fancy_menu_v2.zip" target="_new">full source codes</a> for modal window too from here.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.freelancermagazine.com/building-an-awesome-navigation-menu-with-jquery-part-2/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Building an Awesome Navigation Menu with jQuery: Part 1</title>
		<link>http://www.freelancermagazine.com/building-an-awesome-navigation-menu-with-jquery-part-1/</link>
		<comments>http://www.freelancermagazine.com/building-an-awesome-navigation-menu-with-jquery-part-1/#comments</comments>
		<pubDate>Thu, 22 Oct 2009 22:18:51 +0000</pubDate>
		<dc:creator>Bogdan</dc:creator>
				<category><![CDATA[Design and Multimedia]]></category>
		<category><![CDATA[Freelance Advice]]></category>
		<category><![CDATA[Web Dev and Programming]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[css level 3]]></category>
		<category><![CDATA[HTML markup]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[menu bar]]></category>
		<category><![CDATA[navigation]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[XHTML]]></category>

		<guid isPermaLink="false">http://www.freelancermagazine.com/?p=1349</guid>
		<description><![CDATA[
Do you need to build a navigation interface that has to handle hundreds of product links? All grouped in categories, subcategories? Perhaps even containing thumbnails? If the answer is yes, here&#8217;s a usability path to avoid :

select categories, wait for a page to load
select a subcategory, wait for another page to load
check out products
click to [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.freelancermagazine.com/wp-content/uploads/2009/09/screen_two-300x240.jpg" alt="menu expanded" title="menu expanded" width="300" height="240" class="aligncenter size-medium wp-image-1351" /><br />
Do you need to build a navigation interface that has to handle hundreds of product links? All grouped in categories, subcategories? Perhaps even containing thumbnails? If the answer is yes, here&#8217;s a usability path to <em>avoid </em>:</p>
<ol>
<li>select categories, wait for a page to load</li>
<li>select a subcategory, wait for another page to load</li>
<li>check out products</li>
<li>click to go to desired product</li>
</ol>
<p>The typical web user only wants to click once or twice to get to the product they want.  And if clicks are unavoidable, make sure page loads are minimized! The more clicks and the more page loading they have to go through, the higher the risk they will get lost and never come back to your site. The good news is that you can achieve a good navigation menu that reduces page reloads.</p>
<p>This article is an in-depth tutorial on how you can achieve an expandable navigation menu using valid xhtml coding, valid css and a bit of javascript.<br />
<span id="more-1349"></span><br />
<strong>The concept</strong></p>
<p>In order to achieve a fully functional menu for our huge website, we need one that will enable users to choose a category or subcategory in a timely manner, then browse hassle-free for the product they like.  In Part 1 of the tutorial, we will create a horizontal bar that contains all the main categories of the products our customer is selling. This menu bar will expand so users will see all sub-categories.  In Part 2 of the article, we&#8217;ll create the functionality where clicking on a sub-category will trigger an overlay that displays a list of the individual products.</p>
<p><img class="aligncenter size-medium wp-image-1350" src="http://www.freelancermagazine.com/wp-content/uploads/2009/09/screen_one.jpg" alt="menu sketch" width="590" height="354" /></p>
<p>In the image above there&#8217;s a sketch of what the site layout should be. We have the menu bar, right under the menu comes a header that can contain images, paragraphs of text, news. You get the picture. Then comes the content area. The menu will expand and push the header together with all elements that come after it down the page, as you can see in the following image.</p>
<p><img class="aligncenter size-medium wp-image-1351" src="http://www.freelancermagazine.com/wp-content/uploads/2009/09/screen_two.jpg" alt="menu expanded" width="590" height="472" /></p>
<p><strong>Sneak peak at what we&#8217;re building here</strong></p>
<p>Just in case you cannot wait for the end of the article, just check out the <strong><a href="http://demos.webia.info/fancy_menu_v1/" target="_blank">demo over here</a></strong>.</p>
<p><strong>Coding the HTML and CSS</strong></p>
<p>The navigation bar will consist of an unordered list. I have chosen this tag because menus contain lists, therefore an unordered list is the best way to go for this. The part of the menu that will slide will be contained by a div, each item in the navigation menu having a separate div for its information. We will have the header and the content section also contained in a div. Here&#8217;s a view on the XHTML structure.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
</pre></td><td class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #00bbdd;">&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Strict//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&quot;&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">html</span> xmlns<span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;http://www.w3.org/1999/xhtml&quot;</span> xml:<span style="color: #000066;">lang</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;en&quot;</span> <span style="color: #000066;">lang</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;en&quot;</span>&gt;</span> 	
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">head</span>&gt;</span>
	<span style="color: #009900;">&lt;!– head meta tags, css , javascript links will be here–&gt;</span> 	
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">head</span>&gt;</span> 	
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">body</span>&gt;</span> 	
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;wrapper&quot;</span>&gt;</span> <span style="color: #009900;">&lt;!– used only <span style="color: #000066;">for</span> cosmetic purposes. IE: The site <span style="color: #000066;">background</span> image in the top –&gt;</span> 		
		<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">ul</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;menu&quot;</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;all-rounded&quot;</span>&gt;</span> <span style="color: #009900;">&lt;!– the menu ul I talked about. all-rounded <span style="color: #000066;">class</span> will round the corners –&gt;</span> 				
			<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&quot;</span> <span style="color: #000066;">target</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;_self&quot;</span>&gt;</span>home<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
			<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">target</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;_self&quot;</span> &gt;</span>cleaning<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
			<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">target</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;_self&quot;</span> &gt;</span>cooking<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
			<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">target</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;_self&quot;</span> &gt;</span>gardening<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
			<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&quot;</span> <span style="color: #000066;">target</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;_self&quot;</span>&gt;</span>about us<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span> 			
		<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">ul</span>&gt;</span> 			
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;menu-extend cleaning&quot;</span>&gt;</span> <span style="color: #009900;">&lt;!– extended menu div –&gt;</span>
		<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">ul</span>&gt;</span> 					
			<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&quot;</span> <span style="color: #000066;">target</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;_self&quot;</span>&gt;</span>Pressure Washers<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
			<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&quot;</span> <span style="color: #000066;">target</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;_self&quot;</span>&gt;</span>Pressure Washers Accessories<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
			<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&quot;</span> <span style="color: #000066;">target</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;_self&quot;</span>&gt;</span>Hoses and Water Fittings<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
			<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&quot;</span> <span style="color: #000066;">target</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;_self&quot;</span>&gt;</span>Water Pumps<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
			<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&quot;</span> <span style="color: #000066;">target</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;_self&quot;</span>&gt;</span>Dry Vacuums<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
			<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&quot;</span> <span style="color: #000066;">target</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;_self&quot;</span>&gt;</span>Wet Vacuums<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
			<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&quot;</span> <span style="color: #000066;">target</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;_self&quot;</span>&gt;</span>Industrial Vacuums<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
			<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&quot;</span> <span style="color: #000066;">target</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;_self&quot;</span>&gt;</span>Specialist Vacuums<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
			<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&quot;</span> <span style="color: #000066;">target</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;_self&quot;</span>&gt;</span>Vacuum Cleaner Bags<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
		<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">ul</span>&gt;</span>
 		<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">ul</span>&gt;</span>
			<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&quot;</span> <span style="color: #000066;">target</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;_self&quot;</span>&gt;</span>Steamers<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
			<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&quot;</span> <span style="color: #000066;">target</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;_self&quot;</span>&gt;</span>Scrubber Dryers<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
			<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&quot;</span> <span style="color: #000066;">target</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;_self&quot;</span>&gt;</span>Buffers<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
			<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&quot;</span> <span style="color: #000066;">target</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;_self&quot;</span>&gt;</span>Floor Care Chemicals<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
			<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&quot;</span> <span style="color: #000066;">target</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;_self&quot;</span>&gt;</span>Carpet Care Chemicals<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
			<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&quot;</span> <span style="color: #000066;">target</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;_self&quot;</span>&gt;</span>Carpet Cleaning Machines<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
		<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">ul</span>&gt;</span>
		<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">ul</span>&gt;</span>
 			<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&quot;</span> <span style="color: #000066;">target</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;_self&quot;</span>&gt;</span>Trolleys<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
			<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&quot;</span> <span style="color: #000066;">target</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;_self&quot;</span>&gt;</span>Household Cleaning Chemicals<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
			<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&quot;</span> <span style="color: #000066;">target</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;_self&quot;</span>&gt;</span>Vehicle Cleaning Chemicals<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
			<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&quot;</span> <span style="color: #000066;">target</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;_self&quot;</span>&gt;</span>Cleaning Equipment<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
			<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&quot;</span> <span style="color: #000066;">target</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;_self&quot;</span>&gt;</span>Brooms and Brushes<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
			<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&quot;</span> <span style="color: #000066;">target</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;_self&quot;</span>&gt;</span>Interchange System<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
		<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">ul</span>&gt;</span>
		<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">span</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;clear&quot;</span>&gt;</span><span style="color: #ddbb00;">&amp;nbsp;</span><span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">span</span>&gt;</span> 
	<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
&nbsp;
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;menu-extend cooking&quot;</span>&gt;</span> <span style="color: #009900;">&lt;!– same as above div –&gt;</span>
		expanded menu goes in here for cooking
		<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">span</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;clear&quot;</span>&gt;</span><span style="color: #ddbb00;">&amp;nbsp;</span><span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">span</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
&nbsp;
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;menu-extend gardening&quot;</span>&gt;</span>
 		expanded menu goes in here for gardening
		<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">span</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;clear&quot;</span>&gt;</span><span style="color: #ddbb00;">&amp;nbsp;</span><span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">span</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
&nbsp;
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;header&quot;</span>&gt;</span> <span style="color: #009900;">&lt;!– header div with an image –&gt;</span>
		<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">img</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;images/header.jpg&quot;</span> <span style="color: #000066;">width</span><span style="color: #66cc66;">=</span><span style="color: #cc66cc;">900</span> <span style="color: #000066;">height</span><span style="color: #66cc66;">=</span><span style="color: #cc66cc;">200</span> <span style="color: #000066;">alt</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;Header&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span> 		<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
&nbsp;
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;content&quot;</span>&gt;</span> <span style="color: #009900;">&lt;!– finally the <span style="color: #000066;">content</span> area –&gt;</span>
		<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">h1</span>&gt;</span>Fancy menu<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">h1</span>&gt;</span>
		<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">p</span>&gt;</span>Fancy menu info goes here <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">p</span>&gt;</span>				 		<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span> 	
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">body</span>&gt;</span> 
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">html</span>&gt;</span></pre></td></tr></table></div>

<p>I chose to round up the corners of the menu. To create this effect we will use some CSS level 3 and browser specific markup. The navigation bar will also have vertical separators between the items. The separator is consisted of two different lines, each with a custom color. We won&#8217;t use images for the separators. Instead we will use the css border property. Each list item in the navigation bar will have a 1px solid left border, and a 1px solid right border. The first element in the list and the last one won&#8217;t have the left border, and right border respectively. Here&#8217;s the html markup of the modified list, to reflect that there won&#8217;t be the above mentioned borders, and the css code:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>8
9
10
11
12
13
14
</pre></td><td class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">ul</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;menu&quot;</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;all-rounded&quot;</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;no-left-border&quot;</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&quot;</span> <span style="color: #000066;">target</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;_self&quot;</span>&gt;</span>home<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">target</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;_self&quot;</span> &gt;</span>cleaning<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">target</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;_self&quot;</span> &gt;</span>cooking<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">target</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;_self&quot;</span> &gt;</span>gardening<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;no-right-border&quot;</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&quot;</span> <span style="color: #000066;">target</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;_self&quot;</span>&gt;</span>about us<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">ul</span>&gt;</span></pre></td></tr></table></div>


<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;"><span style="color: #6666ff;">.all-rounded</span>	<span style="color: #00AA00;">&#123;</span>
	border-radius<span style="color: #00AA00;">:</span><span style="color: #933;">9px</span><span style="color: #00AA00;">;</span>
	-moz-border-radius<span style="color: #00AA00;">:</span><span style="color: #933;">9px</span><span style="color: #00AA00;">;</span>
	-webkit-border-radius<span style="color: #00AA00;">:</span> <span style="color: #933;">9px</span><span style="color: #00AA00;">;</span>
	<span style="color: #00AA00;">&#125;</span>
&nbsp;
<span style="color: #808080; font-style: italic;">/* these are the rounded corners */</span>
<span style="color: #cc00cc;">#menu</span>  <span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">display</span><span style="color: #00AA00;">:</span><span style="color: #993333;">block</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">margin</span><span style="color: #00AA00;">:</span><span style="color: #933;">0px</span> <span style="color: #993333;">auto</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span><span style="color: #933;">898px</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">border</span><span style="color: #00AA00;">:</span><span style="color: #933;">1px</span> <span style="color: #993333;">solid</span> <span style="color: #cc00cc;">#DD4CAB</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">height</span><span style="color: #00AA00;">:</span><span style="color: #933;">48px</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">background</span><span style="color: #00AA00;">:</span><span style="color: #993333;">url</span><span style="color: #00AA00;">&#40;</span><span style="color: #ff0000;">'../images/menu_bg.jpg'</span><span style="color: #00AA00;">&#41;</span> <span style="color: #993333;">repeat-x</span><span style="color: #00AA00;">;</span> <span style="color: #000000; font-weight: bold;">color</span><span style="color: #00AA00;">:</span><span style="color: #cc00cc;">#DD4CAB</span><span style="color: #00AA00;">;</span>
	 <span style="color: #00AA00;">&#125;</span> 
&nbsp;
<span style="color: #808080; font-style: italic;">/* ul style */</span>
<span style="color: #cc00cc;">#menu</span> li <span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">display</span><span style="color: #00AA00;">:</span><span style="color: #993333;">block</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span><span style="color: #933;">178px</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">height</span><span style="color: #00AA00;">:</span><span style="color: #933;">48px</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">line-height</span><span style="color: #00AA00;">:</span><span style="color: #933;">48px</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">float</span><span style="color: #00AA00;">:</span><span style="color: #000000; font-weight: bold;">left</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">text-align</span><span style="color: #00AA00;">:</span><span style="color: #993333;">center</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">border-right</span><span style="color: #00AA00;">:</span><span style="color: #933;">1px</span> <span style="color: #993333;">solid</span> <span style="color: #cc00cc;">#DD4CAB</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">border-left</span><span style="color: #00AA00;">:</span><span style="color: #933;">1px</span> <span style="color: #993333;">solid</span> <span style="color: #cc00cc;">#AD3B87</span><span style="color: #00AA00;">;</span>
	<span style="color: #00AA00;">&#125;</span>
&nbsp;
<span style="color: #808080; font-style: italic;">/* li items style */</span>
<span style="color: #cc00cc;">#menu</span> li<span style="color: #6666ff;">.no-left-border</span> <span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">border-left-style</span><span style="color: #00AA00;">:</span><span style="color: #993333;">none</span><span style="color: #00AA00;">;</span>
	<span style="color: #00AA00;">&#125;</span>
&nbsp;
<span style="color: #808080; font-style: italic;">/* no border as we said */</span>
<span style="color: #cc00cc;">#menu</span> li<span style="color: #6666ff;">.no-right-border</span> <span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">border-right-style</span><span style="color: #00AA00;">:</span><span style="color: #993333;">none</span><span style="color: #00AA00;">;</span>
	<span style="color: #00AA00;">&#125;</span></pre></div></div>

<p>Because I chose to round the corners of the menu, there are some issues while hovering the menu items, so the links that are held by the li items will have to have rounded corners as well. The first link in the menu will have rounded corners on the left side, while the last one will have rounded corners on the right side. Here&#8217;s the code for that:</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;"><span style="color: #cc00cc;">#menu</span> li a	<span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">display</span><span style="color: #00AA00;">:</span><span style="color: #993333;">block</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">height</span><span style="color: #00AA00;">:</span><span style="color: #933;">48px</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">color</span><span style="color: #00AA00;">:</span><span style="color: #cc00cc;">#DD4CAB</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">text-decoration</span><span style="color: #00AA00;">:</span><span style="color: #993333;">none</span><span style="color: #00AA00;">;</span>
	<span style="color: #00AA00;">&#125;</span>
&nbsp;
<span style="color: #cc00cc;">#menu</span> li a<span style="color: #3333ff;">:hover	</span><span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">display</span><span style="color: #00AA00;">:</span><span style="color: #993333;">block</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">height</span><span style="color: #00AA00;">:</span><span style="color: #933;">48px</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">color</span><span style="color: #00AA00;">:</span><span style="color: #cc00cc;">#DD4CAB</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">text-decoration</span><span style="color: #00AA00;">:</span><span style="color: #993333;">none</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">background</span><span style="color: #00AA00;">:</span><span style="color: #993333;">url</span><span style="color: #00AA00;">&#40;</span><span style="color: #ff0000;">'../images/menu_bg_hover.jpg'</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
	<span style="color: #00AA00;">&#125;</span>
&nbsp;
<span style="color: #cc00cc;">#menu</span> li<span style="color: #6666ff;">.no-left-border</span> a<span style="color: #3333ff;">:hover  </span><span style="color: #00AA00;">&#123;</span>
	border-top-left-radius<span style="color: #00AA00;">:</span><span style="color: #933;">9px</span><span style="color: #00AA00;">;</span>
	border-bottom-left-radius<span style="color: #00AA00;">:</span><span style="color: #933;">9px</span><span style="color: #00AA00;">;</span>
	-moz-border-radius-topleft<span style="color: #00AA00;">:</span><span style="color: #933;">9px</span><span style="color: #00AA00;">;</span>
	-moz-border-radius-bottomleft<span style="color: #00AA00;">:</span><span style="color: #933;">9px</span><span style="color: #00AA00;">;</span>
	-webkit-border-top-left-radius<span style="color: #00AA00;">:</span><span style="color: #933;">9px</span><span style="color: #00AA00;">;</span>
	-webkit-border-bottom-left-radius<span style="color: #00AA00;">:</span><span style="color: #933;">9px</span><span style="color: #00AA00;">;</span>
	<span style="color: #00AA00;">&#125;</span>
&nbsp;
<span style="color: #cc00cc;">#menu</span> li<span style="color: #6666ff;">.no-right-border</span> a<span style="color: #3333ff;">:hover  </span><span style="color: #00AA00;">&#123;</span>
	border-top-right-radius<span style="color: #00AA00;">:</span><span style="color: #933;">9px</span><span style="color: #00AA00;">;</span>
	border-bottom-right-radius<span style="color: #00AA00;">:</span><span style="color: #933;">9px</span><span style="color: #00AA00;">;</span>
	-moz-border-radius-topright<span style="color: #00AA00;">:</span><span style="color: #933;">9px</span><span style="color: #00AA00;">;</span>
	-moz-border-radius-bottomright<span style="color: #00AA00;">:</span><span style="color: #933;">9px</span><span style="color: #00AA00;">;</span>
	-webkit-border-top-right-radius<span style="color: #00AA00;">:</span><span style="color: #933;">9px</span><span style="color: #00AA00;">;</span>
	-webkit-border-bottom-right-radius<span style="color: #00AA00;">:</span><span style="color: #933;">9px</span><span style="color: #00AA00;">;</span>
	<span style="color: #00AA00;">&#125;</span></pre></div></div>

<p><strong>Coding the behavior of the menu using jQuery</strong></p>
<p>I am not going to reinvent the wheel here, but jQuery seems to be the best javascript framework out there. If you&#8217;re not familiar to jQuery you can find some great tutorials and examples <a href="http://jquery.com/" target="_blank">over here</a>.</p>
<p><strong>Javascript for menus? Are you insane!</strong></p>
<p>Some people out there say you must not use javascript for navigation under any circumstances. I am sorry guys, but if you write your code professionally, using javascript for menus can seriously enhance your site&#8217;s functionality. The trick they&#8217;re talking about is what do you do when javascript is unavailable in the visitors browsers? Well, you have to code your menu in such a way it has <a href="http://en.wikipedia.org/wiki/Progressive_enhancement" target="_blank">progressive enhancement</a> and works just fine if javascript is off. And yes, this menu achieves progressive enhancement. If javascript is turned off, the menu will be directly visible, including the part that should slide when needed. Nothing is inaccessible. Moreover, search engine&#8217;s bots will see the site just as if they were a visitor without javascript, so search engine optimization is preserved if using this menu.</p>
<p><strong>Let&#8217;s get down to the jQuery</strong></p>
<p>jQuery uses html IDs and classes to identify elements in the html page that it needs to work with. Our menu currently has unique ID, but the &#8220;cleaning&#8221;, &#8220;cooking&#8221; and &#8220;gardening&#8221; links don&#8217;t, so we add a class for each of them. The classes are unique too.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>8
9
10
11
12
13
14
</pre></td><td class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">ul</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;menu&quot;</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;all-rounded&quot;</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;no-left-border&quot;</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&quot;</span> <span style="color: #000066;">target</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;_self&quot;</span>&gt;</span>home<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">target</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;_self&quot;</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;cleaning-but&quot;</span>&gt;</span>cleaning<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">target</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;_self&quot;</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;cooking-but&quot;</span>&gt;</span>cooking<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">target</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;_self&quot;</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;gardening-but&quot;</span>&gt;</span>gardening<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;no-right-border&quot;</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&quot;</span> <span style="color: #000066;">target</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;_self&quot;</span>&gt;</span>about us<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">ul</span>&gt;</span></pre></td></tr></table></div>

<p>In order to achieve progressive enhancement, we must first disable javascript and load the menu page. So far, due to our code the menu displays in its entirety, including the part that in a few minutes will slide beautifully if javascript is on. But if it has to slide, it has to be hidden first, and this is the trick we pick out from our sleeves. The first thing we&#8217;re to do with jQuery is to hide the sliding part of the menu. By doing this, people having javascript turned on will not see the menu until they click to expand it. They will only see the menu bar. Here&#8217;s the jQuery code needed to achieve this:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.menu-extend'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">hide</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>The rest is simple. When you click one item in the navigation bar, you are taken to a page. This happens for the Home and About us links. When you click one of the links in the middle of the menu, the menu will slide and reveal the contents. If there&#8217;s another menu visible, clicking to expand one other item will make the expanded section slide back under the navigation bar, then the required content will slide back out. How cool is that?</p>
<p><strong>jQuery code step by step</strong><br />
There&#8217;s a bit of jQuery to be written here, so you can take a peak below to the full source code, then continue to the part I dice the code in pieces and explain what I&#8217;ve done.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">jQuery<span style="color: #009900;">&#40;</span>document<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">ready</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>$<span style="color: #009900;">&#41;</span>
 	<span style="color: #009900;">&#123;</span>
 	<span style="color: #006600; font-style: italic;">// start the magic</span>
 	<span style="color: #006600; font-style: italic;">// if javascript is on, the menu will work ok</span>
 	<span style="color: #006600; font-style: italic;">// Therefore we hide the expanded menu 	$('.menu-extend').hide();</span>
 	$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.clear'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">height</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
 	<span style="color: #006600; font-style: italic;">// if the &quot;Detailed menu&quot; button is clicked, fade it out and fade in the &quot;Close menu button&quot;</span>
	<span style="color: #006600; font-style: italic;">// also slide the expanded menu into place</span>
 	$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.cleaning-but'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">click</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
 		<span style="color: #009900;">&#123;</span>
 		<span style="color: #003366; font-weight: bold;">var</span> isVisible <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.menu-extend'</span><span style="color: #009900;">&#41;</span>.<span style="color: #000066; font-weight: bold;">is</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">':visible'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
 		<span style="color: #003366; font-weight: bold;">var</span> isVisiblecleaning <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.cleaning'</span><span style="color: #009900;">&#41;</span>.<span style="color: #000066; font-weight: bold;">is</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">':visible'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
 		<span style="color: #003366; font-weight: bold;">var</span> isVisiblecooking <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.cooking'</span><span style="color: #009900;">&#41;</span>.<span style="color: #000066; font-weight: bold;">is</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">':visible'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
 		<span style="color: #003366; font-weight: bold;">var</span> isVisiblegardening <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.gardening'</span><span style="color: #009900;">&#41;</span>.<span style="color: #000066; font-weight: bold;">is</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">':visible'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
 		<span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>isVisible<span style="color: #009900;">&#41;</span>
 			<span style="color: #009900;">&#123;</span>
 			<span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span>isVisiblecleaning<span style="color: #009900;">&#41;</span>
 				<span style="color: #009900;">&#123;</span>
 				<span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>isVisiblecooking<span style="color: #009900;">&#41;</span>
 					<span style="color: #009900;">&#123;</span>
 					$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.cooking'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">slideUp</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;1000&quot;</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.cleaning'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">slideDown</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;1000&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
 					<span style="color: #009900;">&#125;</span>
 				<span style="color: #000066; font-weight: bold;">else</span> <span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>isVisiblegardening<span style="color: #009900;">&#41;</span>
 					<span style="color: #009900;">&#123;</span>
 					$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.gardening'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">slideUp</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;1000&quot;</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.cleaning'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">slideDown</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;1000&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
 					<span style="color: #009900;">&#125;</span>
 				<span style="color: #009900;">&#125;</span>
 				<span style="color: #000066; font-weight: bold;">else</span>
 				<span style="color: #009900;">&#123;</span>
 				$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.cleaning'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">slideUp</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;1000&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
 				<span style="color: #009900;">&#125;</span>
 			<span style="color: #009900;">&#125;</span>
 		<span style="color: #000066; font-weight: bold;">else</span>
 			<span style="color: #009900;">&#123;</span>
 			$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.cleaning'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">slideDown</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
 			<span style="color: #009900;">&#125;</span>
 	    <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
 	$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.cooking-but'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">click</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
 		<span style="color: #009900;">&#123;</span>
 		<span style="color: #003366; font-weight: bold;">var</span> isVisible <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.menu-extend'</span><span style="color: #009900;">&#41;</span>.<span style="color: #000066; font-weight: bold;">is</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">':visible'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
 		<span style="color: #003366; font-weight: bold;">var</span> isVisiblecleaning <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.cleaning'</span><span style="color: #009900;">&#41;</span>.<span style="color: #000066; font-weight: bold;">is</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">':visible'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
 		<span style="color: #003366; font-weight: bold;">var</span> isVisiblecooking <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.cooking'</span><span style="color: #009900;">&#41;</span>.<span style="color: #000066; font-weight: bold;">is</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">':visible'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
 		<span style="color: #003366; font-weight: bold;">var</span> isVisiblegardening <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.gardening'</span><span style="color: #009900;">&#41;</span>.<span style="color: #000066; font-weight: bold;">is</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">':visible'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
 		<span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>isVisible<span style="color: #009900;">&#41;</span>
 			<span style="color: #009900;">&#123;</span>
 			<span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span>isVisiblecooking<span style="color: #009900;">&#41;</span>
 				<span style="color: #009900;">&#123;</span>
 				<span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>isVisiblecleaning<span style="color: #009900;">&#41;</span>
 					<span style="color: #009900;">&#123;</span>
 					$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.cleaning'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">slideUp</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;1000&quot;</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.cooking'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">slideDown</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;1000&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
 					<span style="color: #009900;">&#125;</span>
 				<span style="color: #000066; font-weight: bold;">else</span> <span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>isVisiblegardening<span style="color: #009900;">&#41;</span>
 					<span style="color: #009900;">&#123;</span>
 					$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.gardening'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">slideUp</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;1000&quot;</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.cooking'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">slideDown</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;1000&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
 					<span style="color: #009900;">&#125;</span>
 				<span style="color: #009900;">&#125;</span>
 				<span style="color: #000066; font-weight: bold;">else</span>
 				<span style="color: #009900;">&#123;</span>
 				$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.cooking'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">slideUp</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;1000&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
 				<span style="color: #009900;">&#125;</span>
 			<span style="color: #009900;">&#125;</span>
 		<span style="color: #000066; font-weight: bold;">else</span>
 			<span style="color: #009900;">&#123;</span>
 			$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.cooking'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">slideDown</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
 			<span style="color: #009900;">&#125;</span>
 	    <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
 	$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.gardening-but'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">click</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
 		<span style="color: #009900;">&#123;</span>
 		<span style="color: #003366; font-weight: bold;">var</span> isVisible <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.menu-extend'</span><span style="color: #009900;">&#41;</span>.<span style="color: #000066; font-weight: bold;">is</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">':visible'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
 		<span style="color: #003366; font-weight: bold;">var</span> isVisiblecleaning <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.cleaning'</span><span style="color: #009900;">&#41;</span>.<span style="color: #000066; font-weight: bold;">is</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">':visible'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
 		<span style="color: #003366; font-weight: bold;">var</span> isVisiblecooking <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.cooking'</span><span style="color: #009900;">&#41;</span>.<span style="color: #000066; font-weight: bold;">is</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">':visible'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
 		<span style="color: #003366; font-weight: bold;">var</span> isVisiblegardening <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.gardening'</span><span style="color: #009900;">&#41;</span>.<span style="color: #000066; font-weight: bold;">is</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">':visible'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
 		<span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>isVisible<span style="color: #009900;">&#41;</span>
 			<span style="color: #009900;">&#123;</span>
 			<span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span>isVisiblegardening<span style="color: #009900;">&#41;</span>
 				<span style="color: #009900;">&#123;</span>
 				<span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>isVisiblecooking<span style="color: #009900;">&#41;</span>
 					<span style="color: #009900;">&#123;</span>
 					$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.cooking'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">slideUp</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;1000&quot;</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.gardening'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">slideDown</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;1000&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
 					<span style="color: #009900;">&#125;</span>
 				<span style="color: #000066; font-weight: bold;">else</span> <span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>isVisiblecleaning<span style="color: #009900;">&#41;</span>
 					<span style="color: #009900;">&#123;</span>
 					$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.cleaning'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">slideUp</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;1000&quot;</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.gardening'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">slideDown</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;1000&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
 					<span style="color: #009900;">&#125;</span>
 				<span style="color: #009900;">&#125;</span>
 				<span style="color: #000066; font-weight: bold;">else</span>
 				<span style="color: #009900;">&#123;</span>
 				$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.gardening'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">slideUp</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;1000&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
 				<span style="color: #009900;">&#125;</span>
 			<span style="color: #009900;">&#125;</span>
 		<span style="color: #000066; font-weight: bold;">else</span>
 			<span style="color: #009900;">&#123;</span>
 			$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.gardening'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">slideDown</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
 			<span style="color: #009900;">&#125;</span>
 	    <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
 	<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>The first jQuery code is<em> $(&#8216;.clear&#8217;).height(0);.</em> This is used to set the height of the clearing div to 0. We added a clearing div to each of the expanded menu&#8217;s divs because all content inside them floats to the left, and would therefor cause the expanded menu div to collapse. By adding the clearing div we avoid that, but we also add 20 unnecessary pixels to the expanded menu&#8217;s height. We fix this problem with the code mentioned above.</p>
<p>Then, we have three different onclick functions. Each one does the same thing, but is triggered by a different element in the menu. I will explain the first one. <em>$(&#8216;.cleaning-but&#8217;).click(function () </em>is used to trigger clicking on the <em>href</em> tag that contains the link to cleaning menu. That link is identified by the <em>cleaning-but</em> class we added previously. When that link is clicked we don&#8217;t have just one behavior, so everything has to go inside a function.</p>
<p><em>var isVisible = $(&#8216;.menu-extend&#8217;).is(&#8216;:visible&#8217;);</em> is used to check if there&#8217;s any menu currently expanded. The variable will hold either <em>true</em> or <em>false </em>values. Here, the expanded menu is identified by the general class used for it <em>menu-extend</em>. We will use the same process to check what expanded menu is in fact expanded, be it the one for cleaning category, or another one. We will identify those by their unique classes <em>cleaning, cooking </em>and <em>gardening. </em></p>
<p>We first check if the menu is visible.<em> if(isVisible) </em>will return true if there&#8217;s an expanded menu, or false otherwise. If false, we will simply slide down the menu using <em>$(&#8216;.cleaning&#8217;).slideDown(); </em>located on the else side of the if. If there&#8217;s an expanded menu, we check to see if it is exactly the one we clicked. If it is the same one, we will slide it back up using <em>$(&#8216;.cleaning&#8217;).slideUp(&#8220;1000&#8243;);.</em> If it is another one, we slide up that div using a similar piece of code, then slide down the one needed. <em>$(&#8216;.cooking&#8217;).slideUp(&#8220;1000&#8243;, function() { $(&#8216;.cleaning&#8217;).slideDown(&#8220;1000&#8243;) }); </em>slides up the cooking expanded menu, and after that process is completed, it slides down the cleaning menu. The syntax for such a process is <em>$(&#8216;identifier&#8217;).slideUp(duration, callback event &#8211; the one triggered after first one is completed);</em></p>
<p><a href="http://demos.webia.info/fancy_menu_v1/" target="_blank">Here&#8217;s a live demo version of the menu.</a> Zip archive download will be available once we publish the second part of this article!<em><br />
</em></p>
<p>In the concept part we said that the contents of the expanded menu are in fact subcategories, and clicking on a subcategory will reveal the products located in that category. But that is another story and we will discuss it in the second part of the article.</p>
<p><strong>Coming up next</strong><br />
<a href="http://www.freelancermagazine.com/building-an-awesome-navigation-menu-with-jquery-part-2">Part 2: Displaying menu items using overlay</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.freelancermagazine.com/building-an-awesome-navigation-menu-with-jquery-part-1/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>A Recommendation Engine for Your Next eCommerce Project</title>
		<link>http://www.freelancermagazine.com/a-recommendation-engine-for-your-next-ecommerce-project/</link>
		<comments>http://www.freelancermagazine.com/a-recommendation-engine-for-your-next-ecommerce-project/#comments</comments>
		<pubDate>Sat, 17 Oct 2009 16:51:03 +0000</pubDate>
		<dc:creator>John Cottone</dc:creator>
				<category><![CDATA[Freelance Advice]]></category>
		<category><![CDATA[Web Dev and Programming]]></category>
		<category><![CDATA[Amazon]]></category>
		<category><![CDATA[client]]></category>
		<category><![CDATA[eCommerce]]></category>
		<category><![CDATA[ecommerce solutions]]></category>
		<category><![CDATA[freelance web developer]]></category>
		<category><![CDATA[netflix]]></category>
		<category><![CDATA[personalization]]></category>
		<category><![CDATA[product recommendation]]></category>
		<category><![CDATA[recommendation engine]]></category>
		<category><![CDATA[retailer]]></category>
		<category><![CDATA[shoppers]]></category>
		<category><![CDATA[strands]]></category>

		<guid isPermaLink="false">http://www.freelancermagazine.com/?p=1391</guid>
		<description><![CDATA[Internet giant Amazon.com popularized the product recommendation engine more than a decade ago, by creating a system that suggests items to customers based on what they, and others like them, had previously purchased or viewed.  That deep level of personalization is a major factor in the company&#8217;s success today.
In 2009, Netflix awarded a $1 [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.freelancermagazine.com/wp-content/uploads/2009/10/recommendation-engine.gif" alt="recommendation-engine" title="recommendation-engine" width="300" height="224" class="alignleft size-full wp-image-1413" />Internet giant Amazon.com popularized the product recommendation engine more than a decade ago, by creating a system that suggests items to customers based on what they, and others like them, had previously purchased or viewed.  That deep level of personalization is a major factor in the company&#8217;s success today.</p>
<p>In 2009, Netflix awarded a $1 million USD contest prize to researchers who could significantly improve their proprietary recommendation engine.  In theory, the more Netflix DVDs that customers add to their watch list, the longer that subscriber will remain with the service, since new movies will just keep coming.  The prize may seem hefty, but Netflix was so impressed with the results that they granted the prize and immediately announce that there would be a sequel to the recommendation competition.</p>
<p>So how can a freelance web developer implement an enterprise-quality recommendation engine for your smaller e-retail clients? You may think that you&#8217;d have a tough time competing with Amazon or Netflix on functionality.  However, low-priced service providers are now focused on enabling that process of discovery for small-site shoppers. These engines have low monthly costs, can be easily implemented in an afternoon, and work on the idea that you need to incorporate <a href="http://recommender.strands.com" target="_blank">behavioral targeting</a> in addition to monitoring a customer&#8217;s previous purchases.</p>
<p>Strands Recommender provides one of the low-cost <a href="http://recommender.strands.com" target="_blank">recommendation engine</a> options.  Their engine suggests products of interest based on a specific customer&#8217;s purchases, visits, searches, wish lists, and other behavior.  The system is quite flexible as well, with back-end capability to configure your recommendation display widgets.  The retailer can also create rules and product filters for each widget, where results can be previewed prior to being applied to the site.</p>
<p>Click for more detailed information on <a href="http://recommender.strands.com/sol-ecommerce-rec.php" target="_blank">Strands&#8217; eCommerce solutions</a>.  They can help make your eCommerce clients successful, and strengthen your site proposals by creating additional ROI.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.freelancermagazine.com/a-recommendation-engine-for-your-next-ecommerce-project/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Usability Tips: How to Properly Handle Images in your Site</title>
		<link>http://www.freelancermagazine.com/usability-tips-how-to-properly-handle-images-in-your-site/</link>
		<comments>http://www.freelancermagazine.com/usability-tips-how-to-properly-handle-images-in-your-site/#comments</comments>
		<pubDate>Wed, 07 Jan 2009 14:28:44 +0000</pubDate>
		<dc:creator>Bogdan</dc:creator>
				<category><![CDATA[Design and Multimedia]]></category>
		<category><![CDATA[Freelance Advice]]></category>
		<category><![CDATA[Web Dev and Programming]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[display]]></category>
		<category><![CDATA[gallery]]></category>
		<category><![CDATA[image]]></category>
		<category><![CDATA[images]]></category>
		<category><![CDATA[JS]]></category>
		<category><![CDATA[layout]]></category>
		<category><![CDATA[LightBox]]></category>
		<category><![CDATA[Media Temple]]></category>
		<category><![CDATA[navigation]]></category>
		<category><![CDATA[stock photos]]></category>
		<category><![CDATA[ThickBox]]></category>
		<category><![CDATA[thumbnail]]></category>
		<category><![CDATA[usability]]></category>
		<category><![CDATA[website]]></category>

		<guid isPermaLink="false">http://www.freelancermagazine.com/?p=1033</guid>
		<description><![CDATA[One of the most important aspects of the overall feel of a website comes from the pictures that lie within it. It is great that you can provide great layouts, interesting and enhanced navigation, valuable content, but all of the above will be worthless if the pictures you insert next to your content are:

of awful, [...]]]></description>
			<content:encoded><![CDATA[<p>One of the most important aspects of the overall feel of a website comes from the pictures that lie within it. It is great that you can provide great layouts, interesting and enhanced navigation, valuable content, but all of the above will be worthless if the pictures you insert next to your content are:</p>
<ul>
<li>of awful, low quality</li>
<li>displayed in the worst way possible</li>
</ul>
<p><span id="more-1033"></span>The first issue is usually solved by using stock photos. There&#8217;s a bunch of free stock photo galleries and there&#8217;s even more with paid subscription. However, the second issue is tricky. In the past years you have come to know quite a few css/js powered image display tools like <a rel="nofollow" href="http://www.lokeshdhakar.com/projects/lightbox/" target="_blank">LightBox</a>. Then there&#8217;s <a rel="nofollow" href="http://jquery.com/demo/thickbox/" target="_blank">ThickBox</a>, which I consider somewhat nicer. Both can be used in order to enlarge small thumbnails, but they both seem odd. Moreover, it depends on how you display the thumbnail, as some might not know immediately that clicking the image will provide a full size screen shot.</p>
<div id="attachment_1039" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.freelancermagazine.com/wp-content/uploads/2008/12/brown_university.png"><img class="size-medium wp-image-1039" src="http://www.freelancermagazine.com/wp-content/uploads/2008/12/brown_university-300x202.png" alt="Brown's website" width="300" height="202" /></a><p class="wp-caption-text">Brown</p></div>
<p>Take for example <a rel="nofollow" href="http://news.brown.edu/pressreleases/2008/12/mars" target="_blank">Brown University&#8217;s website</a> in the screen shot. If you hover the images in the post, you will see a &#8220;+ Zoom&#8221; message in the upper left corner of the image. You will then try to go to that corner, and unfortunately, when you reach the &#8220;+ Zoom&#8221; button, it will start blinking (tested in Safari and Firefox). Now, that is really confusing. Not to mention that you can click anywhere in the picture to see the full size version. But oops, you do not know that.</p>
<p>Don&#8217;t panic, because I think I have found the best solution out there, and I am sharing this with you. If you check the latest version of <a rel="nofollow" href="http://mediatemple.net/webhosting/dv/tours/plesk-tour.php" target="_blank">Media Temple&#8217;s website</a>, they too have screen shots in their control panel FAQ section. And those images are displayed perfectly. Rounded corners, borders, captions. But that&#8217;s not all of it. The great is about to be revealed. If you hover the image, in any given point, your pointer transforms into a &#8220;+&#8221; magnifying glass. What comes more natural to &#8220;enlarge&#8221; than a magnifying glass? Nothing! You even have text annotation, &#8220;Click to enlarge&#8221;, stupid.</p>
<div id="attachment_1040" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.freelancermagazine.com/wp-content/uploads/2008/12/media_temple.png"><img class="size-medium wp-image-1040" src="http://www.freelancermagazine.com/wp-content/uploads/2008/12/media_temple-300x202.png" alt="Media Temple's website screenshot, general" width="300" height="202" /></a><p class="wp-caption-text">Media Temple</p></div>
<p>Clicking will reveal a full size photo, more annotations, and in the upper central area of the image, navigation controls. YES! No need to scroll for next, previous etc buttons down to the bottom of your screen. You can even move the photo around, start slideshows, go to next picture, enlarge it even more and obviously hit the &#8220;X&#8221; close button. Now, if you do not want to go with the mouse around your screen to the &#8220;X&#8221; button, you will see your mouse pointer transformed into a &#8220;-&#8221; magnifying glass. Now, what comes more natural to &#8220;zoom out&#8221; than a magnifying glass with a minus inside it? Nothing!</p>
<div id="attachment_1041" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.freelancermagazine.com/wp-content/uploads/2008/12/media_temple2.png"><img class="size-medium wp-image-1041" src="http://www.freelancermagazine.com/wp-content/uploads/2008/12/media_temple2-300x202.png" alt="Media Temple's website screenshot, zoomed in" width="300" height="202" /></a><p class="wp-caption-text">Media Temple</p></div>
<p>Media Temple uses <a rel="nofollow" href="http://highslide.com/" target="_blank">HighSlide JS</a>, which is released under commercial license, but they do have a free version for you to try out.</p>
<p>Hands down for Media Temple!</p>
<p><em>Do you have a favorite or unique example of image handling you’d like to share?  Let us know via the comments section below.</em></p>
<p><em>If you liked this article, </em><a title="freelancer magazine rss" href="http://feedproxy.google.com/FreelancerMagazine"><strong><em>please subscribe to our RSS feed</em></strong></a><em> and social bookmark this post using the links below.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.freelancermagazine.com/usability-tips-how-to-properly-handle-images-in-your-site/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>The Ultimate Navigation with CSS level 3</title>
		<link>http://www.freelancermagazine.com/navigation-css-level-3/</link>
		<comments>http://www.freelancermagazine.com/navigation-css-level-3/#comments</comments>
		<pubDate>Tue, 02 Dec 2008 22:28:39 +0000</pubDate>
		<dc:creator>Bogdan</dc:creator>
				<category><![CDATA[Design and Multimedia]]></category>
		<category><![CDATA[Freelance Advice]]></category>
		<category><![CDATA[Web Dev and Programming]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[css level]]></category>
		<category><![CDATA[design layout]]></category>
		<category><![CDATA[drop down menu]]></category>
		<category><![CDATA[drop down menus]]></category>
		<category><![CDATA[level 3]]></category>
		<category><![CDATA[list]]></category>
		<category><![CDATA[mac os x]]></category>
		<category><![CDATA[menu bar]]></category>
		<category><![CDATA[navigation]]></category>
		<category><![CDATA[navigation system]]></category>
		<category><![CDATA[style]]></category>
		<category><![CDATA[ultimate]]></category>
		<category><![CDATA[user interface design]]></category>

		<guid isPermaLink="false">http://www.freelancermagazine.com/?p=910</guid>
		<description><![CDATA[Please note that this article is targeted at web designers and developers who are well versed in xHTML/CSS.
Update: A demo of this method can be found here: The Ultimate Navigation CSS Level3 Demo &#8211; by Bogdan Pop
One of the toughest tasks in the process of developing your web applications or web sites is choosing the best [...]]]></description>
			<content:encoded><![CDATA[<p><em><strong>Please note that this article is targeted at web designers and developers who are well versed in xHTML/CSS</strong>.</em></p>
<p><em>Update</em>: A demo of this method can be found here: <a title="The Ultimate Navigation - Demo" href="http://freelancermagazine.com/The_Ultimate_Navigation_CSS_Level3_by_Bogdan_Pop/template.html" target="_blank">The Ultimate Navigation CSS Level3 Demo &#8211; by Bogdan Pop</a></p>
<p>One of the toughest tasks in the process of developing your web applications or web sites is choosing the best navigation system. Let&#8217;s face it, the easier people get around in your website, the more delighted they are.  With this in mind, you have been reading articles on user interface design, layout, and by now you are  implementing <a rel="nofollow" href="http://en.wikipedia.org/wiki/Breadcrumb_%28navigation%29" target="_blank">breadcrumb trails</a> and other list handling techniques, such as the ones described in <a rel="nofollow" href="http://www.alistapart.com/articles/taminglists/" target="_blank">taming lists</a> article at A List Apart. Everything evolved and now you implement <a rel="nofollow" href="http://www.alistapart.com/articles/horizdropdowns/" target="_blank">drop down menus</a>. But does this really work on big websites?</p>
<p><span id="more-910"></span>BIG websites have an impressive number of pages, features and widgets. Having a drop down menu makes life easier, and breadcrumb navigation shows your location lets you get out of there fast.  One issue is that navigation is usually fixed, and if you scroll down the page you get lost. You cannot jump to a similar page, you cannot take a peek at what else is there, and so on. The usual solution would be adding a footer navigation, or adding a <em>top</em> link that takes you back to the navigation area.</p>
<p>Of course, this works ok for you, but users do not really like going back and forth like Sisyphus. There is one solution. Mac OS X has flawless navigation systems, as far as I am concerned. The newly implemented stacks work like a charm, but I am referring here to the menu bar usually seen on top of the desktop. This is what you will achieve in your web applications easily by following the guidelines of this article.</p>
<p>I will use some CSS level 3 tags, which unfortunately do not validate. The good thing is that I will use them for styling purposes only. If you want a validating XHTML 1.0 Transitional menu you will just have to remove that fancy styling.</p>
<h2>Building the menu bar</h2>
<p>The menu I will build is based on the drop down menu technique, and it is derived from one of Stu Nicholls menus available at <a rel="nofollow" href="http://www.cssplay.co.uk/menus/" target="_blank">CSS Play</a>. This menu will use small Javascript in order to work on IE, but latest updates on CSS Play provide <a rel="nofollow" href="http://www.cssplay.co.uk/menus/dd_valid.html" target="_blank">full CSS validation menus</a>.</p>
<p>Let&#8217;s start with the content of our menu. below you will find a small list which will be the foundation of our ultimate navigation.</p>
<pre>	<code>
&lt;div id="menubar"&gt;
&lt;ul id="navmenu"&gt;
	&lt;li&gt;&lt;a href="javascript:void()" target="_self"&gt;The site&lt;/a&gt;
		&lt;ul&gt;
			&lt;li class="start"&gt;&lt;a href="#" target="_self"&gt;About&lt;/a&gt;&lt;/li&gt;
			&lt;li class="expand"&gt;&lt;a href="#" target="_self"&gt;My account&lt;/a&gt;
				&lt;ul&gt;
					&lt;li class="start"&gt;&lt;a href="#" target="_self"&gt;Profile&lt;/a&gt;&lt;/li&gt;
					&lt;li&gt;&lt;a href="#" target="_self"&gt;Change password&lt;/a&gt;&lt;/li&gt;
					&lt;li&gt;&lt;a href="#" target="_self"&gt;Change avatar&lt;/a&gt;&lt;/li&gt;
					&lt;li&gt;&lt;a href="#" target="_self"&gt;My submissions&lt;/a&gt;&lt;/li&gt;
					&lt;li class="end"&gt;&lt;a href="#" target="_self"&gt;My awards&lt;/a&gt;&lt;/li&gt;
				&lt;/ul&gt;
			&lt;/li&gt;
			&lt;li&gt;&lt;a href="#" target="_self"&gt;Lorem&lt;/a&gt;&lt;/li&gt;
			&lt;li class="end"&gt;&lt;a href="#" target="_self"&gt;Ipsum&lt;/a&gt;&lt;/li&gt;
		&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;&lt;a href="javascript:void()" target="_self"&gt;Articles&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href="javascript:void()" target="_self"&gt;Interviews&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href="javascript:void()" target="_self"&gt;Partners&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
	</code></pre>
<p>Now that we built a basic menu using lists, lets apply the CSS to it. Please note that my style will make the ending menu look similar to OS X. The visitors on the website I will implement this are mainly Macintosh users, so I though they should see something familiar.</p>
<p>The best thing about this menu is that it will float on the top of the web page, even if the users scroll. This way, at any time, they will be able to jump wherever they need to inside your website, and more.</p>
<h2>Styling the menu</h2>
<p>The end menu will have horizontal root, and 2 vertical expanding menus.</p>
<blockquote>
<pre>	<code>
#menubar {
	width:100%;
	height:25px;
	position:fixed;
	top:0;
	left:0;
	margin:0 auto;
	padding:0;
	background-image:url('images/menubar_default.jpg');
	background-repeat:repeat-x;
	line-height:25px;
	font-size:1.2em;
	z-index:4000;
	}</code></pre>
</blockquote>
<p>The menu will span across the entire width of the page, and it will have a fixed position as described above. The background image is optional. Next, we set the default style of the menubar. We do not need any styles applied to the list, such as bullets. The items of the menu will float to left, just like they do under OS X.</p>
<blockquote>
<pre>	<code>
ul#navmenu {
	margin:0 auto;
	padding:0;
	float:left;
	list-style: none;
	border: 0 none;
	margin-left:25px;
	}

ul#navmenu li {
		margin: 0;
		border: 0 none;
		padding: 0;
		float: left; /*For Gecko*/
		display: inline;
		list-style: none;
		position: relative;
	}
	</code></pre>
</blockquote>
<p>Next, we add some basic style to the first expanding level. The webkit box shadow will apply a shadow effect, which unfortunately will be displayed only on Safari. However, used now, it will probably show up on later versions of the other browsers. The border radius will apply rounded corners to the shadow itself. The last line of the below code will render the menubar top background invisible.</p>
<blockquote>
<pre>	<code>
ul#navmenu ul {
	margin: 0;
	border: 0 none;
	padding: 0;
	width: 250px;
	list-style: none;
	display: none;
	position: absolute;
	top: 25px;
	left: 0;
	-webkit-box-shadow: 10px 10px 10px #CCCCCC;
	-webkit-border-radius: 5px;
}

ul#navmenu ul li {
	float: none; /*For Gecko*/
	display: block !important;
	display: inline; /*For IE*/
	background-image:none;
}
	</code></pre>
</blockquote>
<p>Now we add the style for the root menubar.</p>
<blockquote>
<pre>	<code>
ul#navmenu a {
	padding: 0 10px;
	float: none !important; /*For Opera*/
	float: left; /*For IE*/
	display: block;
	color:#000000;
	line-height:25px;
	text-decoration: none;
	height: auto !important;
	height: 1%; /*For IE*/
	text-align:center;
}

ul#navmenu a:hover,
ul#navmenu li:hover a,
ul#navmenu li.iehover a {
	border-right-color: #CCC;
	border-bottom-color: #CCC;
	color: #FFFFFF;
	background-image:url('images/menubar_hover.jpg');
}
	</code></pre>
</blockquote>
<p>The first expanding menu will have the classic expanding arrow positioned to the right if it expands itself into more links. We also have a basic style for it, and the start and ending classes. The later will also have rounded corners on bottom, which we add with -moz-border-radius-bottomleft and -webkit-border-bottom-left-radius.</p>
<blockquote>
<pre>	<code>
ul#navmenu li:hover li a,
ul#navmenu li.iehover li a {
	float: none;
	line-height:25px;
	width:230px;
	text-align:left;
	color: #000000;
	background-image:none;
	background-color:#FFF;
        border-bottom:none;
}

/* 2nd Menu Hover Persistence */
ul#navmenu li:hover li a:hover,
ul#navmenu li:hover li:hover a,
ul#navmenu li.iehover li a:hover,
ul#navmenu li.iehover li.iehover a {
	color: #FFF;
	background-image:url('images/menu_ex_hover_bg.jpg');
	background-repeat:repeat-x;
        border-bottom:none;
}

ul#navmenu ul li
	{
	width:250px;
	padding:0px;
	background-color:#FFF;
	border: 1px solid #999999;
	border-top:none;
	border-bottom:none;
	}
ul#navmenu ul li.start
	{
	background-color:#FFF;
	border: 1px solid #999999;
	border-top:none;
	border-bottom:none;
	padding-top:5px;
	}
ul#navmenu ul li.end
	{
	-moz-border-radius-bottomleft:7px;
	-webkit-border-bottom-left-radius:7px;
	-moz-border-radius-bottomright:7px;
	-webkit-border-bottom-right-radius:7px;
	padding-bottom:5px;
	background-color:#FFF;
	border: 1px solid #999999;
	border-top:none;
	}
	</code></pre>
</blockquote>
<p>Let&#8217;s add the style for the second level expanding menu. The hover persistence will have a new background image, so that we obtain the reversing of the white and blue colors used in the menu in it&#8217;s background and as well in the arrow. We have the start class of the list, which will have the optional rounded top right corner, and the end class which will have both bottom corners rounded.</p>
<blockquote>
<pre>	<code>
ul#navmenu li:hover li.expand:hover li a,
ul#navmenu li.iehover li.iehover li a {
	background: #FFFFFF;
	color: #000000;
	background-image:none;
        border-bottom:none;
}

/* 3rd Menu Hover Persistence */
ul#navmenu li:hover li.expand:hover li a:hover,
ul#navmenu li:hover li.expand:hover li:hover a,
ul#navmenu li.iehover li.iehover li a:hover,
ul#navmenu li.iehover li.iehover li.iehover a {
	background: #FFFFFF;
	color: #FFF;
	background-image:url('images/menu_ex_hover_bg.jpg');
	background-repeat:repeat-x;
        border-bottom:none;
}

ul#navmenu ul li ul li
	{
	width:250px;
	padding:0px;
	background-color:#FFF;
	border: 1px solid #999999;
	border-bottom:none;
	border-top:none;
	}
ul#navmenu ul li ul li.start
	{
	background-color:#FFF;
	border: 1px solid #999999;
	border-bottom:none;
	padding-top:5px;
	-moz-border-radius-topright:7px;
	-webkit-border-top-right-radius:7px;
	}
ul#navmenu ul li ul li.end
	{
	-moz-border-radius-bottomleft:7px;
	-webkit-border-bottom-left-radius:7px;
	-moz-border-radius-bottomright:7px;
	-webkit-border-bottom-right-radius:7px;
	padding-bottom:5px;
	background-color:#FFF;
	border: 1px solid #999999;
	border-top:none;
	}
	</code></pre>
</blockquote>
<p>And we are done with the styling of the menu.</p>
<h2>The javascript</h2>
<p>In order to make the menu work on IE, the next simple javascript has to be loaded.</p>
<blockquote>
<pre>	<code>
navHover = function() {
	var lis = document.getElementById("navmenu").getElementsByTagName("LI");
	for (var i=0; i &lt; lis.length; i++) {
		lis[i].onmouseover=function() {
			this.className+=" iehover";
		}
		lis[i].onmouseout=function() {
			this.className=this.className.replace(new RegExp(" iehover\\b"), "");
		}
	}
}
if (window.attachEvent) window.attachEvent("onload", navHover);
	</code></pre>
</blockquote>
<h2>IE 6 fixes</h2>
<p>Unfortunately, we need a quick fix for IE 6. If we do not use this fix than the navigation bar will remain on top of the page in IE 6 and will not float down as you scroll. Therefor you would need to keep going back to the top of the page instead of just using it whenever you want. You must add to the js file the following code:</p>
<blockquote>
<pre><code>function move_box()
{
var offset = 0;
var element = document.getElementById('menubar');

element.style.top = (document.documentElement.scrollTop + offset) + 'px';
}</code></pre>
</blockquote>
<p>You must the edit the html and add the following code into the body of the page. The css code will alter the style for IE 6 and change menubar from fixed position to absolute position, while the js part of the fix will make the browser set the new height for the menubar if you scroll down the page.</p>
<blockquote>
<pre><code>&lt;!--[if lt IE 7]&gt;
&lt;style type="text/css"&gt;
#menubar {
position: absolute;
top: 0px;
left: 0px;
}
&lt;/style&gt;
&lt;script type="text/javascript"&gt;
window.setInterval(move_box, 1);
&lt;/script&gt;
&lt;![endif]--&gt;</code></pre>
</blockquote>
<h2>The graphic elements</h2>
<p>In the css above we added some tags that referred to a few JPG files. They are used to make the menu look like OS X. It is not the exact color scheme, but it is something similar. You can use your own styling, even without images. If you fancy, the ones I used are available in the full source codes <a rel="nofollow" href="http://www.freelancermagazine.com/wp-content/uploads/2008/12/the_ultimate_navigation_css_level3_by_bogdan_pop.zip" target="_blank">over here</a> (images, css, html, js).</p>
<h2>And you&#8217;re done</h2>
<p>This was pretty much all on building the ultimate navigation for your websites. Have fun and give the users the chance to love you once again. Below is a screenshot of how this looks on mac OS X Safari.</p>
<p>If you’d like to support our work and advice, just use the social bookmark options in the bar below and bookmark us!  And, if you enjoyed this post, <a title="Freelancer Magazine RSS" href="http://feeds.feedburner.com/FreelancerMagazine" target="_self"><strong>please subscribe to our RSS feed</strong></a>.</p>
<p><em><strong>Author </strong></em><a rel="nofollow" href="http://www.bogdanpop.info" target="_blank"><em><strong>Bogdan Pop</strong></em></a><em><strong> is a young Romanian entrepreneur who runs </strong></em><a title="web development romania" rel="nofollow" href="http://www.webraptor.eu" target="_blank"><em><strong>WebRaptor</strong></em></a><em><strong>. He loves web programming and design and has a passion for standards and SEO. He relaxes by taking photos every once in a while and by mixing french electronic music.</strong></em></p>
<div id="attachment_947" class="wp-caption aligncenter" style="width: 307px"><a href="http://www.freelancermagazine.com/wp-content/uploads/2008/12/screenshot.png"><img class="size-medium wp-image-947" src="http://www.freelancermagazine.com/wp-content/uploads/2008/12/screenshot-297x300.png" alt="Ultimate navigation with css level 3" width="297" height="300" /></a><p class="wp-caption-text">Ultimate navigation with css level 3</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.freelancermagazine.com/navigation-css-level-3/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
		<item>
		<title>How To Make Your Portfolio Better And Get More Clients: Part 2</title>
		<link>http://www.freelancermagazine.com/how-to-make-your-portfolio-better-and-get-more-clients-part-2/</link>
		<comments>http://www.freelancermagazine.com/how-to-make-your-portfolio-better-and-get-more-clients-part-2/#comments</comments>
		<pubDate>Sat, 25 Oct 2008 21:39:16 +0000</pubDate>
		<dc:creator>Taiyab</dc:creator>
				<category><![CDATA[Design and Multimedia]]></category>
		<category><![CDATA[Freelance Advice]]></category>
		<category><![CDATA[Marketing Resources]]></category>
		<category><![CDATA[Web Dev and Programming]]></category>

		<guid isPermaLink="false">http://www.freelancermagazine.com/?p=763</guid>
		<description><![CDATA[In the last part of this topic, I covered ways to improve your portfolio. Usability was the main issue at hand, and I presented many ways in which you could make your portfolio user-friendly, and therefore attract more potential client interest. In the second part of this topic, I decide to go deep into the [...]]]></description>
			<content:encoded><![CDATA[<p>In the <a href="http://www.freelancermagazine.com/how-to-make-your-portfolio-better-and-get-more-clients-part-1/" target="_blank">last part of this topic</a>, I covered ways to improve your portfolio. Usability was the main issue at hand, and I presented many ways in which you could make your portfolio user-friendly, and therefore attract more potential client interest. In the second part of this topic, I decide to go deep into the realm of marketing; and obviously in particular, the marketing of your portfolio.</p>
<p>Now, there are an abundance of ways for freelancers to market their portfolio in order to get more exposure and ultimately get better clients. I&#8217;ve noticed that freelancers in particular don&#8217;t take time out of their usual schedule to come up with new, creative ideas on how to promote their portfolio. A lot of freelancers don&#8217;t dedicate nearly as enough time as they should marketing and they don&#8217;t do it right. Well, here&#8217;s a list on ways in which you can effectively market your portfolio (also included are ways you could directly land more clients as well).</p>
<p><span id="more-763"></span></p>
<h2>Ways To Creatively Market Your Portfolio And Score More Clients</h2>
<h3>1) Start a blog with tutorials/resources/articles</h3>
<p>As a freelancer, you should always be trying to expand the audience of your portfolio. A lot of the time though there isn&#8217;t much more to attract visitors than your work (because obviously, it&#8217;s a portfolio, it&#8217;s meant for that) but by adding additional content to your portfolio you can attract visitors that would not have necessarily visited otherwise.</p>
<p>For example, if you write a bunch of articles on finding the right freelancer on a blog you&#8217;ve put up on your portfolio, then soon enough when someone searches with regard to that topic, your portfolio will come up with that article, and you&#8217;ll be receiving targeted, relevant traffic to your portfolio that could potential convert into a client.</p>
<p>To look at this in another perspective, say for example you&#8217;re a freelance designer and you really enjoy designing user-interfaces for web applications. Why don&#8217;t you write up and distribute programming tutorials on your portfolio? That way you&#8217;ll be attracting a programmer-based audience, some of whom may be looking for a good user-interface designer for their web applications. Even if you don&#8217;t manage to score those programmers as clients, you&#8217;re still spreading your name around which is always a good thing when it comes to recommendations.</p>
<h3>2) Purchase Advertising</h3>
<p>I don&#8217;t really recommend this method much because it isn&#8217;t that effective (well, from what I&#8217;ve tried) but if you&#8217;re experienced enough in private ad purchasing you could make this work. Try and find cheap advertising on targeted, relevant websites with good amounts of traffic for your portfolio. Make a small, creative ad for your portfolio and purchase any ad spots you find that fit the bill.</p>
<h3>3) Join networks such as LinkedIn, Twitter etc.</h3>
<p>By joining websites like LinkedIn, Twitter, and the rest of them you can get your name out there much more effectively. Remember, the Internet is a crowded place, and competition is fierce for positions such as freelance designers and coders. Make sure your profiles have a link back to your portfolio.</p>
<h3>4) Join your local Chamber of Commerce</h3>
<p>This one isn&#8217;t so much about increasing exposure to your portfolio but about scoring direct clients from &#8216;word-of-mouth&#8217;. I doubt you&#8217;d score any clients straight off the bat from this method, but over time you will. The best way to take advantage of &#8216;word-of-mouth&#8217; advertising is to network face-to-face with other people &#8211; that way you&#8217;re fresh in their mind when they need to recommend someone.</p>
<h3>5) Establish yourself as a market leader</h3>
<p>This one&#8217;s a lot tricker than the rest. How do I establish myself as a market leader I hear you say? Well, first off you can put yourself forward to talk at local design/coding/writing events (or events related to whatever you&#8217;re freelancing in). This will naturally get you established as a big name in the market. You could also try publishing articles in the bigger media outlets related to your freelancing field. For example, if you&#8217;re a freelance designer you could try and get articles published on major design-related sites like Smashing Magazine.</p>
<h3>6) Participate in related forums</h3>
<p>By participating in discussion in related web forums to your freelancing field, you help garner a name for yourself. Don&#8217;t forget to include your portfolio in your signature! I stress to you NOT to post spammy type posts on forums, they don&#8217;t get you anywhere. Instead, try to discuss important issues with regards to your field.</p>
<h3>7) Spread those cards!</h3>
<p>Do you have business cards? No? Well, get some printed. They don&#8217;t have to be expensive or anything, just decent; although you could be very creative with your business card and therefore garner a lot more attention to yourself (which could in the end land you more clients). <a title="creative business cards" href="http://creativebits.org/cool_business_card_designs" target="_blank"><strong>Some people have been so creative with their business cards it&#8217;s unbelieveable</strong></a>.</p>
<h3> <img src='http://www.freelancermagazine.com/wp-includes/images/smilies/icon_cool.gif' alt='8)' class='wp-smiley' /> Ask for recommendations from family and friends</h3>
<p>There&#8217;s no harm in telling your family and friends what you do and telling them to refer anyone interest in such a service to you. You can hit the odd client or two like this and it requires little effort.</p>
<h3>9) Best and only the best</h3>
<p>Make sure you only place the BEST of your work on your portfolio. Personally, I would place a maximum of 6-8 seperate pieces of work. Potential clients just need to get a feel for the quality of your work, not examine all the work you&#8217;ve ever done!</p>
<p>There you have it, a couple ways for you to increase exposure to your portfolio, and a few general ways in which you could potentially land more clients. Following these tips will hopefully bring you good results, and land you some really valuable clients.</p>
<p>Remember, if you enjoy our posts, please <a title="Freelancer Magazine RSS" href="http://feeds.feedburner.com/FreelancerMagazine" target="_blank"><strong>subscribe to our RSS feed</strong></a>; we have now put full feed text instead of summaries into our feeds.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.freelancermagazine.com/how-to-make-your-portfolio-better-and-get-more-clients-part-2/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>The Return of Table-Based Layout (Well, Sort Of)</title>
		<link>http://www.freelancermagazine.com/the-return-of-table-based-layout/</link>
		<comments>http://www.freelancermagazine.com/the-return-of-table-based-layout/#comments</comments>
		<pubDate>Thu, 23 Oct 2008 10:22:49 +0000</pubDate>
		<dc:creator>Bogdan</dc:creator>
				<category><![CDATA[Design and Multimedia]]></category>
		<category><![CDATA[Freelance Advice]]></category>
		<category><![CDATA[Web Dev and Programming]]></category>
		<category><![CDATA[css table based layout]]></category>
		<category><![CDATA[CSS2]]></category>

		<guid isPermaLink="false">http://www.freelancermagazine.com/?p=730</guid>
		<description><![CDATA[This is a guest article written by Bogdan Pop, a young Romanian entrepreneur who runs WebRaptor. He loves web programming and design and has a passion for standards and SEO. He relaxes by taking photos every once in a while and by mixing french electronic music.
Please note that this article is targeted at those of [...]]]></description>
			<content:encoded><![CDATA[<p><em>This is a guest article written by <a href="http://www.bogdanpop.info" target="_blank">Bogdan Pop</a>, a young Romanian entrepreneur who runs <a title="web development romania" href="http://www.webraptor.eu" target="_blank">WebRaptor</a>. He loves web programming and design and has a passion for standards and SEO. He relaxes by taking photos every once in a while and by mixing french electronic music.</em></p>
<p><strong><em>Please note that this article is targeted at those of us who are more code-centric and well versed in xHTML/CSS.</em></strong></p>
<h2>How to build &#8220;table based&#8221; layouts with CSS Level 2</h2>
<h3>No quirks or tricks and it&#8217;s all standard compliant. Developers need free time, and now they can have it.</h3>
<p>How many of you have lost countless hours while developing the perfect layout for your websites? How many have lost in fact money because of the extra time needed to complete a job! How many of you &#8220;have gone crazy&#8221; because of Internet Explorer and it&#8217;s incompatibility with standards based markup. Well, all of you need to have a quick break and celebrate. All those days will soon be over.</p>
<p><span id="more-730"></span></p>
<p>Developers, meet tables. Now please don&#8217;t get mad on me, because you&#8217;re not being taken back to table based layouts that standards advocates have told you not to use for your layout. I am not talking about HTML tables that are a semantic structure, I am here about <strong>pure css tables</strong>. Yes, you heard me well. If years ago you used &lt;table&gt; , &lt;tr&gt;,  &lt;td&gt; and similar tags to structure your sites, you will now continue to use divs. But instead of using the <a title="faux columns" href="http://www.alistapart.com/articles/fauxcolumns/" target="_blank">faux columns</a> technique or the one described in the <a title="holy grail" href="http://www.alistapart.com/articles/holygrail/" target="_blank">holy grail</a>, you will be using something that is much more simple and that thanks to IE 8 now works exactly the same on all modern browsers.</p>
<h2>The power of CSS Level 2</h2>
<p>You will be using the CSS Level 2 <a title="css display property" href="http://www.w3schools.com/css/pr_class_display.asp" target="_blank">display property</a>. Instead of &lt;table&gt; tag, you will be using &#8220;display: table; &#8221; in your css file. The attributes you will be using with display are:</p>
<ul>
<li><strong>table</strong> makes the element behave like a table element</li>
<li><strong>table-row</strong> makes the element behave like a table row (tr) element</li>
<li><strong>table-cell</strong> makes the element behave like a table cell (td) element</li>
<li><strong>table-row-group</strong> makes the element behave like a table body row group (tbody) element</li>
<li><strong>table-header-group</strong> makes the element behave like a table header row group (thead) element</li>
<li><strong>table-footer-group</strong> makes the element behave like a table footer row group (tfoot) element</li>
<li><strong>table-caption</strong> makes the element behave like a table caption element</li>
<li><strong>table-column</strong> makes the element behave like a table column (col) element</li>
<li><strong>table-column-group</strong> makes the element behave like a table column group (colgroup) element</li>
</ul>
<p>So, lets get down to coding. First, XHTML:</p>
<blockquote>
<pre>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;
&lt;html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"&gt;
&lt;head&gt;
	&lt;meta http-equiv="Content-type" content="text/html; charset=utf-8" /&gt;
	&lt;title&gt;CSS Level 2 with table based settings&lt;/title&gt;
	&lt;link href="tables.css" rel="stylesheet" type="text/css" /&gt;
&lt;/head&gt;
&lt;body&gt;

&lt;div id="wrapper"&gt;
	&lt;div id="header"&gt;
		Header information
	&lt;/div&gt; 

	&lt;div id="main"&gt;
		&lt;div id="nav"&gt;
			Navigation list here
		&lt;/div&gt;

		&lt;div id="columns"&gt;
			&lt;div id="sidebar"&gt;
				Nifty sidebar
			&lt;/div&gt;

			&lt;div id="content"&gt;
				What would your site be without content
			&lt;/div&gt;
		&lt;/div&gt;

	&lt;/div&gt;
&lt;/div&gt;

&lt;/body&gt;
&lt;/html&gt;</pre>
</blockquote>
<p>If you look into the above source code, there&#8217;s nothing unusual, as most of you would have something similar in your own masterpieces. Lets add some styling.</p>
<blockquote>
<pre>body
	{
	margin-left: 0px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	}

#header
	{
	display:block;
	margin:0px auto;
	width:870px;
	padding:15px;
	background-color:#666;
	color:#FFF;
	}
/* nothing unusual so far */

#main
	{
	display: table;
	margin:0px auto;
	width:900px;
	}
/* display: table to make the main div be treated by browsers as a table */

#nav
	{
	display: table-row;
	width: 900px;
	height:50px;
	line-height:50px;
	text-indent:15px;
	background-color:#D6D6D6;
	color:#333;
	} 

/* is treated as a table row */

#sidebar
	{
	display: table-cell;
	width: 185px;
        height: 500px
	padding-left:15px;
	background-color:#FF6633;
	color:#333;
	} 

#content
	{
	display: table-cell;
	width: 685px;
	padding-left:15px;
	background-color:#77BBDD;
	color:#333;
	}

/* are placed inside the same father element: columns (check out the XHTML), and are treated as table cells */</pre>
</blockquote>
<p>Now, just in case you weren&#8217;t paying attention to all the code in there, I entered 500px height for the sidebar div. However, content div lacks such information, but it automatically spans just like the sidebar, same height! Check out the picture to see how things look right now.</p>
<div id="attachment_733" class="wp-caption aligncenter" style="width: 510px"><a href="http://www.freelancermagazine.com/wp-content/uploads/2008/10/picture-1.png"><img class="size-full wp-image-733" src="http://www.freelancermagazine.com/wp-content/uploads/2008/10/picture-1.png" alt="Table based CSS layout" width="500" height="473" /></a><p class="wp-caption-text">Table based CSS layout</p></div>
<p>Lets update sidebar&#8217;s style and remove the height.</p>
<blockquote>
<pre>#sidebar
	{
	display: table-cell;
	width: 185px;
	padding-left:15px;
	background-color:#FF6633;
	color:#333;
	}</pre>
</blockquote>
<p>Then we add some content to the site. Here&#8217;s how the site looks like naturally, with just a few lines of CSS.</p>
<div id="attachment_735" class="wp-caption aligncenter" style="width: 510px"><a href="http://www.freelancermagazine.com/wp-content/uploads/2008/10/picture-2.png"><img class="size-full wp-image-735" src="http://www.freelancermagazine.com/wp-content/uploads/2008/10/picture-2.png" alt="Table based CSS layout, final" width="500" height="473" /></a><p class="wp-caption-text">Table based CSS layout, final</p></div>
<p>All you have to do now is start using the technique and let others know it. In case you desperately need 3 extra minutes, you can download the above <strong><a title="table based CSS layout" href="http://www.freelancermagazine.com/wp-content/uploads/2008/10/table_based_css_layout.zip" target="_blank">table based CSS layout source code</a></strong>. Cheers!</p>
<p>If you liked this post, please feel free to <strong><a title="Freelancer Magazine RSS" href="http://feeds.feedburner.com/FreelancerMagazine" target="_blank">subscribe to our RSS feed</a></strong> and enjoy more great content daily.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.freelancermagazine.com/the-return-of-table-based-layout/feed/</wfw:commentRss>
		<slash:comments>40</slash:comments>
		</item>
		<item>
		<title>Poll Results: What is the best Open Source CMS (Content Management System)?</title>
		<link>http://www.freelancermagazine.com/poll-results-best-open-source-cms/</link>
		<comments>http://www.freelancermagazine.com/poll-results-best-open-source-cms/#comments</comments>
		<pubDate>Wed, 22 Oct 2008 21:45:00 +0000</pubDate>
		<dc:creator>Taiyab</dc:creator>
				<category><![CDATA[Freelance Advice]]></category>
		<category><![CDATA[Product and Service Reviews]]></category>
		<category><![CDATA[Web Dev and Programming]]></category>

		<guid isPermaLink="false">http://www.freelancermagazine.com/?p=695</guid>
		<description><![CDATA[We ran a poll which started about a week ago where the question was: &#8216;What is the best Open Source CMS (Content Management System)?&#8217;. The aim of the poll was to find out the public&#8217;s opinion on Content Management Systems, and find out which one out of the choices they found was the best out [...]]]></description>
			<content:encoded><![CDATA[<p>We ran a poll which started about a week ago where the question was: &#8216;<strong>What is the best Open Source CMS (Content Management System)?&#8217;</strong>. The aim of the poll was to find out the public&#8217;s opinion on Content Management Systems, and find out which one out of the choices they found was the best out of all. The results, I have to say were pretty conclusive.<span id="more-695"></span></p>
<h2>Results</h2>
<p>Here is a screenshot of what the results looked like at the time of this post:</p>
<p style="text-align: center;"><a href="http://www.freelancermagazine.com/wp-content/uploads/2008/10/1.jpg"><img class="size-full wp-image-696 aligncenter" title="Freelancer Magazine CMS Poll" src="http://www.freelancermagazine.com/wp-content/uploads/2008/10/1.jpg" alt="" width="304" height="368" /></a></p>
<p style="text-align: left;">As you can see, Drupal came #3 with 11% of the votes, Joomla came #2 with 18% of the votes, and the giant <strong>Wordpress came #1 with an absolute massive 71% majority win</strong>. The results of the poll clearly show that Wordpress is the best loved CMS out there, or maybe there are ones I haven&#8217;t included?</p>
<p style="text-align: left;">You could argue that the poll was a little unfair, seeing as each CMS has a slightly different core use. For example, Wordpress is predominantly a blogging CMS, but it&#8217;s now used for practically anything and everything. So yes, maybe I should choose a more fair poll next time.</p>
<p style="text-align: left;">What&#8217;s dissapointing though is that I thought Mambo would at least get a vote or two, but I guess it doesn&#8217;t rank too highly, at least in the view of freelancers.</p>
<h2 style="text-align: left;">What Next?</h2>
<p>Well, I&#8217;m going to be putting up the next poll for Freelancer Magazine shortly. Again, I want to make it as engaging as possible, so if you have any good ideas for a poll don&#8217;t hesitate to leave a comment on this post, and I&#8217;ll take a look at your suggestion. We hope you enjoy the next poll as much as the one currently!</p>
<p>Any questions, comments, or if you just want shout something out, please leave a comment. Also <a title="Freelancer Magazine RSS" href="http://feeds.feedburner.com/FreelancerMagazine" target="_blank">subscribe to our RSS feed</a> if you like our posts.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.freelancermagazine.com/poll-results-best-open-source-cms/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>How To Make Your Portfolio Better And Get More Clients: Part 1</title>
		<link>http://www.freelancermagazine.com/how-to-make-your-portfolio-better-and-get-more-clients-part-1/</link>
		<comments>http://www.freelancermagazine.com/how-to-make-your-portfolio-better-and-get-more-clients-part-1/#comments</comments>
		<pubDate>Tue, 21 Oct 2008 20:21:46 +0000</pubDate>
		<dc:creator>Taiyab</dc:creator>
				<category><![CDATA[Design and Multimedia]]></category>
		<category><![CDATA[Freelance Advice]]></category>
		<category><![CDATA[Marketing Resources]]></category>
		<category><![CDATA[Web Dev and Programming]]></category>

		<guid isPermaLink="false">http://www.freelancermagazine.com/?p=684</guid>
		<description><![CDATA[Your online portfolio is one of the main windows for which potential clients can view &#8216;you&#8217; as a whole. I deliberately said &#8216;you&#8217; and not your work. This is because a portfolio isn&#8217;t just to show your skills at writing, designing, coding, or whatever else you may be freelancing in. It also represents your personality, [...]]]></description>
			<content:encoded><![CDATA[<p>Your online portfolio is one of the main windows for which potential clients can view &#8216;you&#8217; as a whole. I deliberately said &#8216;you&#8217; and not your work. This is because a portfolio isn&#8217;t just to show your skills at writing, designing, coding, or whatever else you may be freelancing in. It also represents your personality, interests and style. That is why it is very important to make sure your portfolio is <strong>PERFECT</strong> (and I mean that to its full extent). Want to know how to do that? Well, here&#8217;s how.</p>
<h5>Note: This article comes in two parts, the second part will be posted in the future.</h5>
<p><span id="more-684"></span></p>
<h2><strong>Usability</strong></h2>
<p>In this part of the article, we&#8217;re going to be talking about usability. Usability is a term coined when you assess how easy something is to use. If you can go to a website, know exactly where you are, and know exactly where what you&#8217;re looking for is, then that is an extremely easy-to-use website, and therefore an extremely accessable and &#8216;usable&#8217; website. Let&#8217;s get on to the tips.</p>
<h2>Titles, Tags, Sections, Links</h2>
<p><em><strong>Wording</strong></em></p>
<p>When thinking about the usability of your portfolio (and I&#8217;m referring to your online portfolio throughout this article) it&#8217;s crucial that you make sure all your titles are easy-to-read and very briefly describ that particular area of your website. For example, the title of your <strong>&#8216;About Me&#8217;</strong> page should not just be <strong>&#8216;About Me&#8217;</strong>, an improvement would be something along the lines of <strong>&#8216;About [Enter Name Here] &#8211; Design and Code Extraordinaire&#8217;</strong>. If you analyse the latter title, you realize that it perfectly sums up what you do and how good you are. It also immediately attaches those attributes to your name. All your tags, section titles and links should also follow the same general rule as explained above.</p>
<p><strong>Colors &amp; Fonts</strong></p>
<p>What I&#8217;m about to explain here is pretty much common sense, but I&#8217;ve seen this mistake been made over and over (and over and over) again. Heck, even I make this mistake sometimes! But anyway, make sure you color your links in a distinctive manner that will easily make them identifiable as links. Using the <a href="#">standard blue</a> or various shades of it is brilliant, but even if you&#8217;re using any other strong color for a link, make sure it&#8217;s uniform and looks like something you would click.</p>
<p>Oh and one other thing about link colors, <strong>don&#8217;t make text that isn&#8217;t a link blue if it differs to the rest of the text on the page. People will think that piece of text is a link!</strong></p>
<p>In terms of fonts, just <strong>make sure they&#8217;re legible</strong> and suit the portfolio&#8217;s style. People usually go with one of the following:</p>
<ul>
<li>Tahoma</li>
<li>Verdana</li>
<li>Arial</li>
<li>Georgia</li>
<li>A few others&#8230;</li>
</ul>
<p>I recommend you stay within those bounds for standard digital text. Although if you&#8217;re using text in imagery, it&#8217;s fine to differ.</p>
<p><strong>Size</strong></p>
<p>Using various sizes of font to form a structure around the content of your portfolio is a great way of making it easier to use. For example, if you have an overall page title of <strong>&#8216;About Us&#8217;</strong> for example, make sure it&#8217;s bigger than any other headers you have further down within the content of that page. It makes sense to do this, and psychologically gives your content an element of structure.</p>
<blockquote><p>Example:</p></blockquote>
<blockquote>
<h2><strong>Heading 1</strong></h2>
<h2>Heading 2</h2>
<h3>Heading 3</h3>
</blockquote>
<h2>Layout</h2>
<p><strong>Positioning &amp; Structure</strong></p>
<p>The layout of your portfolio is extremely important. Personally, I&#8217;m an advocate of <strong><a href="http://en.wikipedia.org/wiki/Minimalism" target="_blank">minimalism</a></strong>. I don&#8217;t like too much on a page as it distracts me for what the main core purpose of the site is (well, unless that purpose is to distract you with too many things). The reason I say this is because not everyone is tech/web savvy, and therefore navigate through your websites as quick as you. I&#8217;ve witnessed this first-hand, particularly in those of the previous generation, where they take minutes looking for a single link. Your whole aim when designing your portfolio is to make it as easy-to-use as possible so that you reduce the risk of visitor dissatisfaction which can lead to lost business.</p>
<p><a title="6creations" href="http://www.6creations.com" target="_blank"><strong>Take my portfolio as an example</strong></a>, it has a single preview box with arrows either side to navigate between thumbnails. The idea behind it is extremely simple, but works well. I wouldn&#8217;t say it&#8217;s the most usable function in the world because I find that a lot of people don&#8217;t know what that image in the center is, and don&#8217;t know if they should click it or not, therefore I had to write up a small instruction on the side to guide them.</p>
<p>What you should be doing though, is try to mimick the simplisity of design that a lot of portfolios out there show. That way, you&#8217;ll be able to create a portfolio that is a lot better, and in the long run potentially increase the amount of business you gain from that portfolio.</p>
<p><strong>Always remember that the best portfolio isn&#8217;t necessarily the most &#8216;flashiest&#8217;.</strong></p>
<p>Part 2 of <strong>&#8216;How To Make Your Portfolio Better And Get More Clients&#8217;</strong> will be posted in the future. If you enjoyed this post, please don&#8217;t hesitate to <a title="Freelancer Magazine RSS" href="http://feeds.feedburner.com/FreelancerMagazine" target="_blank">subscribe to our RSS feed</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.freelancermagazine.com/how-to-make-your-portfolio-better-and-get-more-clients-part-1/feed/</wfw:commentRss>
		<slash:comments>22</slash:comments>
		</item>
		<item>
		<title>How To MindMap a Web Design Project</title>
		<link>http://www.freelancermagazine.com/how-to-mindmap-a-web-design-project/</link>
		<comments>http://www.freelancermagazine.com/how-to-mindmap-a-web-design-project/#comments</comments>
		<pubDate>Sat, 16 Aug 2008 19:46:49 +0000</pubDate>
		<dc:creator>Taiyab</dc:creator>
				<category><![CDATA[Design and Multimedia]]></category>
		<category><![CDATA[Freelance Advice]]></category>
		<category><![CDATA[Web Dev and Programming]]></category>

		<guid isPermaLink="false">http://www.freelancermagazine.com/?p=435</guid>
		<description><![CDATA[Sometimes to get that idea across to the client (or vise versa) you need more then just notes, briefs, or even mockups. You need something visual but comprehensive as well. This is where mindmaps shine. A mindmap is basically a diagram that communicates notes, ideas, graphics, elements, lists (and more) in a visual and organized [...]]]></description>
			<content:encoded><![CDATA[<p>Sometimes to get that idea across to the client (or vise versa) you need more then just notes, briefs, or even mockups. You need something visual but comprehensive as well. This is where mindmaps shine. A mindmap is basically a diagram that communicates notes, ideas, graphics, elements, lists (and more) in a visual and organized way.</p>
<p>As a web design freelancer myself, sometimes I feel lost in the documents, e-mails, and notes a client sends across. They seem so messy and all over the place and I find it hard to keep them structured. Sure, I could compile them all in one long document but that doesn&#8217;t seem organized enough. So for projects like these I fire up my web-based mindmap application and then compile all the information the client has sent across into something visually structured. I then send it across the mindmap to my client to make sure we are both 100% on the same page. Nothing else accomplishes this task as comprehensive as a mindmap! So today we will look at how we can create a mind map for an example Web Design project.</p>
<p>Keep in mind this information can travel into other freelance areas such as writing, coding, graphic designing and so on!<br />
<span id="more-570"></span></p>
<h2>Choose Your Application</h2>
<p>Instead of going through the list of desktop applications and web-based applications together, I&#8217;m going to give you two of my favorite options which are both web-based:</p>
<h3><a href="http://www.mindmeister.com">MindMeister</a></h3>
<p>MindMeister is the more popular web based choice. It is visually pleasing with great collaborative features for you and your client to edit and share your mindmap. It&#8217;s options might be overwealming for those unfamiliar with mindmaps but rest assured, the process is still simple once you getting over this hump. It offers a free membership but you are limited in number of mindmaps you can create and store.<br />
<del datetime="2008-08-23T06:04:50+00:00"></p>
<h3><a href="http://www.wisdommap.com">WisdomMap</a></h3>
<p></del></p>
<p>(Update: Looks like this site is MIA)</p>
<p>WisdomMap is a newcomer in this arena. It is a very simplified way of creating a MindMap. If MindMeister seems too much for you, try WisdomMap!</p>
<p><strong>For this <em>how-to</em> we are going to use MindMeister.</strong></p>
<h2>Central Idea</h2>
<p>Each MindMap starts out with a central idea. This is the center point in which all other elements will revolve around. For a web design project, you can simply name this central idea the title of the project or client.</p>
<p>Here is the outcome:</p>
<p><iframe width="600" height="400" frameborder="0" src="http://www.mindmeister.com/maps/public_map_shell/8178288?width=600&#038;height=400&#038;zoom=1" scrolling="no" style="overflow:hidden"></iframe></p>
<h2>Top Nodes / Ideas</h2>
<p>After you&#8217;ve created your central idea/project name you can begin adding ideas or &#8220;nodes&#8221; to your mindmap. You can also create sub-ideas and sub-nodes. For the main nodes I usually start out with:</p>
<ul>
<li>Header</li>
<li>Main Index</li>
<li>Sidebar</li>
<li>Footer</li>
<li>Sub Pages</li>
</ul>
<p>Here is the outcome:</p>
<p><iframe width="600" height="400" frameborder="0" src="http://www.mindmeister.com/maps/public_map_shell/9101185?width=600&#038;height=400&#038;zoom=1" scrolling="no" style="overflow:hidden"></iframe></p>
<h2>Sub Nodes / Ideas</h2>
<p>Sub nodes or Sub ideas can be attached to the main nodes listed above. From here you can add each element to that part of the design. You can also split them once again into sub-lists to enter in the functionality of each element. This is the power of the mindmap. It allows you to make sure you and your client are 100% clear on the design. The time it takes to re-do your design because of confusion is far more time consuming than the time it takes to create a mindmap!</p>
<p>Here is an example of nodes and sub nodes for a design project:</p>
<p><iframe width="600" height="400" frameborder="0" src="http://www.mindmeister.com/maps/public_map_shell/9101546?width=600&#038;height=400&#038;zoom=1" scrolling="no" style="overflow:hidden"></iframe></p>
<h2>Collaborate!</h2>
<p>The best part about mindmaps is that you can collaborate with your clients to edit the information stored on there. This helps you and your client come together and create exactly what your client had in mind. Invite the client or each member of the clients company into your mind map and let them edit, adjust, and reform some of the ideas. You will never be left in the dark again when it comes to your clients projects.</p>
<h2>Other Ideas&#8230;</h2>
<h3>Attachments / Graphics</h3>
<p>Did you know you can also add graphics and other files to mindmaps? You can upload snipplets of your design related to the idea node as reference or review for your clients.</p>
<h3>Illustrate much?</h3>
<p>If you&#8217;re good with pen and paper (which I&#8217;m not!) you can also create some of the most beautiful looking diagrams with mindmaps on a basic piece of paper. Carry a grid moleskine or other notebook with you and keep your mindmaps in your pocket!</p>
<h3>Personal Organization</h3>
<p>Instead of using mindmaps for your clients only&#8230; use them to keep yourself organized. I&#8217;ve used mindmaps to map out not only my own projects (this website being one of them!) but also full business plans and roadmaps!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.freelancermagazine.com/how-to-mindmap-a-web-design-project/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
	</channel>
</rss>
