<?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>Design Chemical - jQuery, Wordpress, Tutorials &#38; Plugins &#187; jQuery Tutorials and Code Snippets</title>
	<atom:link href="http://www.designchemical.com/blog/index.php/category/jquery/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.designchemical.com/blog</link>
	<description>Your Business Catalyst</description>
	<lastBuildDate>Sun, 22 Jan 2012 12:55:42 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
		<item>
		<title>8 Useful jQuery Snippets For URL&#8217;s &amp; Querystrings</title>
		<link>http://www.designchemical.com/blog/index.php/jquery/8-useful-jquery-snippets-for-urls-querystrings/</link>
		<comments>http://www.designchemical.com/blog/index.php/jquery/8-useful-jquery-snippets-for-urls-querystrings/#comments</comments>
		<pubDate>Tue, 25 Oct 2011 15:07:16 +0000</pubDate>
		<dc:creator>Lee</dc:creator>
				<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.designchemical.com/blog/?p=2534</guid>
		<description><![CDATA[<a href="http://www.designchemical.com/blog/index.php/jquery/8-useful-jquery-snippets-for-urls-querystrings/"><img align="left" hspace="5" width="150" src="http://www.designchemical.com/blog/wp-content/plugins/thumbnail-for-excerpts/jquery_code.png" class="alignleft wp-post-image tfe" alt="" title="" /></a><p>In any web project you will inevitably come across a situation where being able to extract information or use the current page URL would be useful. If server-side code is not available to help we can use javascript to get this information.</p>
<p>The following are examples of useful code snippets that can be used &#8211; some of the examples use &#8230; <a href="http://www.designchemical.com/blog/index.php/jquery/8-useful-jquery-snippets-for-urls-querystrings/" class="read_more">more</a></p>]]></description>
			<content:encoded><![CDATA[<p>In any web project you will inevitably come across a situation where being able to extract information or use the current page URL would be useful. If server-side code is not available to help we can use javascript to get this information.</p>
<p>The following are examples of useful code snippets that can be used &#8211; some of the examples use standard javascript functions and are not specific to jQuery:</p>
<h3>1. Get The Current Page URL</h3>
<p>A very simple snippet, which stores the current page URL in a variable:</p>
<pre class="brush: jscript; title: ; notranslate">
// Retrieve current URL
var url = document.URL;
</pre>
<h3>2. Get The Current Root URL</h3>
<p>A very simple snippet, which stores the root URL in a variable:</p>
<pre class="brush: jscript; title: ; notranslate">
// Retrieve root URL
var root = location.protocol + '//' + location.host;
</pre>
<h3>3. Get A URL Hash Parameter</h3>
<p>Retrive a hash parameter and store in a variable:</p>
<pre class="brush: jscript; title: ; notranslate">
// Get # parameter
var param = document.URL.split('#')[1];
</pre>
<h3>4. Change Browser Address Bar Hash Parameter</h3>
<p>In the example below we replace the hash parameter, which we get from the clicked link. Useful for adding bookmarking capabilities when using AJAX:</p>
<pre class="brush: jscript; title: ; notranslate">
// update browser address bar URL
$('a.demo-link').click(function(){
	var hash = $(this).attr('href');
	location.hash = hash;
});
</pre>
<h3>5. Redirect Using Javascript</h3>
<p>If you need to redirect a page using jQuery:</p>
<pre class="brush: jscript; title: ; notranslate">
// Redirect - insert required URL
window.location.href = &quot;http://designchemical.com/&quot;;
</pre>
<h3>6. Get Querystring Parameters</h3>
<p>If the URL contains a querystring with multiple parameters the following snippet will parse each parameter and store the array as a variable:</p>
<pre class="brush: jscript; title: ; notranslate">
var vars = [], hash;
	var q = document.URL.split('?')[1];
	if(q != undefined){
		q = q.split('&amp;');
		for(var i = 0; i &lt; q.length; i++){
			hash = q[i].split('=');
			vars.push(hash[1]);
			vars[hash[0]] = hash[1];
		}
}
</pre>
<p>To use any of the parameters you can access the value using the parameter name. E.g. if the URL contains the querystring &#8220;?a=3&#038;b=2&#038;c=1&#8243; you can access the value for &#8220;a&#8221; using:</p>
<pre class="brush: jscript; title: ; notranslate">
// Will alert the value of parameter a
alert(vars['a']);
</pre>
<h3>7. Highlight Current Menu Item</h3>
<p>Rather than manually modify navigation menus to add an &#8220;active&#8221; class to the current page we can use jQuery to identify which link contains the current URL:</p>
<pre class="brush: jscript; title: ; notranslate">
var url = document.URL;
$('#menu a[href=&quot;'+url+'&quot;]').addClass('active');
</pre>
<h3>8. Check If Link Contains External URL</h3>
<p>The following snippet will check if a clicked link contains a URL to an external web page and if so, open in a new browser window:</p>
<pre class="brush: jscript; title: ; notranslate">
var root = location.protocol + '//' + location.host;
$('a').not(':contains(root)').click(function(){
    this.target = &quot;_blank&quot;;
});
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.designchemical.com/blog/index.php/jquery/8-useful-jquery-snippets-for-urls-querystrings/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jQuery Tutorial &#8211; Create a Flexible Data Heat Map</title>
		<link>http://www.designchemical.com/blog/index.php/jquery/jquery-tutorial-create-a-flexible-data-heat-map/</link>
		<comments>http://www.designchemical.com/blog/index.php/jquery/jquery-tutorial-create-a-flexible-data-heat-map/#comments</comments>
		<pubDate>Wed, 19 Oct 2011 03:01:52 +0000</pubDate>
		<dc:creator>Lee</dc:creator>
				<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Website Coding]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[demo]]></category>
		<category><![CDATA[layout]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.designchemical.com/blog/?p=2498</guid>
		<description><![CDATA[<a href="http://www.designchemical.com/blog/index.php/jquery/jquery-tutorial-create-a-flexible-data-heat-map/"><img align="left" hspace="5" width="150" src="/media/images/jquery_data_heat_map.png" class="alignleft wp-post-image tfe" alt="jQuery Data Heat Map" title="" /></a><p class="text-center"><img src="/media/images/jquery_data_heat_map.png" alt="jQuery Data Heat Map" class="img-border" /></p>
<p>Add more excitement to data tables using jQuery and conditional formatting to generate flexible data &#8220;heat maps&#8221;.</p>
<p>Long tables of numbers are never fun to look at and when presenting this kind of data on the web, where attention spans are already at their limits, you need to be able to present the highlights as quickly as possible. &#8230; <a href="http://www.designchemical.com/blog/index.php/jquery/jquery-tutorial-create-a-flexible-data-heat-map/" class="read_more">more</a></p>]]></description>
			<content:encoded><![CDATA[<p class="text-center"><img src="/media/images/jquery_data_heat_map.png" alt="jQuery Data Heat Map" class="img-border" /></p>
<p>Add more excitement to data tables using jQuery and conditional formatting to generate flexible data &#8220;heat maps&#8221;.</p>
<p>Long tables of numbers are never fun to look at and when presenting this kind of data on the web, where attention spans are already at their limits, you need to be able to present the highlights as quickly as possible.</p>
<p>Data heat maps provide the perfect way of taking ordinary data and creating something more visually appealing and informative.</p>
<p><a href="/lab/jquery/demo/jquery_data_heat_map_demo.htm">jQuery Data Heat Map Demo</a></p>
<p><a href="/lab/jquery/demo/download/jquery-data-heat-map.zip">Download tutorial source files</a></p>
<h3>Tutorial Objectives</h3>
<p>To create our heat map in a way that is flexible enough to cover any range of values, there are several key components to our jQuery code that we need to consider:</p>
<ul class="content-list">
<li>Capture and statistically analyze all data points</li>
<li>Have a method of then grouping the data and being able to identify what formatting should be applied</li>
<li>Dynamically generate the CSS to be used for each group to create a heat map style effect</li>
<li>Apply the correct CSS to each data point</li>
</ul>
<p>For this tutorial we will be using a random table of numbers and the formatting will be applied based on each value as a % of the largest value.</p>
<h3>The Basic HTML</h3>
<p>The complete table can be found on the <a href="/lab/jquery/demo/jquery_data_heat_map_demo.htm">demo page</a>. The HTML below gives the basic table structure, showing one row of data and the CSS classes we will be using:</p>
<pre class="brush: php; title: ; notranslate">
&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; border=&quot;0&quot; class=&quot;heat-map&quot;&gt;
    &lt;thead&gt;
        &lt;tr&gt;
		    &lt;th class=&quot;first&quot;&gt;Title&lt;/th&gt;
			&lt;th&gt;data 1&lt;/th&gt;
			&lt;th&gt;data 2&lt;/th&gt;
			&lt;th&gt;data 3&lt;/th&gt;
			&lt;th&gt;data 4&lt;/th&gt;
			&lt;th&gt;data 5&lt;/th&gt;
			&lt;th class=&quot;last&quot;&gt;data 6&lt;/th&gt;
		&lt;/tr&gt;
    &lt;/thead&gt;
	&lt;tbody&gt;
	    &lt;tr class=&quot;stats-row&quot;&gt;
		    &lt;td class=&quot;stats-title&quot;&gt;Wanda&lt;/td&gt;
			&lt;td&gt;25&lt;/td&gt;
			&lt;td&gt;55&lt;/td&gt;
			&lt;td&gt;26&lt;/td&gt;
			&lt;td&gt;19&lt;/td&gt;
			&lt;td&gt;39&lt;/td&gt;
			&lt;td&gt;21&lt;/td&gt;
		&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
</pre>
<div class="clear banner-horizontal">
<script type="text/javascript"><!--
google_ad_client = "ca-pub-7740611438413740";
/* Banner Mid Post */
google_ad_slot = "8625321051";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script><br />
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</div>
<h3>The jQuery Code</h3>
<h4>1. Capture and analyze the data</h4>
<p>The first thing we need to do is find out the largest value within the data range. To do this we use fairly simple but useful code to create an array of all data points and then return the maximum value:</p>
<pre class="brush: jscript; title: ; notranslate">
&lt;script type=&quot;text/JavaScript&quot;&gt;
$(document).ready(function(){

	// Function to get the max value in an Array
    Array.max = function(array){
        return Math.max.apply(Math,array);
    };

	// Get all data values from our table cells making sure to ignore the first column of text
	// Use the parseInt function to convert the text string to a number

    var counts= $('.heat-map tbody td').not('.stats-title').map(function() {
        return parseInt($(this).text());
    }).get();

	// run max value function and store in variable
	var max = Array.max(counts);

});
&lt;/script&gt;
</pre>
<h4>2. Group data points</h4>
<p>For this tutorial we have already decided that we will use % of each value from max value. We do this so that we can find exactly where the data point is positioned on a scale of 1 &#8211; 100. This is the critical part in creating the heat map as we will then use this scale to dynamically generate the CSS styles</p>
<p>100 is probably a little excessive but is an easy number to work with for the tutorial. You can obviously adjust this number to suit your data and style of heat map.</p>
<p>We only want to use integers so we also include some additional rounding of the results</p>
<pre class="brush: jscript; title: ; notranslate">

n = 100; // Declare the number of groups

// Loop through each data point and calculate its % value
$('.heat-map tbody td').not('.stats-title').each(function(){
	var val = parseInt($(this).text());
	var pos = parseInt((Math.round((val/max)*100)).toFixed(0));
});
</pre>
<p>The above code is not yet complete since we will add the actual formatting into the same loop but have broken it down to explain how we create each step.</p>
<h4>3. Dynamically generating the heat map styles</h4>
<p>To create the heat map effect we are basically going to use background colour.</p>
<p>Technically there is no restriction on how you apply the styles and background colour is only one option. The code is fairly flexible and with some minor adjustments can be applied to font size, container size, background image, etc.</p>
<p>Colour is easy because we can directly calculate each colour value between 2 defined colours &#8211; our start point and the end point, which across 100 points should create a gradient style effect.</p>
<p>To calculate colour we need to use the RGB values, which are 0 to 255 for Red, Blue and Green.</p>
<pre class="brush: jscript; title: ; notranslate">

// Define the ending colour, which is white
   xr = 255; // Red value
   xg = 255; // Green value
   xb = 255; // Blue value

// Define the starting colour #f32075
   yr = 243; // Red value
   yg = 32; // Green value
   yb = 117; // Blue value

// Calculate a specific colour point
// pos - calculated in the earlier code identifies where on the scale the data point is

red = parseInt((xr + (( pos * (yr - xr)) / (n-1))).toFixed(0));
green = parseInt((xg + (( pos * (yg - xg)) / (n-1))).toFixed(0));
blue = parseInt((xb + (( pos * (yb - xb)) / (n-1))).toFixed(0));

// Once we have our RGB values we combine them to create our CSS code
clr = 'rgb('+red+','+green+','+blue+')';
</pre>
<h4>4. Apply the heat map styles to each data point</h4>
<p>Finally we apply the new RGB value by setting the background colour of the table cell.</p>
<pre class="brush: jscript; title: ; notranslate">

$(this).css({backgroundColor:clr});
</pre>
<p>We combine steps 2, 3 &#038; 4 so that this is all being carried out within the same loop.</p>
<h3>The Complete jQuery Code</h3>
<p>The code below shows all 4 steps combined to create the complete heat map function:</p>
<pre class="brush: jscript; title: ; notranslate">
&lt;script type=&quot;text/JavaScript&quot;&gt;
$(document).ready(function(){

	// Function to get the max value in an Array
    Array.max = function(array){
        return Math.max.apply(Math,array);
    };

	// Get all data values from our table cells making sure to ignore the first column of text
	// Use the parseInt function to convert the text string to a number

    var counts= $('.heat-map tbody td').not('.stats-title').map(function() {
        return parseInt($(this).text());
    }).get();

	// run max value function and store in variable
	var max = Array.max(counts);

	n = 100; // Declare the number of groups

    // Define the ending colour, which is white
    xr = 255; // Red value
    xg = 255; // Green value
    xb = 255; // Blue value

    // Define the starting colour #f32075
    yr = 243; // Red value
    yg = 32; // Green value
    yb = 117; // Blue value

    // Loop through each data point and calculate its % value
    $('.heat-map tbody td').not('.stats-title').each(function(){
	    var val = parseInt($(this).text());
	    var pos = parseInt((Math.round((val/max)*100)).toFixed(0));
		red = parseInt((xr + (( pos * (yr - xr)) / (n-1))).toFixed(0));
		green = parseInt((xg + (( pos * (yg - xg)) / (n-1))).toFixed(0));
		blue = parseInt((xb + (( pos * (yb - xb)) / (n-1))).toFixed(0));
		clr = 'rgb('+red+','+green+','+blue+')';
    });
});
&lt;/script&gt;
</pre>
<p>To completely change the look of the heat map all it requires is to change the start colour and end colour RGB values!</p>
<p>Check out the demo page for more examples &#8211; <a href="/lab/jquery/demo/jquery_data_heat_map_demo.htm">jQuery Data Heat Map Demo</a> or <a href="/lab/jquery/demo/download/jquery-data-heat-map.zip">Download the tutorial source files</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.designchemical.com/blog/index.php/jquery/jquery-tutorial-create-a-flexible-data-heat-map/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>jQuery Tutorial &#8211; Adding Vertical Animation to the Slider Menu</title>
		<link>http://www.designchemical.com/blog/index.php/jquery/jquery-tutorial-adding-vertical-animation-jquery-slider-menu/</link>
		<comments>http://www.designchemical.com/blog/index.php/jquery/jquery-tutorial-adding-vertical-animation-jquery-slider-menu/#comments</comments>
		<pubDate>Tue, 09 Aug 2011 03:22:52 +0000</pubDate>
		<dc:creator>Lee</dc:creator>
				<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[animation]]></category>
		<category><![CDATA[horizontal]]></category>
		<category><![CDATA[menu]]></category>
		<category><![CDATA[slider]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[vertical]]></category>

		<guid isPermaLink="false">http://www.designchemical.com/blog/?p=2169</guid>
		<description><![CDATA[<a href="http://www.designchemical.com/blog/index.php/jquery/jquery-tutorial-adding-vertical-animation-jquery-slider-menu/"><img align="left" hspace="5" width="150" src="http://www.designchemical.com/blog/wp-content/plugins/thumbnail-for-excerpts/jquery_code.png" class="alignleft wp-post-image tfe" alt="" title="" /></a><p>After our jQuery tutorial yesterday on creating a jQuery Slider Menu we have had several requests on how to modify the jQuery code to scroll the slider images vertically instead of horizontally.</p>
<p>In today&#8217;s post we are going to look at changing the jQuery code so that the slider menu can handle both vertical and horizontal animation.</p>
<p>Both the HTML &#8230; <a href="http://www.designchemical.com/blog/index.php/jquery/jquery-tutorial-adding-vertical-animation-jquery-slider-menu/" class="read_more">more</a></p>]]></description>
			<content:encoded><![CDATA[<p>After our jQuery tutorial yesterday on <a href="/blog/index.php/jquery/jquery-tutorial-create-a-jquery-menu-slider/">creating a jQuery Slider Menu</a> we have had several requests on how to modify the jQuery code to scroll the slider images vertically instead of horizontally.</p>
<p>In today&#8217;s post we are going to look at changing the jQuery code so that the slider menu can handle both vertical and horizontal animation.</p>
<p>Both the HTML and CSS remain exactly the same for this improved version and you can refer to yesterdays tutorial for the details.</p>
<p class="clear"><a href="/lab/jquery/demo/jquery_demo_create_jquery_vertical_menu_slider.htm" class="demo"><span>View Demo</span></a> <a href="/lab/jquery/demo/download/jquery-horizontal-vertical-menu-slider.zip" class="demo"><span>Download Source Code</span></a></p>
<h3 class="clear">The jQuery Code</h3>
<p>To make the slider handle both directions we only need to add a few changes to our jQuery code:</p>
<pre class="brush: jscript; title: ; notranslate">
$(document).ready(function() {

    // Declare variables
    var direction = 'vertical'; // Additional variable which determines the slider direction - vertical or horizontal
    var width = 400;
    var height = 292; // Declare the height of the slider panel
    var slides = $('#list-images li');
    var numSlides = slides.length;

    // Set CSS of slide-wrap based on direction
    wrapCss = direction == 'vertical' ? {height: height * numSlides} : {width: width * numSlides} ;

    // Wrap the slides &amp; set the wrap width
    slides.wrapAll('&lt;div id=&quot;slide-wrap&quot;&gt;&lt;/div&gt;').css({'float' : 'left','width' : width});
    $('#slide-wrap').css(wrapCss);

  // Hover function - animate the slides based on index of links
  $('#list-links li a').hover(function(){
	$('#list-links li').removeClass('hover');
	var i = $(this).index('#list-links li a');
	$(this).parent().addClass('hover');

	// Set animation based on direction
	params = direction == 'vertical' ? {'marginTop' : height*(-i)} : {'marginLeft' : width*(-i)} ;
	$('#slide-wrap').stop().animate(params);
  });
});
</pre>
<p>To change the slider animation set the &#8220;dimension&#8221; variable to either &#8220;horizontal&#8221; or &#8220;vertical&#8221;. Our modified hover function now sets the animation parameters using either the width or the height and creates the slider effect by adjusting the left margin or top margin.</p>
<p class="clear">View original post &#8211; <a href="/blog/index.php/jquery/jquery-tutorial-create-a-jquery-menu-slider/">jQuery Tutorial – Create a jQuery Menu Slider</a></p>
<p class="clear"><a href="/lab/jquery/demo/jquery_demo_create_jquery_vertical_menu_slider.htm" class="demo"><span>View Demo</span></a> <a href="/lab/jquery/demo/download/jquery-horizontal-vertical-menu-slider.zip" class="demo"><span>Download Source Code</span></a></p>
<div class="clear"></div>
]]></content:encoded>
			<wfw:commentRss>http://www.designchemical.com/blog/index.php/jquery/jquery-tutorial-adding-vertical-animation-jquery-slider-menu/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>jQuery Tutorial &#8211; Create a jQuery Menu Slider</title>
		<link>http://www.designchemical.com/blog/index.php/jquery/jquery-tutorial-create-a-jquery-menu-slider/</link>
		<comments>http://www.designchemical.com/blog/index.php/jquery/jquery-tutorial-create-a-jquery-menu-slider/#comments</comments>
		<pubDate>Mon, 08 Aug 2011 05:32:46 +0000</pubDate>
		<dc:creator>Lee</dc:creator>
				<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Website Coding]]></category>
		<category><![CDATA[animation]]></category>
		<category><![CDATA[images]]></category>
		<category><![CDATA[menu]]></category>
		<category><![CDATA[navigation]]></category>
		<category><![CDATA[slider]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.designchemical.com/blog/?p=2140</guid>
		<description><![CDATA[<a href="http://www.designchemical.com/blog/index.php/jquery/jquery-tutorial-create-a-jquery-menu-slider/"><img align="left" hspace="5" width="150" src="/media/images/jquery_menu_slider.png" class="alignleft wp-post-image tfe" alt="jQuery Menu Slider" title="" /></a><p class="text-center pad-top"><img src="/media/images/jquery_menu_slider.png" alt="jQuery Menu Slider" /></p>
<p>In the following tutorial we are going to go through how to create a jQuery menu slider similar to the one used in our own website&#8217;s mega menu navigation (see &#8220;WordPress Plugins&#8221; menu item).</p>
<p class="clear"><span>View Demo</span> <span>Download Source Code</span></p>
The HTML
<p>The HTML is very simple and basically includes:</p>
<ul class="content-list">
<li>A wrapper (&#8220;#menu-slider&#8221;) &#8211; only</li></ul><p> &#8230; <a href="http://www.designchemical.com/blog/index.php/jquery/jquery-tutorial-create-a-jquery-menu-slider/" class="read_more">more</a></p>]]></description>
			<content:encoded><![CDATA[<p class="text-center pad-top"><img src="/media/images/jquery_menu_slider.png" alt="jQuery Menu Slider" /></p>
<p>In the following tutorial we are going to go through how to create a jQuery menu slider similar to the one used in our own website&#8217;s mega menu navigation (see &#8220;WordPress Plugins&#8221; menu item).</p>
<p class="clear"><a href="/lab/jquery/demo/jquery_demo_create_jquery_menu_slider.htm" class="demo"><span>View Demo</span></a> <a href="/lab/jquery/demo/download/jquery-menu-slider.zip" class="demo"><span>Download Source Code</span></a></p>
<h3 class="clear">The HTML</h3>
<p>The HTML is very simple and basically includes:</p>
<ul class="content-list">
<li>A wrapper (&#8220;#menu-slider&#8221;) &#8211; only used for styling the jquery menu slider</li>
<li>An unordered list of text links (&#8220;#list-links&#8221;), which will make up the menu section</li>
<li>A list of images (&#8220;#list-images&#8221;) including captions, which will be used to create the slider</li>
</ul>
<pre class="brush: php; title: ; notranslate">
&lt;div id=&quot;menu-slider&quot;&gt;
    &lt;ul id=&quot;list-links&quot;&gt;
        &lt;li class=&quot;hover&quot;&gt;&lt;a href=&quot;/blog/index.php/wordpress-plugins/wordpress-plugin-jquery-drop-down-mega-menu-widget/&quot;&gt;Mega Menu&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;/blog/index.php/wordpress-plugins/wordpress-plugin-jquery-vertical-mega-menu-widget/&quot;&gt;Vertical Mega Menu&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;/blog/index.php/wordpress-plugins/wordpress-plugin-jquery-vertical-accordion-menu-widget/&quot;&gt;Vertical Accordion Menu&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;/blog/index.php/wordpress-plugins/wordpress-plugin-jquery-drill-down-ipod-menu-widget/&quot;&gt;jQuery Drill Down iPod Menu&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;/blog/index.php/wordpress-plugins/wordpress-plugin-jquery-slick-menu-widget/&quot;&gt;jQuery Slick Menu&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;/blog/index.php/wordpress-plugins/wordpress-plugin-jquery-floating-menu/&quot;&gt;Floating Menu&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;/blog/index.php/wordpress-plugins/wordpress-plugin-floating-tweets/&quot;&gt;Floating Tweets&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;/blog/index.php/wordpress-plugin-slick-contact-forms/&quot;&gt;Slick Contact Forms&lt;/a&gt;&lt;/li&gt;
        &lt;li class=&quot;last&quot;&gt;&lt;a href=&quot;/blog/index.php/wordpress-plugins/wordpress-plugin-slick-social-share-buttons/&quot;&gt;Slick Social Share Buttons&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;

    &lt;ul id=&quot;list-images&quot;&gt;
        &lt;li&gt;&lt;a href=&quot;/blog/index.php/wordpress-plugins/wordpress-plugin-jquery-drop-down-mega-menu-widget/&quot;&gt;
            &lt;img src=&quot;/media/images/mega_1a.jpg&quot; alt=&quot;&quot; /&gt;
            &lt;span&gt;jQuery Horizontal Mega Menu&lt;/span&gt;&lt;/a&gt;
        &lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;/blog/index.php/wordpress-plugins/wordpress-plugin-jquery-vertical-mega-menu-widget/&quot;&gt;
            &lt;img src=&quot;/media/images/mega_2a.jpg&quot; alt=&quot;&quot; /&gt;
            &lt;span&gt;jQuery Vertical Mega Menu&lt;/span&gt;&lt;/a&gt;
        &lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;/blog/index.php/wordpress-plugins/wordpress-plugin-jquery-vertical-accordion-menu-widget/&quot;&gt;
            &lt;img src=&quot;/media/images/mega_3a.jpg&quot; alt=&quot;&quot; /&gt;
            &lt;span&gt;jQuery Vertical Accordion Menu&lt;/span&gt;&lt;/a&gt;
        &lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;/blog/index.php/wordpress-plugins/wordpress-plugin-jquery-drill-down-ipod-menu-widget/&quot;&gt;
            &lt;img src=&quot;/media/images/mega_4a.jpg&quot; alt=&quot;&quot; /&gt;
            &lt;span&gt;jQuery Drill Down iPod Menu&lt;/span&gt;&lt;/a&gt;
        &lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;/blog/index.php/wordpress-plugins/wordpress-plugin-jquery-slick-menu-widget/&quot;&gt;
            &lt;img src=&quot;/media/images/mega_5a.jpg&quot; alt=&quot;&quot; /&gt;
            &lt;span&gt;jQuery Slick Menu&lt;/span&gt;&lt;/a&gt;
        &lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;/blog/index.php/wordpress-plugins/wordpress-plugin-jquery-floating-menu/&quot;&gt;
            &lt;img src=&quot;/media/images/mega_6a.png&quot; alt=&quot;&quot; /&gt;
            &lt;span&gt;Floating Menu Widget&lt;/span&gt;&lt;/a&gt;
        &lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;/blog/index.php/wordpress-plugins/wordpress-plugin-floating-tweets/&quot;&gt;
            &lt;img src=&quot;/media/images/mega_7a.png&quot; alt=&quot;&quot; /&gt;
            &lt;span&gt;Floating Tweets Widget&lt;/span&gt;&lt;/a&gt;
        &lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;/blog/index.php/wordpress-plugin-slick-contact-forms/&quot;&gt;
            &lt;img src=&quot;/media/images/mega_8a.jpg&quot; alt=&quot;&quot; /&gt;
            &lt;span&gt;Slick Contact Forms&lt;/span&gt;&lt;/a&gt;
        &lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;/blog/index.php/wordpress-plugins/wordpress-plugin-slick-social-share-buttons/&quot;&gt;
            &lt;img src=&quot;/media/images/mega_9a.jpg&quot; alt=&quot;&quot; /&gt;
            &lt;span&gt;Slick Social Share Buttons&lt;/span&gt;&lt;/a&gt;
        &lt;/li&gt;
    &lt;/ul&gt;
    &lt;div class=&quot;clear&quot;&gt;&lt;/div&gt;
&lt;/div&gt;
</pre>
<p>On the first link we have added the class &#8220;hover&#8221; to show the active state for the slider when the page loads.</p>
<div class="banner-horizontal">
<script type="text/javascript"><!--
google_ad_client = "ca-pub-7740611438413740";
/* Banner Mid Post */
google_ad_slot = "8625321051";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script><br />
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</div>
<h3>The Slider jQuery Code</h3>
<p>The jQuery is surprisingly simple for the menu slider. Basically it involves 2 parts &#8211; creating the slider structure and then the function to handle the hover event when hovering over the list of links:</p>
<pre class="brush: jscript; title: ; notranslate">
$(document).ready(function() {

    // Declare variables
    var width = 400; // width of slide - required for animation calculation
    var slides = $('#list-images li');
    var numSlides = slides.length;

    // Wrap the slides &amp; set the wrap width - this will be used to animate the slider left/right
    slides.wrapAll('&lt;div id=&quot;slide-wrap&quot;&gt;&lt;/div&gt;').css({'float' : 'left','width' : width});
    $('#slide-wrap').css({width: width * numSlides});

    // Hover function - animate the slides based on index of active link
    $('#list-links li a').hover(function(){
        $('#list-links li').removeClass('hover');
        var i = $(this).index('#list-links li a');
        $(this).parent().addClass('hover');
        $('#slide-wrap').stop().animate({'marginLeft' : width*(-i)});
    });
});
</pre>
<p>In the above code we wrap the sliders in a div tag (&#8220;#slide-wrap&#8221;) &#8211; this is what is actually animated to give the sliding effect when hovering over a menu item.</p>
<p>The hover function on the list of links calculates how far to animate the slide-wrap based on the width of the slide and the index number of the active link. The function also adds class &#8220;hover&#8221; to the active li tag, which we can use to style the menu to indicate the active menu item.</p>
<h3>The Menu Slider CSS</h3>
<p>Finally some CSS styles to create the required design:</p>
<pre class="brush: plain; title: ; notranslate">
#menu-slider {
background: url(images/bg_menu_slider.png) no-repeat 0 0;
padding: 15px;
margin-bottom: 20px;
}

/* Required */
#list-images, #list-images li {
height: 292px;
width: 400px;
display: block;
}
#list-images {
float: right;
overflow: hidden; /* Required to hide the inactive slides */
border: 1px solid #ccc;
}
#list-images li {
position: relative;
}

#list-images li img {
background: #fff;
position: absolute;
top: 0;
left: 0;
}

/* Image captions */
#list-images li span {
background: url(images/grid1.png) repeat 0 0;
position: absolute;
bottom: 0;
left: 0;
width: 362px;
display: block;
padding: 14px 20px;
font: bold 20px Arial, sans-serif;
color: #fff;
height: 20px;
line-height: 20px;
}

/* Menu text links */
#list-links {
width: 220px;
float: left;
}
#list-links li {
padding: 0 15px 0 0;
}
#list-links li a {
font: normal 12px Arial, sans-serif;
color: #222;
padding: 8px 5px 8px 8px;
border-bottom: 1px solid #ccc;
font-weight: bold;
font-size: 13px;
display: block;
}
#list-links li.hover {
background: url(images/tab_current.png) no-repeat 100% center;
}
#list-links li.hover a, #list-links li.hover a:hover {
color: #fff;
background: none;
border-bottom: none;
padding-bottom: 9px;
}
#list-links li.last a {
border-bottom: none;
}
</pre>
<p class="clear"><a href="/lab/jquery/demo/jquery_demo_create_jquery_menu_slider.htm" class="demo"><span>View Demo</span></a> <a href="/lab/jquery/demo/download/jquery-menu-slider.zip" class="demo"><span>Download Source Code</span></a></p>
<h3 class="clear">Adding Vertical Slider Animation</h3>
<p>Check out our follow up post &#8211; <a href="/blog/index.php/jquery/jquery-tutorial-adding-vertical-animation-jquery-slider-menu/">jQuery Tutorial – Adding Vertical Animation to the Slider Menu</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.designchemical.com/blog/index.php/jquery/jquery-tutorial-create-a-jquery-menu-slider/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>WordPress Plugin – Slick Social Share Buttons</title>
		<link>http://www.designchemical.com/blog/index.php/wordpress-plugins/wordpress-plugin-slick-social-share-buttons/</link>
		<comments>http://www.designchemical.com/blog/index.php/wordpress-plugins/wordpress-plugin-slick-social-share-buttons/#comments</comments>
		<pubDate>Sun, 07 Aug 2011 18:59:51 +0000</pubDate>
		<dc:creator>Lee</dc:creator>
				<category><![CDATA[jQuery]]></category>
		<category><![CDATA[jQuery Plugins]]></category>
		<category><![CDATA[Social Networks]]></category>
		<category><![CDATA[Wordpress Plugins]]></category>
		<category><![CDATA[animation]]></category>
		<category><![CDATA[digg]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[google +1]]></category>
		<category><![CDATA[google buzz]]></category>
		<category><![CDATA[linkedin]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[stumbleupon]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.designchemical.com/blog/?p=2107</guid>
		<description><![CDATA[<a href="http://www.designchemical.com/blog/index.php/wordpress-plugins/wordpress-plugin-slick-social-share-buttons/"><img align="left" hspace="5" width="150" src="/media/images/slick_social_share_buttons.jpg" class="alignleft wp-post-image tfe" alt="" title="" /></a><p><strong>Updated 22nd January 2012</strong></p>
<p><img src="/media/images/slick_social_share_buttons.jpg" alt="" class="img-border img-right" /></p>
<p>Add facebook like, twitter tweet button, google +1, linkedin, digg, stumbledupon, delicious, reddit &#038; pinterest.com pin it social media share buttons in a floating or slide out tab to any WordPress website with the Slick Social Share Buttons plugin.</p>
<p>Slick Social Share Buttons also includes a social statistics page in WordPress admin, which gives you &#8230; <a href="http://www.designchemical.com/blog/index.php/wordpress-plugins/wordpress-plugin-slick-social-share-buttons/" class="read_more">more</a></p>]]></description>
			<content:encoded><![CDATA[<p><strong>Updated 22nd January 2012</strong></p>
<p><img src="/media/images/slick_social_share_buttons.jpg" alt="" class="img-border img-right" /></p>
<p>Add facebook like, twitter tweet button, google +1, linkedin, digg, stumbledupon, delicious, reddit &#038; pinterest.com pin it social media share buttons in a floating or slide out tab to any WordPress website with the Slick Social Share Buttons plugin.</p>
<p>Slick Social Share Buttons also includes a social statistics page in WordPress admin, which gives you complete share totals for each page, post and category page.</p>
<p>The plugin has a range of options giving you full control of position of button panel, size of social media buttons, display order and whether to show or hide the floating or sticky panel on page load.</p>
<p>The plugin gives you the choice to include the social media share buttons on:</p>
<ul class="content-list">
<li>WordPress Home page</li>
<li>Posts page if using static home page</li>
<li>Posts</li>
<li>Pages</li>
<li>Category Pages</li>
<li>Archive Pages</li>
</ul>
<p>If you are looking for a non-Wordpress version, which can be used on all websites check out our <a href="/lab/jquery-plugin-social-share-buttons/getting-started/">jQuery Social Share Buttons Plugin</a> &#8211; allows you to add all of the main social media share buttons to any web page.</p>
<h3>Demos for WordPress Social Share Buttons Plugin</h3>
<p>Plugin also used on this site &#8211; see social share buttons on left. Additional demos include:</p>
<ul class="content-list">
<li><a href="/lab/demo-wordpress-slick-social-share-buttons-plugin/">Sliding Vertical Button Panel</a></li>
<li><a href="/lab/demo-wordpress-slick-social-share-buttons-plugin-horizontal-panel/">Horizontal Sliding Button Panel</a></li>
<li><a href="/lab/demo-wordpress-slick-social-share-buttons-plugin-top-vertical-panel/">Top Vertical Slide Down Panel</a></li>
<li><a href="/lab/demo-wordpress-slick-social-share-buttons-plugin-floating-vertical-panel/">Vertical Floating Panel</a></li>
<li><a href="/lab/demo-wordpress-slick-social-share-buttons-plugin-floating-bottom-panel/">Bottom Floating Panel</a></li>
</ul>
<h3>Download Slick Social Share Buttons plugin</h3>
<p><a href="http://downloads.wordpress.org/plugin/slick-social-share-buttons.2.2.zip" rel="nofollow">Download Slick Social Share Buttons 2.2 (72,957)</a></p>

<h3>Installation</h3>
<ol>
<li>Upload the plugin through `Plugins > Add New > Upload` interface or upload `slick-social-share-buttons` folder to the `/wp-content/plugins/` directory</li>
<li>Activate the plugin through the &#8216;Plugins&#8217; menu in WordPress</li>
<li>Configure the plugin options via the &#8220;Social Buttons&#8221; menu option in WordPress admin -> Social Buttons</li>
<li>After selecting the button and plugin options click &#8220;Save&#8221; to activate the buttons on your WordPress website</li>
</ol>
<h3>Floating/Sticky Tab Options</h3>
<p>The type and position of the social button panel can be configured via the plugin settings page in WordPress admin:</p>
<h4>Method</h4>
<p>Select either a &#8220;floating&#8221; panel or a sticky &#8220;Sliding&#8221; tab</p>
<h4>Location:</h4>
<p>The position of the social button panel in the browser window:</p>
<h4>Position From Center</h4>
<p>Only available if using floating buttons. Check this if you wish to have the floating button panel positioned from the center of the page as opposed to the edge of the browser. In the text box enter the number of pixels that the panel should be positioned from the center of the screen. Useful for fixed width websites.</p>
<p>If not checked the position of the floating panel will be based on the edge of the browser &#8211; i.e. if the browser window is reduced the buttons will move towards the center.</p>
<h4>Offset</h4>
<p>Offset allows you to fine tune the positioning by adding the number of pixels that you would like to offset the panel from the edge of the browser window.</p>
<p>For sliding tabs only one offset is used:</p>
<ul class="content-list">
<li>Top-left &#038; bottom-left &#8211; number of pixels from left edge of browser</li>
<li>Top-right &#038; bottom-right &#8211; number of pixels from right edge of browser</li>
<li>Left &#038; right &#8211; number of px from the top of the browser window</li>
</ul>
<p>Floating social buttons:</p>
<ul class="content-list">
<li>Top-left	&#038; left &#8211; pixels from top &#038; pixels from left</li>
<li>Top-right &#038; right &#8211; pixels from top, &#038; pixels from right</li>
<li>Bottom-left &#8211; pixels from bottom &#038; pixels from left</li>
<li>Bottom-right &#8211; pixels from bottom &#038; pixels from right</li>
</ul>
<h4>Direction</h4>
<p>Only applicable for &#8220;Slide Out&#8221; panels. This allows you to select whether the buttons are displayed horizontally or vertically.</p>
<h4>Disable Floating Effects</h4>
<p>If checked the floating style animation used for the floating buttons panel will be disabled and the panel will now stick to its location in the browser (only applicable to floating button panels)</p>
<h4>Floating Speed:</h4>
<p>The speed for the floating animation (only applicable for the floating type) in milliseconds &#8211; i.e. the time it takes to &#8220;catch up&#8221; when the page scrolls up or down) &#8211; e.g. to set the floating speed to 1.5 seconds use <strong>1500</strong>.</p>
<p>The default speed is set to 1.6 secs.</p>
<h4>Animation Speed:</h4>
<p>The speed in milliseconds to open and close the button panel.</p>
<p>The default speed is set to 0.6 secs.</p>
<h4>Auto-Close:</h4>
<p>If checked, the panel will automatically slide closed when the user clicks anywhere else in the browser window</p>
<h4>Load Open:</h4>
<p>If checked, the social buttons will be displayed open when the page first loads. The tab will still close the panel when clicked.</p>
<h4>Default Skin:</h4>
<p>Check this box to use the default skin that comes with the plugin. To use your own styles uncheck the box and add the CSS to your theme&#8217;s style sheet. The default CSS file can be used as a template.</p>
<h4>Tab Image URL:</h4>
<p>To use your own image for the button panel tab insert the full URL for the image into the text field. Leave the box empty if you wish to use the default &#8220;Share&#8221; tab that comes with the plugin.</p>
<h3>Page Display Options</h3>
<p>Check the boxes of those pages/posts where you would like the social media buttons to appear:</p>
<ul class="content-list">
<li>WordPress Home page</li>
<li>Posts page &#8211; if using a static home page this will be the page that displays posts</li>
<li>Posts</li>
<li>Pages</li>
<li>Category Pages</li>
<li>Archive Pages</li>
</ul>
<h4>Excluding Individual Categories</h4>
<p>For category pages you also have the option to specify any categories you would like to exclude from showing the social media buttons.</p>
<p>Click the &#8220;Show Categories&#8221; link to display a complete list of all categories on your website. Clicking on a category will move the category between the include and exclude lists.</p>
<p>Click the &#8220;Save&#8221; button once you have selected the relevant categories.</p>
<p>If a category is excluded the social media buttons will not appear on the category page or any post assigned to that category.</p>
<h3>Social Media Button Options</h3>
<p>To disable a button uncheck the checkbox next to the button name.</p>
<p>The size of each button and whether to display a count of total shares for that page can be selected from the dropdown menu. A sample showing an actual, active button with the selected settings will display in the right-hand column.</p>
<p>The buttons will display on the website in the same order that they are listed in the settings page. To change this order drag &#038; drop the buttons and arrange as required.</p>
<h4>Current Supported Social Media Share Buttons:</h4>
<ul class="content-list">
<li>Twitter Button</li>
<li>Facebook Like</li>
<li>Google +1 Button</li>
<li>Delicious Button</li>
<li>LinkedIn Button</li>
<li>StumbleUpon Button</li>
<li>Digg Button</li>
<li>Reddit Button</li>
<li>Pinterest &#8220;Pin It&#8221; Share Button</li>
</ul>
<p>In addition to the basic settings some Social APIs require additional information.</p>
<h4>Twitter</h4>
<p>Input your twitter username (minus the &#8216;@&#8217; symbol) to include this in the tweet.</p>
<h4>Facebook</h4>
<p>The facebook like button includes the option to use either the iFrame or xfbml methods of adding the button.
<p>If you select the xfbml version you must add the following settings:</p>
<ul class="content-list">
<li>Either a Facebook App ID or a Facebook Admin ID &#8211; although both can be entered you only need one for the xfbml version to work.</li>
<li>Default Facebook Image &#8211; enter the URL for an image that will be entered into the facebook open graph meta tag in the event that a post thumbnail is not available for the page.</li>
<li>Disable Opengraph &#8211; if you already have a plugin adding the facebook opengraph settings you can disable this plugin adding an additional set by checking this checkbox.</li>
</ul>
<h4>Pinterest.com Pin It</h4>
<p>The &#8220;Default Pin It Image&#8221; option allows you to enter the URL for a default image to use for the &#8220;Pin It&#8221; button if a featured image in your blog post is not available.</p>
<h3>Twitter URL Shortening</h3>
<p>The plugin includes the option to select URL shortening for twitter from several services:</p>
<ul class="content-list">
<li>Bit.ly</li>
<li>Digg</li>
<li>Su.pr</li>
<li>tinyurl</li>
</ul>
<p>If using bit.ly the API Key and account login must also be entered. For su.pr these are both optional.</p>
<div class="clear banner-horizontal">
<script type="text/javascript"><!--
google_ad_client = "ca-pub-7740611438413740";
/* Banner Mid Post */
google_ad_slot = "8625321051";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script><br />
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</div>
<h3>Social Statistics &#038; Metrics</h3>
<p>Starting with version 2.0, the Slick Social Share Buttons plugin now includes a statistics page in WordPress admin, which gives you a complete overview and summaries of shares on your posts, pages and category pages.</p>
<p>To access this page go to WordPress Admin -> Social Buttons -> Social Stats</p>
<p>Social Stats options include:</p>
<h4>Show</h4>
<p>Select whether to show just your home page, posts, pages or category pages. Selecting the pages option will also include the home page results as the first item.</p>
<h4>Filter</h4>
<p>Available for posts only this lets you filter the results by category.</p>
<h4>Order By</h4>
<p>Select whether to sort the results by either date or alphabetically by title in either ascending or descending order. Only available for posts or pages.</p>
<h4>Display</h4>
<p>Show the total shares per URL either as text, text using conditional formatting to give a data &#8220;heatmap&#8221; or as active share buttons.</p>
<p>Note: selecting the &#8220;buttons&#8221; option will increase loading time as each button must be generated from the relevant social network site.</p>
<h4>Per Page</h4>
<p>Adjust the number of results per page. For faster loading time select a lower number per page.</p>
<h3>Shortcodes</h3>
<p>The plugin includes the feature to add text links within your site content that will open/close the sticky or floating button panel.</p>
<h4 class="pad-btm">Click the links below to open/close the share button panel.</h4>
<p><a href="#" class="dcssb-link"><img src="/media/images/sc_social_1.png" alt="" class="img-border img-left" /></a> <strong><a href='#' class='dcssb-link'>Share</a></strong> &#8211; default link, which will toggle the social share button panel open/closed with the link text &#8220;Share&#8221;</p>
<p class="clear"><a href="#" class="dcssb-link"><img src="/media/images/sc_social_2.png" alt="" class="img-border img-left" /></a> <strong><a href='#' class='dcssb-link'>Tell Your Friends</a></strong> &#8211; toggle the button panel open/closed with the link text &#8220;Tell Your Friends&#8221;</p>
<p class="clear"><a href="#" class="dcssb-open"><img src="/media/images/sc_social_3.png" alt="" class="img-border img-left" /></a> <strong><a href='#' class='dcssb-open'>Share</a></strong> &#8211; open the button panel with the default link text.</p>
<p class="clear"><a href="#" class="dcssb-close"><img src="/media/images/sc_social_4.png" alt="" class="img-border img-left" /></a> <strong><a href='#' class='dcssb-close'>Share</a></strong> &#8211; close the button panel with the default link text.</p>
<h3 class="clear">Troubleshooting &#038; Frequently Asked Questions</h3>
<p>Check out our <strong><a href="/blog/index.php/frequently-asked-questions/slick-social-share-buttons/">Frequently Asked Questions for Slick Social Share Buttons</a>.</strong></p>
<p>If you have a problem with the facebook like button try this first &#8211; <strong><a href="/blog/index.php/faq/checking-your-facebook-like-button/">Checking you facebook like button</a>.</strong></p>
<p>Many issues that can crop up with installing and using the plugin with different themes have also been covered in our comments section. Please check previous comments for further information/tips.</p>
<h3>Demos for WordPress Social Share Buttons Plugin</h3>
<p>Plugin also used on this site &#8211; see social share buttons on left. Additional demos include:</p>
<ul class="content-list">
<li><a href="/lab/demo-wordpress-slick-social-share-buttons-plugin/">Sliding Vertical Button Panel</a></li>
<li><a href="/lab/demo-wordpress-slick-social-share-buttons-plugin-horizontal-panel/">Horizontal Sliding Button Panel</a></li>
<li><a href="/lab/demo-wordpress-slick-social-share-buttons-plugin-top-vertical-panel/">Top Vertical Slide Down Panel</a></li>
<li><a href="/lab/demo-wordpress-slick-social-share-buttons-plugin-floating-vertical-panel/">Vertical Floating Panel</a></li>
<li><a href="/lab/demo-wordpress-slick-social-share-buttons-plugin-floating-bottom-panel/">Bottom Floating Panel</a></li>
</ul>
<h3>Download Slick Social Share Buttons plugin</h3>
<p><a href="http://downloads.wordpress.org/plugin/slick-social-share-buttons.2.2.zip" rel="nofollow">Download Slick Social Share Buttons 2.2 (72,957)</a></p>

<h3>Feedback</h3>
<p><strong>If you find this plugin useful please take the time to rate it at <a href="http://wordpress.org/extend/plugins/slick-social-share-buttons/" rel="nofollow" class="external">wordpress.org</a></strong>.</p>
<p>If you have any problems, suggestions on how we can make the plugin better or would like help creating a new skin for your social buttons panel let us know via comments, email or our online contact form.</p>
<div class="donate">
<form name="_xclick" id="form-donate" action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_blank">&#8216;;</p>
<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="hosted_button_id" value="NVWNM7CSNMEHY">
<input type="image" src="/media/images/btn_donateCC_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
</form>
<h3>Donate</h3>
<p>We develop &#038; support all of our plugins for free. If you use this plugin and find it useful please consider a donation as a token of your appreciation</p>
<div class="clear"></div>
</div>
<h3>Screenshots</h3>
<p class="text-center"><img src="/media/images/slick-social-share-buttons-screenshot-2.png" alt="" /></p>
<p class="text-center"><strong>Example of vertical sliding social buttons panel</strong></p>
<p class="text-center"><img src="/media/images/slick-social-share-buttons-screenshot-3.png" alt="" /></p>
<p class="text-center"><strong>Example of horizontal sliding social buttons panel</strong></p>
<p class="text-center"><img src="/media/images/slick-social-share-buttons-screenshot-4.png" alt="" /></p>
<p class="text-center"><strong>Example of floating panel</strong></p>
<p class="text-center"><img src="/media/images/slick-social-share-buttons-screenshot-5.png" alt="" /></p>
<p class="text-center"><strong>Social Statistics admin page</strong></p>
<h3>Other Social Media/Network Plugins</h3>
<p>If you like Slick Social Share Buttons then try out our other social media WordPress plugins:</p>
<h4>Social Media Tabs</h4>
<p>Add a facebook like box, google +1, google buzz, twitter and RSS profiles and feeds to any widget area with compact, slick sliding tabs. Plugin has the option of adding the tabbed box to either a slide out panel at the side of your browser window or as a static tabbed box in your widget area &#8211; <a href="/blog/index.php/wordpress-plugins/wordpress-plugin-social-media-tabs/">see plugin page</a></p>
<h4>Floating Tweets</h4>
<p>The Floating Tweets plugin adds a floating, slide out tab containing the latest tweets from any twitter account. The widget is easily set up via any widget panel and can handle multiple twitter feeds per page &#8211; <a href="/blog/index.php/wordpress-plugins/wordpress-plugin-floating-tweets/">see plugin page</a></p>
<h3>Updates</h3>
<h4>Version 2.3 &#8211; 22nd January 2012</h4>
<ul class="content-list">
<li>Added: Reddit button</li>
<li>Fixed: Stumbleupon width &#038; height</li>
</ul>
<h4>Version 2.2 &#8211; 30th December 2011</h4>
<ul class="content-list">
<li>Added: Delicious button</li>
<li>Removed: Obsolete google buzz button</li>
</ul>
<h4>Version 2.1.4 &#8211; 22nd November 2011</h4>
<ul class="content-list">
<li>Added: Option to disable facebook opengraph settings</li>
</ul>
<h4>Version 2.1.1 &#8211; 22nd October 2011</h4>
<ul class="content-list">
<li>Added: Option to show buttons on posts page when using a static home page</li>
<li>Added: Conditional loading of jquery &#038;CSS files</li>
<li>Added: Option to view social statistics counts using a data &#8220;heatmap&#8221;</li>
</ul>
<h4>Version 2.0 &#8211; 17th October 2011</h4>
<ul class="content-list">
<li>Added: Social statistics admin page</li>
<li>Added: Only show statistics for active buttons</li>
<li>Fixed: Total posts when filtering posts by category</li>
</ul>
<h4>Version 1.4.2 &#8211; 12th October 2011</h4>
<ul class="content-list">
<li>Fixed: Bug with short url meta data</li>
</ul>
<h4>Version 1.4.1 &#8211; 7th October 2011</h4>
<ul class="content-list">
<li>Update: Pin It button size drop down menu</li>
<li>Update: Optimize jquery plugin files</li>
<li>Update: Changed method of retrieving post ID</li>
</ul>
<h4>Version 1.4 &#8211; 5th October 2011</h4>
<ul class="content-list">
<li>Added: pinterest.com &#8220;Pin It&#8221; share button</li>
</ul>
<h4>Version 1.3 &#8211; 29th September 2011</h4>
<ul class="content-list">
<li>Updated: remove additional facebook js script</li>
<li>Updated: facebook opengraph type meta tags</li>
</ul>
<h4>Version 1.2.9 &#8211; 27th September 2011</h4>
<ul class="content-list">
<li>Updated: Added local GA social tracking script</li>
</ul>
<h4>Version 1.2.8 &#8211; 23rd September 2011</h4>
<ul class="content-list">
<li>Updated: Increased title/description text</li>
</ul>
<h4>Version 1.2.7 &#8211; 9th September 2011</h4>
<ul class="content-list">
<li>Fixed: Tweet home page &#038; category page URL using shortener</li>
<li>Fixed: Hiding of facebook like comment box</li>
</ul>
<h4>Version 1.2.6 &#8211; 4th September 2011</h4>
<ul class="content-list">
<li>Added: Option to disable floating button effects</li>
</ul>
<h4>Version 1.2.5 &#8211; 25th August 2011</h4>
<ul class="content-list">
<li>Added: Option to position floating buttons from center of page</li>
</ul>
<h4>Version 1.2.4 &#8211; 19th August 2011</h4>
<ul class="content-list">
<li>Added: Google Buzz button</li>
</ul>
<h4>Version 1.2.3 &#8211; 14th August 2011</h4>
<ul class="content-list">
<li>Added: Ability to exclude specific categories</li>
</ul>
<h4>Version 1.2 &#8211; 11th August 2011</h4>
<ul class="content-list">
<li>Added: Digg button</li>
<li>Fixed: Bug with Stumbleupon &#038; Safari</li>
</ul>
<h4>Version 1.1 &#8211; 11th August 2011</h4>
<ul class="content-list">
<li>Added: Default image for facebook like button Open Graph tags</li>
<li>Fixed: URL for WordPress home page for Open Graph tags</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.designchemical.com/blog/index.php/wordpress-plugins/wordpress-plugin-slick-social-share-buttons/feed/</wfw:commentRss>
		<slash:comments>528</slash:comments>
		</item>
		<item>
		<title>New jQuery Plugin &#8211; JQuery Spamless</title>
		<link>http://www.designchemical.com/blog/index.php/jquery-plugins/jquery-spamless-plugin-stop-email-spam/</link>
		<comments>http://www.designchemical.com/blog/index.php/jquery-plugins/jquery-spamless-plugin-stop-email-spam/#comments</comments>
		<pubDate>Thu, 04 Aug 2011 06:53:17 +0000</pubDate>
		<dc:creator>Lee</dc:creator>
				<category><![CDATA[jQuery]]></category>
		<category><![CDATA[jQuery Plugins]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[spam]]></category>

		<guid isPermaLink="false">http://www.designchemical.com/blog/?p=2102</guid>
		<description><![CDATA[<a href="http://www.designchemical.com/blog/index.php/jquery-plugins/jquery-spamless-plugin-stop-email-spam/"><img align="left" hspace="5" width="150" src="http://www.designchemical.com/blog/wp-content/plugins/thumbnail-for-excerpts/jquery_code.png" class="alignleft wp-post-image tfe" alt="" title="" /></a><p>The jQuery Spamless plugin is a simple and lightweight plugin that helps prevent and protect against email spam by converting obfuscated email addresses into human readable ones in the users browser.</p>
<p>The plugin offers several options, which allow you to customise the level of security:</p>
<ul class="content-list">
<li>Customise the characters used to replace the &#8220;@&#8221; symbol and the domain name</li></ul><p> &#8230; <a href="http://www.designchemical.com/blog/index.php/jquery-plugins/jquery-spamless-plugin-stop-email-spam/" class="read_more">more</a></p>]]></description>
			<content:encoded><![CDATA[<p>The jQuery Spamless plugin is a simple and lightweight plugin that helps prevent and protect against email spam by converting obfuscated email addresses into human readable ones in the users browser.</p>
<p>The plugin offers several options, which allow you to customise the level of security:</p>
<ul class="content-list">
<li>Customise the characters used to replace the &#8220;@&#8221; symbol and the domain name &#8220;.&#8221;.</li>
<li>Select whether to convert reversed text into a human readable email &#8211; e.g. moc[dot]niamod[at]sserdda.liame would be rendered as email.address@domain.com</li>
<li>Automatically add a mailto link</li>
</ul>
<p>The plugin can also be used on mailto links and will automatically identify when a link is used and convert the href text.</p>
<p>Check out the <a href="/lab/jquery-spamless-plugin-stop-email-spam/getting-started/">jQuery Spamless project pages</a> for more information, examples and downloads.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.designchemical.com/blog/index.php/jquery-plugins/jquery-spamless-plugin-stop-email-spam/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Create An Automatic Content Filter Using jQuery &amp; CSS Classes</title>
		<link>http://www.designchemical.com/blog/index.php/jquery/create-an-automatic-content-filter-using-jquery-css-classes/</link>
		<comments>http://www.designchemical.com/blog/index.php/jquery/create-an-automatic-content-filter-using-jquery-css-classes/#comments</comments>
		<pubDate>Sun, 05 Jun 2011 12:08:32 +0000</pubDate>
		<dc:creator>Lee</dc:creator>
				<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Website Coding]]></category>
		<category><![CDATA[animation]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.designchemical.com/blog/?p=1897</guid>
		<description><![CDATA[<a href="http://www.designchemical.com/blog/index.php/jquery/create-an-automatic-content-filter-using-jquery-css-classes/"><img align="left" hspace="5" width="150" src="/media/images/jquery_automatic_class_filter_tutorial.png" class="alignleft wp-post-image tfe" alt="" title="" /></a><p><img src="/media/images/jquery_automatic_class_filter_tutorial.png" alt="" /></p>
<p>The objective of today&#8217;s jQuery tutorial is to automatically generate a list of &#8220;category&#8221; links from CSS class names and use these links to filter our HTML content.</p>
<p>For the tutorial demo we are going to use a list of links for our jQuery tutorials, which we would like to filter by subject/category. This technique however is useful for &#8230; <a href="http://www.designchemical.com/blog/index.php/jquery/create-an-automatic-content-filter-using-jquery-css-classes/" class="read_more">more</a></p>]]></description>
			<content:encoded><![CDATA[<p><img src="/media/images/jquery_automatic_class_filter_tutorial.png" alt="" /></p>
<p>The objective of today&#8217;s jQuery tutorial is to automatically generate a list of &#8220;category&#8221; links from CSS class names and use these links to filter our HTML content.</p>
<p>For the tutorial demo we are going to use a list of links for our jQuery tutorials, which we would like to filter by subject/category. This technique however is useful for any kind of HTML elements including; images, creating dependant select lists, unordered/ordered lists, etc and is ideal for content that needs to be listed under multiple categories or creating portfolios.</p>
<p>Since the actual filter list is generated dynamically we can quickly and easily add/edit/delete items that we would like to filter as well as change the categories.</p>
<p><a href="/lab/jquery/demo/jquery_demo_create_class_filter.htm" class="demo">View Demo</a><a href="/lab/jquery/demo/download/jquery-create-class-filter.zip" class="demo">Download Source Files</a></p>
<h3 class="clear">HTML List</h3>
<p>First we create our list of items to be filtered. For the purpose of the tutorial we wont include all of the list items show in the demo. On the few samples though note the class names added to each item &#8211; these are our categories/tags that we would like to use for filtering:</p>
<pre class="brush: plain; title: ; notranslate">
&lt;ul id=&quot;demo-list&quot;&gt;
  &lt;li&gt;
    &lt;a href=&quot;/lab/jquery/demo/jquery_demo_light_weight_animated_slider.htm&quot; class=&quot;menus animation horizontal&quot;&gt;Lightweight Slider&lt;/a&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;a href=&quot;/lab/jquery/demo/jquery_simple_horizontal_accordion.htm&quot; class=&quot;menus animation horizontal&quot;&gt;Simple Horizontal Accordion&lt;/a&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;a href=&quot;/lab/jquery-mega-drop-down-menu-plugin/getting-started/&quot; class=&quot;menus plugins&quot;&gt;jQuery Mega Drop Down Menu Plugin&lt;/a&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;a href=&quot;/lab/jquery/demo/jquery_animation_form_validation_errors.htm&quot; class=&quot;forms validation ajax animation&quot;&gt;Animated Error Messages &amp;amp; Form Validation&lt;/a&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;a href=&quot;/lab/jquery/demo/jquery_demo_image_swap_gallery.htm&quot; class=&quot;images&quot;&gt;Ultimate Image Swap Gallery with 3 Lines of Code&lt;/a&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;a href=&quot;/lab/jquery/demo/jquery_demo_slick_jquery_captions.htm&quot; class=&quot;images animation&quot;&gt;jQuery Fading Image Captions&lt;/a&gt;
  &lt;/li&gt;
&lt;/ul&gt;
</pre>
<h3>The jQuery Code</h3>
<p>There are basically 2 main parts to the jQuery:</p>
<p>Create The Filter Links &#8211; this involves retrieving all of the item classes and create a list of filter links based on the class names</p>
<p>A function to filter the demo list using the above links</p>
<h4>1. Create The Filter Links</h4>
<pre class="brush: jscript; title: ; notranslate">
$(document).ready(function() {

// map the classes for each item into a new array
classes = $(&quot;#demo-list li a&quot;).map(function(){
    return $(this).attr(&quot;class&quot;).split(' ');
});

// create list of distinct items only
var classList = distinctList(classes);

// generate the list of filter links
var tagList = '&lt;ul id=&quot;tag-list&quot;&gt;&lt;/ul&gt;';
tagItem = '&lt;li&gt;&lt;a href=&quot;#&quot; class=&quot;active&quot;&gt;all&lt;/a&gt;&lt;/li&gt;';

// loop through the list of classes &amp; add link
$.each(classList, function(index,value){
    var value = value.replace(&quot;-&quot;, &quot; &quot;);
    tagItem += '&lt;li&gt;&lt;a href=&quot;#&quot;&gt;'+value+'&lt;/a&gt;&lt;/li&gt;';
});

// add the filter links before the list of items
$(&quot;#demo-list&quot;).before($(tagList).append(tagItem));

});

// Function to create a distinct list from array
function distinctList(inputArray){
	var i;
	var length = inputArray.length;
	var outputArray = [];
	var temp = {};
	for (i = 0; i &lt; length; i++) {
		temp[inputArray[i]] = 0;
    }
    for (i in temp) {
        outputArray.push(i);
	}
	return outputArray;
}
</pre>
<p>In the above code we first retrieve all of the class names from our list of demo links using jQuery&#8217;s map function.</p>
<p>This will create an array of containing all class names. In order to convert it to an array containing a distinct list of class names we pass our array to the function at the end &#8211; distinctList().</p>
<p>With the cleaned up output from our distinctList() function we then loop through the array and create a filter link for each item. Note that we create the complete filter links list before we insert the HTML &#8211; this will help improve performance since we only need to manipulate the DOM once.</p>
<p>We have also included an &#8220;all&#8221; link, which will allow us to reset the demo list filter and show all items.b</p>
<div class="banner-horizontal">
<script type="text/javascript"><!--
google_ad_client = "ca-pub-7740611438413740";
/* Banner Mid Post */
google_ad_slot = "8625321051";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script><br />
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</div>
<h4>2. Filtering the Demo List</h4>
<pre class="brush: jscript; title: ; notranslate">
// filter the demo list when the filter links are clicked
$('#tag-list li a').live('click',function(e){

    // allows filter categories using multiple words
    var getText = $(this).text().replace(&quot; &quot;, &quot;-&quot;);
    if(getText == 'all'){
        $(&quot;#demo-list li a&quot;).fadeIn();
    } else {
        $(&quot;#demo-list li a&quot;).fadeOut();
        $(&quot;#demo-list li a.&quot;+getText).fadeIn();
    }

    // add class &quot;active&quot; to current filter item
    $('#tag-list li a').removeClass('active');
    $(this).addClass('active');

    // prevent the page scrolling to the top of the screen
    e.preventDefault();
});
</pre>
<p>The demo list items will be filtered when the filter links are clicked. Since we create the filter links on the fly we need to use the &#8220;live&#8221; function to bind the categories.</p>
<p>The function allows us to use multiple words for category names by adding them as class names with hyphens &#8211; e.g. horizontal-menus would appear in the filter links as &#8220;horizontal menus&#8221;.</p>
<p>For this demo we will use fadeIn and fadeOut to show/hide the demo links. This can easily be substituted by any of the animation styles to suit your own tastes.</p>
<p>Finally at the end of our click function we add code to give the current filter item the class &#8220;active&#8221; and use e.preventDefault() to stop the browser scrolling to the top of the screen when the filter links are clicked.</p>
<h3>The Complete jQuery Code</h3>
<p>The complete jQuery code for our automatic content filter is:</p>
<pre class="brush: jscript; title: ; notranslate">
$(document).ready(function() {

// map the classes for each item into a new array
classes = $(&quot;#demo-list li a&quot;).map(function(){
    return $(this).attr(&quot;class&quot;).split(' ');
});

// create list of distinct items only
var classList = distinctList(classes);

// generate the list of filter links
var tagList = '&lt;ul id=&quot;tag-list&quot;&gt;&lt;/ul&gt;';
tagItem = '&lt;li&gt;&lt;a href=&quot;#&quot; class=&quot;active&quot;&gt;all&lt;/a&gt;&lt;/li&gt;';

// loop through the list of classes &amp; add link
$.each(classList, function(index,value){
    var value = value.replace(&quot;-&quot;, &quot; &quot;);
    tagItem += '&lt;li&gt;&lt;a href=&quot;#&quot;&gt;'+value+'&lt;/a&gt;&lt;/li&gt;';
});

// add the filter links before the list of items
$(&quot;#demo-list&quot;).before($(tagList).append(tagItem));

// filter the demo list when the filter links are clicked
$('#tag-list li a').live('click',function(e){

    // allows filter categories using multiple words
    var getText = $(this).text().replace(&quot; &quot;, &quot;-&quot;);
    if(getText == 'all'){
        $(&quot;#demo-list li a&quot;).fadeIn();
    } else {
        $(&quot;#demo-list li a&quot;).fadeOut();
        $(&quot;#demo-list li a.&quot;+getText).fadeIn();
    }

    // add class &quot;active&quot; to current filter item
    $('#tag-list li a').removeClass('active');
    $(this).addClass('active');

    // prevent the page scrolling to the top of the screen
    e.preventDefault();
});
});

// Function to create a distinct list from array
function distinctList(inputArray){
	var i;
	var length = inputArray.length;
	var outputArray = [];
	var temp = {};
	for (i = 0; i &lt; length; i++) {
		temp[inputArray[i]] = 0;
    }
    for (i in temp) {
        outputArray.push(i);
	}
	return outputArray;
}
</pre>
<p><a href="/lab/jquery/demo/jquery_demo_create_class_filter.htm" class="demo">View Demo</a><a href="/lab/jquery/demo/download/jquery-create-class-filter.zip" class="demo">Download Source Files</a></p>
<div class="clear"></div>
]]></content:encoded>
			<wfw:commentRss>http://www.designchemical.com/blog/index.php/jquery/create-an-automatic-content-filter-using-jquery-css-classes/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>New WordPress Plugin &#8211; Slick Contact Forms</title>
		<link>http://www.designchemical.com/blog/index.php/wordpress-plugins/new-wordpress-plugin-slick-contact-forms/</link>
		<comments>http://www.designchemical.com/blog/index.php/wordpress-plugins/new-wordpress-plugin-slick-contact-forms/#comments</comments>
		<pubDate>Mon, 09 May 2011 12:11:14 +0000</pubDate>
		<dc:creator>Lee</dc:creator>
				<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Wordpress Plugins]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[animation]]></category>
		<category><![CDATA[forms]]></category>
		<category><![CDATA[layout]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[widget]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.designchemical.com/blog/?p=1845</guid>
		<description><![CDATA[<a href="http://www.designchemical.com/blog/index.php/wordpress-plugins/new-wordpress-plugin-slick-contact-forms/"><img align="left" hspace="5" width="150" src="/media/images/slick-contact-forms-plugin.png" class="alignleft wp-post-image tfe" alt="" title="" /></a><p class="text-center"><img src="/media/images/slick-contact-forms-plugin.png" alt="" class="img-border" /></p>
<p>Slick Contact Forms is our latest WordPress plugin using jQuery. The plugin allows you to quickly and easily add contact forms to any post or page in WordPress using widget areas.</p>
<p>The plugin allows multiple forms per page, option to either use jquery sticky tabs or jquery floating tabs for the contact form and configure the form settings, &#8230; <a href="http://www.designchemical.com/blog/index.php/wordpress-plugins/new-wordpress-plugin-slick-contact-forms/" class="read_more">more</a></p>]]></description>
			<content:encoded><![CDATA[<p class="text-center"><img src="/media/images/slick-contact-forms-plugin.png" alt="" class="img-border" /></p>
<p>Slick Contact Forms is our latest WordPress plugin using jQuery. The plugin allows you to quickly and easily add contact forms to any post or page in WordPress using widget areas.</p>
<p>The plugin allows multiple forms per page, option to either use jquery sticky tabs or jquery floating tabs for the contact form and configure the form settings, animation and the email address of where the form details should be sent.</p>
<p class="text-center"><a href="/blog/index.php/wordpress-plugin-slick-contact-forms/"><strong>WordPress slick contact forms plugin page</strong></a>.</p>
<p>Each contact form also includes the option to add up to 3 input text fields and one text area. Input labels can be set via the contact form control panel as well as the type of jQuery validation used &#8211; select either &#8220;no validation&#8221;, &#8220;required&#8221; or &#8220;email&#8221; for checking that entered text matches the correct email format.</p>
<p class="text-center"><img src="/media/images/slick-contact-forms-plugin-2.png" alt="" class="img-border" /></p>
<p>Validation error messages are animated along with highlighting the input field and form is submitted using AJAX.</p>
<p>The plugin is designed so that all of the forms are fully accessible and in the event that the user has javascript disabled the form will appear on the page in the designated widget area and can be submitted as normal.</p>
<p>For more information and instructions on how to install and configure the plugin and check out a demo form:</p>
<p class="text-center"><a href="/blog/index.php/wordpress-plugin-slick-contact-forms/">WordPress slick contact forms</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.designchemical.com/blog/index.php/wordpress-plugins/new-wordpress-plugin-slick-contact-forms/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>WordPress Plugin &#8211; jQuery Floating Menu</title>
		<link>http://www.designchemical.com/blog/index.php/wordpress-plugins/wordpress-plugin-jquery-floating-menu/</link>
		<comments>http://www.designchemical.com/blog/index.php/wordpress-plugins/wordpress-plugin-jquery-floating-menu/#comments</comments>
		<pubDate>Mon, 02 May 2011 01:46:05 +0000</pubDate>
		<dc:creator>Lee</dc:creator>
				<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Wordpress Plugins]]></category>
		<category><![CDATA[menu]]></category>
		<category><![CDATA[navigation]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[vertical]]></category>
		<category><![CDATA[widget]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.designchemical.com/blog/?p=1773</guid>
		<description><![CDATA[<a href="http://www.designchemical.com/blog/index.php/wordpress-plugins/wordpress-plugin-jquery-floating-menu/"><img align="left" hspace="5" width="150" src="/media/images/floating_menu_plugin.png" class="alignleft wp-post-image tfe" alt="wordpress floating menu plugin" title="" /></a><p><strong>Updated 27th November 2011</strong></p>
<p><img src="/media/images/floating_menu_plugin.png" alt="wordpress floating menu plugin" class="img-right img-border" /></p>
<p>The jQuery Floating Menu plugin allows you to add a floating, sticky menu containing important links to your WordPress site. These menus can be created from any WordPress 3.0 custom menu.</p>
<p>This WordPress plugin can handle multiple floating menus on each page and has many options to customise position and features, which are easily set &#8230; <a href="http://www.designchemical.com/blog/index.php/wordpress-plugins/wordpress-plugin-jquery-floating-menu/" class="read_more">more</a></p>]]></description>
			<content:encoded><![CDATA[<p><strong>Updated 27th November 2011</strong></p>
<p><img src="/media/images/floating_menu_plugin.png" alt="wordpress floating menu plugin" class="img-right img-border" /></p>
<p>The jQuery Floating Menu plugin allows you to add a floating, sticky menu containing important links to your WordPress site. These menus can be created from any WordPress 3.0 custom menu.</p>
<p>This WordPress plugin can handle multiple floating menus on each page and has many options to customise position and features, which are easily set via the widget control panel. The menu can also be toggled open/closed via external links inserted using shortcodes.</p>
<h3>Demo jQuery Floating Menu</h3>
<p><a href="/lab/demo-wordpress-jquery-floating-menu-plugin/">WordPress Floating Menu Plugin Demo</a></p>
<h3>Download The Plugin</h3>
<p><a href="http://downloads.wordpress.org/plugin/floating-menu.1.4.zip" rel="nofollow">Download Floating Menu 1.4 (20,434)</a></p>

<h3>Installation</h3>
<ol>
<li>Upload the plugin through `Plugins > Add New > Upload` interface or upload `floating-menu` folder to the `/wp-content/plugins/` directory</li>
<li>Activate the plugin through the &#8216;Plugins&#8217; menu in WordPress</li>
<li>In the widgets section, select the Floating Menu widget and add to one of your widget areas</li>
<li>Select one of the WP menus, set the required settings and save your widget</li>
</ol>
<h3>Useage</h3>
<p>In order to use the floating menu plugin you will need the following:</p>
<h4>A WordPress custom menu</h4>
<p>Either use an existing menu or set one up via the menu option in WordPress admin.</p>
<h4>Widget area</h4>
<p>Location of the actual widget is not important since the plugin automatically sets the position based on the control panel settings. You can therefore add the floating menu to an existing widget area in your WordPress theme or create a new widget area.</p>
<p>To learn more about adding widget areas to WordPress see our WordPress tutorial &#8211; <a href="http://www.designchemical.com/blog/index.php/wordpress-tips/wordpress-tutorial-adding-a-widget-area-to-your-theme-files/">&#8220;Adding A Widget Area To Your Theme Files&#8221;</a>.</p>
<h4>Create Your Floating Menu</h4>
<p>To create your floating menu go to the widget admin page and drag the &#8220;Floating Menu&#8221; widget to the desired widget area. Select your custom menu from the drop down list in the widget control panel.</p>
<p>Click &#8220;save&#8221; to activate the widget.</p>
<h3>Configuring Your Widget</h3>
<p>The floating menu can easily be customised using the options available in the widget control panel:</p>
<h4>Event:</h4>
<p>Open/Close the menu using either &#8216;hover&#8217; or &#8216;click&#8217;.</p>
<h4>Tab Text:</h4>
<p>Enter the text that you would like to use for the menu tab.</p>
<h4>Width:</h4>
<p>Set the width of the menu in pixels</p>
<h4>Location &#038; Aligment:</h4>
<p>The position of the menu in the browser window is determined using its location (either Top or Bottom) and aligment (left or right). The location also changes how the menu slides out:</p>
<ul class="content-list">
<li>Top Left or Top Right &#8211; menu slides down</li>
<li>Bottom Left or Bottom Right &#8211; menu slides up</li>
</ul>
<p>For each one you can also add the number of pixels that you would like to offset the menu by from either the location or alignment in the text box next to the drop down list. The default offset for both location and alignment is 10px.</p>
<p>E.g. To position a menu 50 pixels from the top and 100 pixels from the right you would use the following settings:</p>
<p class="text-center"><img src="/media/images/floating-menu-example-1.png" alt="Floating menu example 1" /></p>
<h4>Set Alignment from Center</h4>
<p>check this box to position the menu based on the center of the browser window as opposed to the sides. The alignment value now becomes the number of pixels left/right of the screen center.</p>
<p>This option allows you to fix the position of the menu even when the browser resolution changes.</p>
<h4>Floating Speed:</h4>
<p>The speed in milliseconds for the menu floating animation (i.e. the time it takes to &#8220;catch up&#8221; when the page scrolls up or down) &#8211; e.g. to set the floating speed to 1.3 seconds use <strong>1300</strong>.</p>
<p>The default speed is set to 1.5 secs.</p>
<h4>Animation Speed:</h4>
<p>The speed in milliseconds to open and close the slide out menu.</p>
<p>The default speed is set to 0.6 secs.</p>
<h4>Auto-Close Menu:</h4>
<p>If checked, the menu will automatically slide closed when the user clicks anywhere in the browser</p>
<h4>Keep Open:</h4>
<p>If checked, the menu tab will remain open at all times.</p>
<h4>Disable Float:</h4>
<p>Check this option to disable the floating animation &#8211; menu remains in fixed position in browser window.</p>
<h4>Skin:</h4>
<p>8 different sample skins are currently available for styling the floating menu. Since there are no essential styles required to create the floating menu, these can easily be used to create your own custom menu theme.</p>
<p>Note: If you use one of the skin CSS files to create your own style please remember to copy the CSS to your theme folder as all files in the plugin folder are automatically deleted when the plugin is updated.</p>
<h3>Shortcodes</h3>
<p>The plugin includes the feature to add text links within your site content that will open/close the floating menu tab.</p>
<p>[dcfl-link] &#8211; <br />
default link, which will toggle the floating menu open/closed with the link text &#8220;Click Here&#8221;</p>
<p>[dcfl-link text="Open Menu"] &#8211; <br />
toggle the floating menu open/closed with the link text &#8220;Open Menu&#8221;</p>
<p>[dcfl-link action="open"] &#8211; <br />open the menu with the default link text &#8220;Click Here&#8221;</p>
<p>[dcfl-link action="close"] &#8211; <br />close the floating menu tab with the default link text &#8220;Click Here&#8221;</p>
<p>[dcfl-link action="close" text="Close Floating Menu"] &#8211; <br />
close the floating menu with the link text &#8220;Close Floating Menu&#8221;</p>
<div class="banner-horizontal">
<script type="text/javascript"><!--
google_ad_client = "ca-pub-7740611438413740";
/* Banner Mid Post */
google_ad_slot = "8625321051";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script><br />
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</div>
<h3>Frequently Asked Questions</h3>
<p><strong>Also please check out our <a href="/blog/index.php/frequently-asked-questions/floating-menu/">Frequently Asked Questions for the Floating Menu plugin</a>.</strong></p>
<p>Many issues that can crop up with installing and using the plugin with different themes have been covered in our comments section. Please check previous comments for further information/tips.</p>
<h3>Demo jQuery Floating Menu</h3>
<p><a href="/lab/demo-wordpress-jquery-floating-menu-plugin/">http://designchemical.com/lab/demo-wordpress-jquery-floating-menu-plugin/</a></p>
<h3>Download The Plugin</h3>
<p><a href="http://downloads.wordpress.org/plugin/floating-menu.1.4.zip" rel="nofollow">Download Floating Menu 1.4 (20,434)</a></p>

<p>If you liked the jQuery Floating Menu Plugin you should also try out:</p>
<h4><a href="/blog/index.php/wordpress-plugins/wordpress-plugin-jquery-slick-menu-widget/">WordPress Slick Menu Plugin</a></h4>
<p>Sticky tabs with slide out menus.</p>
<h4><a href="/blog/index.php/wordpress-plugin-slick-contact-forms/">WordPress Slick Contact Forms Plugin</a></h4>
<p>Quickly and easily add sticky or floating, slide-out contact forms to any widget area. Fully customisable with email validation, optional required fields &#038; animated error messages.</p>
<h3>Feedback</h3>
<p><strong>If you find this plugin useful please take the time to rate it at <a href="http://wordpress.org/extend/plugins/floating-menu/" rel="nofollow">wordpress.org</a>.</strong></p>
<p>If you have any problems or suggestions on how we can make the plugin better let us know via comments, email or our online contact form.</p>
<div class="donate">
<form name="_xclick" id="form-donate" action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_blank">&#8216;;</p>
<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="hosted_button_id" value="NVWNM7CSNMEHY">
<input type="image" src="/media/images/btn_donateCC_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
</form>
<h3>Donate</h3>
<p>We develop &#038; support all of our plugins for free. If you use this plugin and find it useful please consider a donation as a token of your appreciation</p>
<div class="clear"></div>
</div>
<h3>Screenshots</h3>
<p class="text-center"><img src="/media/images/screenshot-1-jquery-floating-menu-plugin.png" alt="" /></p>
<p class="text-center"><strong>Widget in edit mode</strong></p>
<h3>Updates</h3>
<h4>Version 1.4 27th November 2011</h4>
<ul class="content-list">
<li>Added: option to set position based on center of screen</li>
</ul>
<h4>Version 1.3 25th October 2011</h4>
<ul class="content-list">
<li>Added: disable floating animation option</li>
</ul>
<h4>Version 1.2.1 13th September 2011</h4>
<ul class="content-list">
<li>Fixed: validation error</li>
</ul>
<h4>Version 1.2 11th June 2011</h4>
<ul class="content-list">
<li>Added: shortcodes to create external links to open/close floating menu tab</li>
<li>Added: 4 new CSS skins</li>
</ul>
<h4>Version 1.1 16th May 2011</h4>
<ul class="content-list">
<li>Added: Option to keep menu open at all times</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.designchemical.com/blog/index.php/wordpress-plugins/wordpress-plugin-jquery-floating-menu/feed/</wfw:commentRss>
		<slash:comments>63</slash:comments>
		</item>
		<item>
		<title>jQuery Animated Error Messages &amp; Form Validation</title>
		<link>http://www.designchemical.com/blog/index.php/jquery/jquery-animated-error-messages-form-validation/</link>
		<comments>http://www.designchemical.com/blog/index.php/jquery/jquery-animated-error-messages-form-validation/#comments</comments>
		<pubDate>Thu, 21 Apr 2011 13:24:19 +0000</pubDate>
		<dc:creator>Lee</dc:creator>
				<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Validation]]></category>
		<category><![CDATA[animation]]></category>
		<category><![CDATA[forms]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.designchemical.com/blog/?p=1754</guid>
		<description><![CDATA[<a href="http://www.designchemical.com/blog/index.php/jquery/jquery-animated-error-messages-form-validation/"><img align="left" hspace="5" width="150" src="http://www.designchemical.com/blog/wp-content/plugins/thumbnail-for-excerpts/jquery_code.png" class="alignleft wp-post-image tfe" alt="" title="" /></a><p>In today&#8217;s tutorial we are going to use jQuery animation to create more interesting and engaging form validation errors for a user registration form.</p>
<p>Our jQuery form submit and validation code is based on the same one we created in our &#8220;Create Your Own jQuery AJAX Form Submit With Validation&#8221; tutorial in February. The additional items that we are going &#8230; <a href="http://www.designchemical.com/blog/index.php/jquery/jquery-animated-error-messages-form-validation/" class="read_more">more</a></p>]]></description>
			<content:encoded><![CDATA[<p>In today&#8217;s tutorial we are going to use jQuery animation to create more interesting and engaging form validation errors for a user registration form.</p>
<p>Our jQuery form submit and validation code is based on the same one we created in our &#8220;<a href="/blog/index.php/jquery/create-your-own-jquery-ajax-form-submit-with-validation/">Create Your Own jQuery AJAX Form Submit With Validation</a>&#8221; tutorial in February. The additional items that we are going to add are:</p>
<div class="section">
<ul class="content-list">
<li>An additional code snippet to check that the user&#8217;s password re-entry matches</li>
<li>jQuery code that will create &#038; dynamically position our various validation error messages</li>
<li>jQuery animation code that will show the relevant error</li>
<li>An additional step that will fade out the error message when the input element gains focus</li>
</ul>
</div>
<p><a href="/lab/jquery/demo/jquery_animation_form_validation_errors.htm" class="demo">View Demo</a><a href="/lab/jquery/demo/download/jquery-animation-form-validation-errors.zip" class="demo">Download Source Files</a></p>
<h3 class="clear">The Form HTML</h3>
<p>A standard form with the same format that we used in the earlier tutorial:</p>
<pre class="brush: plain; title: ; notranslate">
&lt;form id=&quot;form-sign-up&quot; class=&quot;styled&quot; action=&quot;&quot; method=&quot;post&quot;&gt;
    &lt;fieldset&gt;
        &lt;h3&gt;Register Now!&lt;/h3&gt;
        &lt;ol&gt;
            &lt;li class=&quot;form-row&quot;&gt;
                &lt;label&gt;Name:&lt;/label&gt;
                &lt;input name=&quot;name&quot; type=&quot;text&quot; class=&quot;text-input required&quot; /&gt;
            &lt;/li&gt;
            &lt;li class=&quot;form-row&quot;&gt;
                &lt;label&gt;Email:&lt;/label&gt;
                &lt;input name=&quot;email&quot; type=&quot;text&quot; class=&quot;text-input required email&quot; /&gt;
            &lt;/li&gt;
            &lt;li class=&quot;form-row&quot;&gt;
                &lt;label&gt;Password:&lt;/label&gt;
                &lt;input name=&quot;password&quot; type=&quot;password&quot; id=&quot;password-1&quot; class=&quot;text-input required password&quot; /&gt;
            &lt;/li&gt;
            &lt;li class=&quot;form-row&quot;&gt;
                &lt;label&gt;Repeat Password:&lt;/label&gt;
                &lt;input name=&quot;password1&quot; type=&quot;password&quot; id=&quot;password-2&quot; class=&quot;text-input required password&quot; /&gt;
            &lt;/li&gt;
            &lt;li class=&quot;button-row&quot;&gt;
                &lt;input type=&quot;image&quot; src=&quot;images/btn_sign_up_off.png&quot; alt=&quot;Sign Up&quot; value=&quot;OK&quot; class=&quot;btn-submit img-swap&quot; /&gt;
            &lt;/li&gt;
        &lt;/ol&gt;
    &lt;/fieldset&gt;
&lt;/form&gt;
</pre>
<p>The key items here are the classes we have assigned to the text elements, which will be used by our jQuery code to identify what validation rules and error messages should apply. We have 3 different types:</p>
<ul class="content-list">
<li>Name &#8211; has class &#8220;required&#8221;, which checks that the input is not empty and is used as the basis for all of our form elements</li>
<li>Email &#8211; has class &#8220;email&#8221;, which checks the input against a regular expression for matching standard email formats</li>
<li>Password/Re-enter Password &#8211; has class &#8220;password&#8221;, which will check the 2 entries against each other to make sure they match</li>
</ul>
<h3>Our Form CSS</h3>
<p>There are a couple of CSS rules, which are required in order for our error animation to work &#8211; these are highlighted in the code below with appropriate comments:</p>
<pre class="brush: plain; title: ; notranslate">
/*Form styles*/
.styled {
font: 15px Arial, sans-serif;
width: 422px;
margin: 20px auto;
background: url(images/bg_form.png) no-repeat 0 0;
padding-top: 20px;
}
.styled fieldset {
background: url(images/bg_form.png) no-repeat 0 100%;
padding: 0 25px 20px 25px;
position: relative;
}

/* Form rows */
.styled fieldset li.form-row {
margin-bottom: 5px;
padding: 3px 0;
clear: both;
position: relative; /* Required as error messages will be absolutely positioned */
}
.styled label {
display: block;
font-weight: bold;
float: left;
width: 100px;
line-height: 24px;
padding-top: 4px;
color: #555;
}
.styled fieldset li.button-row {
margin-bottom: 0;
padding: 5px 0 0;
text-align: right;
}

/* Text input styles */
/* Default */
.styled input.text-input {
height: 22px;
width: 254px;
padding: 5px 8px;
background: url(images/bg_input.png) no-repeat 0 0;
border: none;
font: normal 15px Arial, sans-serif;
color: #333;
line-height: 1em;
}
</pre>
<h3>The Form Validation CSS</h3>
<p>The following CSS rules are for styling and setting up the form error messages:</p>
<pre class="brush: plain; title: ; notranslate">

/* Form Validation */
/* CSS code to create the error messages */
.styled span.error {
font: bold 11px Arial, sans-serif;
line-height: 1em;
color:#fff;
text-shadow: 1px 1px 1px #000;
background: url(images/arrow_error.png) no-repeat 0 center;
border-right: 1px solid #6c0202;
height: 11px;
padding: 8px 15px 11px 20px;
display: none; /* Required as we will use jQuery to fade in the error message */
position: absolute; /* Required */
top: 3px;
right: 0; /* Required - initially set all error messages to the right of the form row */
}

/* Change the input field styles when an error message is present */
.styled fieldset li.error input.text-input {
background-position: 0 -64px;
}
</pre>
<div class="banner-horizontal">
<script type="text/javascript"><!--
google_ad_client = "ca-pub-7740611438413740";
/* Banner Mid Post */
google_ad_slot = "8625321051";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script><br />
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</div>
<h3>The jQuery Code</h3>
<p>The code below includes comments explaining each function in more detail:</p>
<pre class="brush: jscript; title: ; notranslate">
// Form validation and submit when button is clicked
	$('.btn-submit').click(function(e){

		// Declare the function variables:
		// Parent form, form URL, email regex and the error HTML
		var $formId = $(this).parents('form');
		var formAction = $formId.attr('action');
		var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
		var $error = $('&lt;span class=&quot;error&quot;&gt;&lt;/span&gt;');

		// Prepare the form for validation - remove previous errors
		$('li',$formId).removeClass('error');
		$('span.error').remove();

		// Validate all inputs with the class &quot;required&quot;
		$('.required',$formId).each(function(){
			var inputVal = $(this).val();
			var $parentTag = $(this).parent();
			if(inputVal == ''){
				$parentTag.addClass('error').append($error.clone().text('Required Field'));
			}

			// Run the email validation using the regex for those input items also having class &quot;email&quot;
			if($(this).hasClass('email') == true){
				if(!emailReg.test(inputVal)){
					$parentTag.addClass('error').append($error.clone().text('Enter valid email'));
				}
			}

			// Check passwords match for inputs with class &quot;password&quot;
			if($(this).hasClass('password') == true){
				var password1 = $('#password-1').val();
				var password2 = $('#password-2').val();
				if(password1 != password2){
				$parentTag.addClass('error').append($error.clone().text('Passwords must match'));
				}
			}
		});

		// All validation complete - Check if any errors exist
		// If has errors
		if ($('span.error').length &gt; 0) {

			$('span.error').each(function(){

				// Set the distance for the error animation
				var distance = 5;

				// Get the error dimensions
				var width = $(this).outerWidth();

				// Calculate starting position
				var start = width + distance;

				// Set the initial CSS
				$(this).show().css({
					display: 'block',
					opacity: 0,
					right: -start+'px'
				})
				// Animate the error message
				.animate({
					right: -width+'px',
					opacity: 1
				}, 'slow');

			});
		} else {
			$formId.submit();
		}
		// Prevent form submission
			e.preventDefault();
	});

	// Fade out error message when input field gains focus
	$('.required').focus(function(){
		var $parent = $(this).parent();
		$parent.removeClass('error');
		$('span.error',$parent).fadeOut();
	});
</pre>
<p>The comments are fairly self explanatory. So to briefly summarise the jQuery code:</p>
<ol>
<li>When the submit button is clicked the validation process starts by declaring all function variables, including the error message span tag</li>
<li>Clean up the form by removing any errors span tags plus the error class on the form rows from the previous click so we are starting with a clean slate</li
<li>Loop through all input fields with class &#8220;required&#8221; and first check if they contain text</li>
<li>Validate input fields with class &#8220;email&#8221; using a standard regex pattern for email address formats</li>
<li>Get the 2 password field values and check if they match</li>
<li>If any of our checks returns an error indentify that form row by adding class=&#8221;error&#8221;, clone the error span tag, append to the form row and insert the relevant error message text</li>
<li>Position each error message span tag to the right of the form row based on the total width of the message</li>
<li>Fade in each error message and alert the user by animating 5px to the left</li>
<li>Fade out and remove the errors when the user clicks on the text input field</li>
</ol>
<p>With the basic process now in place you can easily modify and expand the animation functions and try different effects to suit your users and website.</p>
<p><a href="/lab/jquery/demo/jquery_animation_form_validation_errors.htm" class="demo">View Demo</a><a href="/lab/jquery/demo/download/jquery-animation-form-validation-errors.zip" class="demo">Download Source Files</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.designchemical.com/blog/index.php/jquery/jquery-animated-error-messages-form-validation/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>Form Validation Using jQuery and Regular Expressions</title>
		<link>http://www.designchemical.com/blog/index.php/jquery/form-validation-using-jquery-and-regular-expressions/</link>
		<comments>http://www.designchemical.com/blog/index.php/jquery/form-validation-using-jquery-and-regular-expressions/#comments</comments>
		<pubDate>Mon, 18 Apr 2011 02:00:09 +0000</pubDate>
		<dc:creator>Lee</dc:creator>
				<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Validation]]></category>
		<category><![CDATA[Website Coding]]></category>
		<category><![CDATA[forms]]></category>
		<category><![CDATA[regex]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.designchemical.com/blog/?p=952</guid>
		<description><![CDATA[<a href="http://www.designchemical.com/blog/index.php/jquery/form-validation-using-jquery-and-regular-expressions/"><img align="left" hspace="5" width="120" height="120" src="http://www.designchemical.com/blog/wp-content/uploads/2010/05/thumb_jquery_code.png" class="alignleft tfe wp-post-image" alt="thumb_jquery_code" title="thumb_jquery_code" /></a><h4>Updated 18th April 2011</h4>
<p>Regular expressions offer an extremely flexible and powerful way of adding validation to your website forms. Combined with jQuery, it allows you to ensure that data sent to the server matches all of your requirements.</p>
<p>In this post I have included several example regular expressions that we have used in our web design projects for validating &#8230; <a href="http://www.designchemical.com/blog/index.php/jquery/form-validation-using-jquery-and-regular-expressions/" class="read_more">more</a></p>]]></description>
			<content:encoded><![CDATA[<h4>Updated 18th April 2011</h4>
<p>Regular expressions offer an extremely flexible and powerful way of adding validation to your website forms. Combined with jQuery, it allows you to ensure that data sent to the server matches all of your requirements.</p>
<p>In this post I have included several example regular expressions that we have used in our web design projects for validating form input.</p>
<p>For this tutorial we assume you know how to create the HTML form and add jQuery to your site. For samples you can refer to previous posts &#8211; <a href="http://www.designchemical.com/blog/index.php/jquery/check-passwords-using-jquery/">check passwords using jQuery</a>, <a href="http://www.designchemical.com/blog/index.php/jquery/email-validation-using-jquery/">email validation using jQuery</a> or view the demo form.</p>
<p class="clear-float"><a href="http://www.designchemical.com/lab/jquery/demo/jquery_regular_expression_validation_samples.htm" class="demo">View Demo</a></p>
<p class="clear">For each example we have created a css class, which can then be assigned to the relevant form element. If you are creating your own validation code/plugin there are obviously more efficient ways of creating a complete validation system but for the tutorial we have kept each regular expression sample separate and also use the &#8220;keyup&#8221; event.</p>
<h3>jQuery To Handle the Submit Button</h3>
<p>In order to use these validation functions in a form we need to add jQuery that will check for the presence of any span elements with the class &#8220;error&#8221;. We do this by using the length property. If the length is > 0 the form submit can be stopped and the user alerted:</p>
<pre class="brush: jscript; title: ; notranslate">
$('#btn-submit').click(function() {
  if($('span.error').length &amp;gt; 0){
    alert('Errors!');
    return false;
  } else {
    $('#btn-submit').after('&lt;span class=&quot;error&quot;&gt;Form Accepted.&lt;/span&gt;');
    return false;
  }
});
</pre>
<p>Now that we have this code to check for errors, we can add any of the examples below to the form.</p>
<div class="banner-horizontal">
<script type="text/javascript"><!--
google_ad_client = "ca-pub-7740611438413740";
/* Banner Mid Post */
google_ad_slot = "8625321051";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script><br />
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</div>
<h3>Example 1 &#8211; Validates Numeric Characters Only</h3>
<p>Accepts only 0 &#8211; 9</p>
<pre class="brush: jscript; title: ; notranslate">
$('.keyup-numeric').keyup(function() {
    $('span.error-keyup-1').hide();
    var inputVal = $(this).val();
    var numericReg = /^\d*[0-9](|.\d*[0-9]|,\d*[0-9])?$/;
    if(!numericReg.test(inputVal)) {
        $(this).after('&lt;span class=&quot;error error-keyup-1&quot;&gt;Numeric characters only.&lt;/span&gt;');
    }
});
</pre>
<h3>Example 2 &#8211; No Special Characters</h3>
<p>Allows only letters, numbers and spaces. All other characters will return an error.</p>
<pre class="brush: jscript; title: ; notranslate">
$('.keyup-characters').keyup(function() {
    $('span.error-keyup-2').remove();
    var inputVal = $(this).val();
    var characterReg = /^\s*[a-zA-Z0-9,\s]+\s*$/;
    if(!characterReg.test(inputVal)) {
        $(this).after('&lt;span class=&quot;error error-keyup-2&quot;&gt;No special characters allowed.&lt;/span&gt;');
    }
});
</pre>
<h3>Example 3 &#8211; Maximum of 8 Characters</h3>
<p>Allows all characters up to a maximum of 8. Useful for passwords, etc. The value can easily be increased/descreased by changing the {0,8}</p>
<pre class="brush: jscript; title: ; notranslate">
$('.keyup-limit-8').keyup(function() {
    $('span.error-keyup-3').remove();
    var inputVal = $(this).val();
    var characterReg = /^([a-zA-Z0-9]{0,8})$/;
    if(!characterReg.test(inputVal)) {
        $(this).after('&lt;span class=&quot;error error-keyup-3&quot;&gt;Maximum 8 characters.&lt;/span&gt;');
    }
});
</pre>
<h3>Example 4 &#8211; US Phone Number</h3>
<p>Allows numbers 2-9 for the first and second group of 3 followed by 0-9 for the last 4 with the groups separated by &#8220;-&#8221; e.g:</p>
<ul>
<li>234-234-1234 = OK</li>
<li>134-234-1234 = Error</li>
<li>234-134-1234 = Error</li>
</ul>
<pre class="brush: jscript; title: ; notranslate">
$('.keyup-phone').keyup(function() {
    $('span.error-keyup-4').remove();
    var inputVal = $(this).val();
    var characterReg = /^[2-9]\d{2}-\d{3}-\d{4}$/;
    if(!characterReg.test(inputVal)) {
        $(this).after('&lt;span class=&quot;error error-keyup-4&quot;&gt;Format xxx-xxx-xxxx&lt;/span&gt;');
    }
});
</pre>
<h3>Example 5 &#8211; Validate Date Format</h3>
<p>Allows date format &#8211; mm/dd/yyyy &#8211; including &#8220;/&#8221;. All other combinations will return errors e.g:</p>
<ul>
<li>01/31/2001 = OK</li>
<li>31/01/2001 = Error</li>
<li>1/01/2001 = Error</li>
</ul>
<pre class="brush: jscript; title: ; notranslate">
$('.keyup-date').keyup(function() {
    $('span.error-keyup-5').remove();
    var inputVal = $(this).val();
    var dateReg = /^[0,1]?\d{1}\/(([0-2]?\d{1})|([3][0,1]{1}))\/(([1]{1}[9]{1}[9]{1}\d{1})|([2-9]{1}\d{3}))$/;
    if(!dateReg.test(inputVal)) {
        $(this).after('&lt;span class=&quot;error error-keyup-5&quot;&gt;Invalid date format.&lt;/span&gt;');
    }
});
</pre>
<h3>Example 6 &#8211; Check For Possible Fake Text</h3>
<p>This is an interesting example, which checks for possible fake text being entered into your form. The regex looks for groups of the same letters occuring in groups of 3 or more e.g:</p>
<ul>
<li>foo = OK</li>
<li>fff = Error</li>
</ul>
<pre class="brush: jscript; title: ; notranslate">
$('.keyup-fake').keyup(function() {
    $('span.error-keyup-6').remove();
    var inputVal = $(this).val();
    var fakeReg = /(.)\1{2,}/;
    if(fakeReg.test(inputVal)) {
        $(this).after('&lt;span class=&quot;error error-keyup-6&quot;&gt;Invalid text.&lt;/span&gt;');
    }
});
</pre>
<h3>Example 7 &#8211; Check Email Address Format</h3>
<p>This is a standard regular expression, which is used to validate email addresses to ensure they follow the standard format:</p>
<ul>
<li>email@email.com = OK</li>
<li>email.email.com = Error</li>
</ul>
<pre class="brush: jscript; title: ; notranslate">
$('.keyup-email').keyup(function() {
    $('span.error-keyup-7').remove();
    var inputVal = $(this).val();
    var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
    if(!emailReg.test(inputVal)) {
        $(this).after('&lt;span class=&quot;error error-keyup-7&quot;&gt;Invalid Email Format.&lt;/span&gt;');
    }
});
</pre>
<h3>Example 8 &#8211; No Free Email Addresses</h3>
<p>Another useful email validation regular expression checks for email addresses using free emails &#8211; in the example below we check for yahoo, gmail and hotmail:</p>
<ul>
<li>email@yahoo.com = Error</li>
<li>email@email.com = OK</li>
</ul>
<pre class="brush: jscript; title: ; notranslate">
$('.keyup-email-2').keyup(function() {
    $('span.error-keyup-8').remove();
    var inputVal = $(this).val();
    var emailFreeReg= /^([\w-\.]+@(?!gmail.com)(?!yahoo.com)(?!hotmail.com)(?!aol.com)([\w-]+\.)+[\w-]{2,4})?$/;
    if(!emailFreeReg.test(inputVal)) {
        $(this).after('&lt;span class=&quot;error error-keyup-8&quot;&gt;No Free Email Addresses.&lt;/span&gt;');
    }
});
</pre>
<h3>Example 9 &#8211; Visa Card Number Format</h3>
<p>For an example of validating a credit card we can use the following regular expression, which checks the input against the standard format for Visa credit cards &#8211; All card numbers must start with a 4 &#038; cards may either have 16 digits or 13 digits for older cards:</p>
<ul>
<li>4166000000000000 = OK</li>
<li>4166000000000 = OK</li>
<li>41660000000000001 = Error</li>
<li>2166000000000000 = Error</li>
</ul>
<pre class="brush: jscript; title: ; notranslate">
$('.keyup-cc').keyup(function() {
    $('span.error-keyup-9').remove();
    var inputVal = $(this).val();
    var ccReg = /^4[0-9]{12}(?:[0-9]{3})?$/;
    if(!ccReg.test(inputVal)) {
        $(this).after('&lt;span class=&quot;error error-keyup-9&quot;&gt;Invalid visa card number&lt;/span&gt;');
    }
});
</pre>
<p>Hopefully some of the above examples will be useful for your forms and also help demonstrate how powerful regular expressions can be.</p>
<p><a href="http://www.designchemical.com/lab/jquery/demo/jquery_regular_expression_validation_samples.htm" class="demo">View Demo</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.designchemical.com/blog/index.php/jquery/form-validation-using-jquery-and-regular-expressions/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>jQuery Tooltips &#8211; Create Your Own Tooltip Plugin</title>
		<link>http://www.designchemical.com/blog/index.php/jquery/jquery-tooltips-create-your-own-tooltip-plugin/</link>
		<comments>http://www.designchemical.com/blog/index.php/jquery/jquery-tooltips-create-your-own-tooltip-plugin/#comments</comments>
		<pubDate>Sun, 17 Apr 2011 17:06:01 +0000</pubDate>
		<dc:creator>Lee</dc:creator>
				<category><![CDATA[jQuery]]></category>
		<category><![CDATA[jQuery Plugins]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[demo]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.designchemical.com/blog/?p=1662</guid>
		<description><![CDATA[<a href="http://www.designchemical.com/blog/index.php/jquery/jquery-tooltips-create-your-own-tooltip-plugin/"><img align="left" hspace="5" width="150" src="/media/images/jquery_tooltips_tutorial.jpg" class="alignleft wp-post-image tfe" alt="" title="" /></a><p class="text-center"><img src="/media/images/jquery_tooltips_tutorial.jpg" alt="" /></p>
<p>In today&#8217;s jQuery tutorial we are going to look at creating your own jQuery tooltip plugin!</p>
<p>Whilst there are many great tooltip plugins available out there, creating your own provides a nice and relatively easy opportunity to try your hand at jquery plugins as well as some basic jquery code.</p>
<p>View jQuery Tooltips Plugin DemoDownload Source Files &#8230; <a href="http://www.designchemical.com/blog/index.php/jquery/jquery-tooltips-create-your-own-tooltip-plugin/" class="read_more">more</a></p>
<p]]></description>
			<content:encoded><![CDATA[<p class="text-center"><img src="/media/images/jquery_tooltips_tutorial.jpg" alt="" /></p>
<p>In today&#8217;s jQuery tutorial we are going to look at creating your own jQuery tooltip plugin!</p>
<p>Whilst there are many great tooltip plugins available out there, creating your own provides a nice and relatively easy opportunity to try your hand at jquery plugins as well as some basic jquery code.</p>
<p><a href="/lab/jquery/demo/jquery_tooltips_plugin_demo.htm" class="demo">View jQuery Tooltips Plugin Demo</a><a href="/lab/jquery/demo/download/jquery-tooltips-plugin.zip" class="demo">Download Source Files</a></p>
<p class="clear">By creating a plugin version of the code you are making it portable and easily applied to any html element in your website. The objective of the final plugin will be to be able to create a custom tooltip of our own design on any element, using the title attribute as the source for the tooltip content.</p>
<p>Creating a jQuery plugin version makes you think a little more about the various requirements of the code to ensure that all possible variations of where/how it may be used are covered. Since you also may have less control over the CSS of where it may be used you usually need to add a little extra jQuery to set the conditions. Generally this requires adding code that gets the objects dimensions, position or content.</p>
<h3>The Tooltip Plugin Components</h3>
<p>If we look then at the various stages/components required for creating a jquery tooltips plugin that must be able to function anywhere we can break it down into the following basic components:</p>
<ul class="content-list">
<li>Dynamically generating the tooltip &#8211; this involves both the html &#8220;container&#8221; and the text content</li>
<li>The event that will trigger the tooltip to appear</li>
<li>The animation that will present the tooltip on screen</li>
<li>The animation to remove the tooltip once no longer required.</li>
</ul>
<h3>The Plugin Code</h3>
<p>Plugins basically follow the same pattern so once you have created your first jQuery plugin things get much easier. We wont go into too much detail on how plugins are constructed since there are a lot of good resources already out there on writing jQuery plugins. A good starting place is &#8211; <a href="http://docs.jquery.com/Plugins/Authoring" rel="nofollow">Plugins/Authoring on the jQuery website</a>.</p>
<p>The basic standard format we use is as follows:</p>
<pre class="brush: jscript; title: ; notranslate">
(function( $ ){

  $.fn.yourpluginname= function( options ) {  

    var defaults = {
      'youroption': 'default setting'
    };

    //call in the default otions
    var options = $.extend(defaults, options);

    return this.each(function() {

      // Here you add your jQuery plugin code

    });

  };
})( jQuery );
</pre>
<h4>1. Set Up The Plugin &#038; Add Our Default Options</h4>
<p>The first thing we need to do is set up the namespacing. This is an important step when developing a jQuery plugin and you need to set up the namespacing to ensure that your plugin will have a very low chance of being overwritten by another plugin using the same name.</p>
<p>We always prefix our plugins with &#8220;dc&#8221; so for our jQuery tooltips we are going to use &#8220;dcTooltip&#8221;.</p>
<p>Options allow you to add variables, which the plugin user can set themselves when the plugin initialises. This makes the plugin more flexible. For our tooltips we have determined that we would like to set up 5 different options, which all therefore need default settings:</p>
<pre class="brush: jscript; title: ; notranslate">
(function($){

    $.fn.dcTooltip = function(options) {

        //set default options
        var defaults = {
            classWrapper: 'tooltip',    // Class of tooltip container
            hoverDelay: 300,    // Delay in milliseconds before tooltip activates
            speed: 'fast',    // Speed of tooltip animation
            distance: 20,    // Distance for tooltip animation
            padLeft: 0    // Setting allowing user to manually shift the tooltip position
        };

        //call in the default otions
        var options = $.extend(defaults, options);

})(jQuery);
</pre>
<p>Now that we have the basic plugin structure in place we can get down to the jQuery code that will generate the tooltip feature.</p>
<h4>2. Dynamically Generating The Tooltip</h4>
<p>As we mentioned above we are going to get the tooltip text from the item&#8217;s &#8220;title&#8221; attribute. The text then needs to be inserted into our tooltip container, ready for the animation.</p>
<p>The HTML for the tooltip container is very simple:</p>
<pre class="brush: plain; title: ; notranslate">
&lt;div class=&quot;tooltip&quot;&gt;
    &lt;div class=&quot;top&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;text&quot;&gt;&lt;/div&gt;
&lt;/div&gt;
</pre>
<p>We have added the additional div tag (class = &#8220;top&#8221;) so the user can add more advanced styling.</p>
<p>In this first section of our jquery tooltips code we are going to do a number of things:</p>
<ol>
<li>Get the title attribute text insert into the tooltip container and append the tooltip HTML to the item.</li>
<li>Get the tooltip dimensions</li>
<li>Get the dimensions of the element</li>
<li>Position the tooltip by setting it&#8217;s margins. We want our tooltip to be positioned at the top and center of each element. The left margin will be based on the width of the element and the top margin based on the tooltip&#8217;s height and distance we want it to travel during the animation.</li>
<li>Set up CSS &#8211; Since our tooltips are positioned absolutely we need to make sure that the tooltip item has relative positioning. Plus we need to set our tooltip opacity to zero for the animation effect.</li>
<li>Finally &#8211; lets empty the element&#8217;s title attribute to prevent the default browser tooltip appearing.</li>
</ol>
<pre class="brush: jscript; title: ; notranslate">
    // 1. Get the text, create the tooltip and append
    var getText = $(this).attr('title');
    var $wrapper = '&lt;div class=&quot;'+defaults.classWrapper+'&quot;&gt;&lt;div class=&quot;top&quot;&gt;&lt;/div&gt;&lt;div class=&quot;text&quot;&gt;'+getText+'&lt;/div&gt;&lt;/div&gt;';
    $(this).append($wrapper);

    // 2. Get the dimensions of the tooltip
    var $tooltip = $('.'+defaults.classWrapper,this);
    var widthP = $tooltip.width();

    // 3. Get the dimensions of the element
    var widthT = $(this).width();
    var heightT = $(this).height();

    // 4. Set margins based on element dimensions and distance for animation
    var marginTop = heightT - defaults.distance;
    var marginLeft = (widthP - widthT)/2;
    marginLeft = -marginLeft + defaults.padLeft;
    $tooltip.css({marginLeft: marginLeft+'px', bottom: marginTop+'px'});

    // 5. Set the element position to relative &amp; tooltip opacity to 0
    $(this).css('position','relative');
    $tooltip.css('opacity',0);

    // 6. Remove the element's title text
    $(this).removeAttr('title');
</pre>
<p>That&#8217;s basically it for the code, which will create and set up each element&#8217;s tooltip. Each tooltip is now ready for us to add the animation effects.</p>
<div class="banner-horizontal">
<script type="text/javascript"><!--
google_ad_client = "ca-pub-7740611438413740";
/* Banner Mid Post */
google_ad_slot = "8625321051";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script><br />
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</div>
<h4>3. Setting Up The Hover Event</h4>
<p>Our jQuery tooltips are going to be triggered using the &#8220;hover&#8221; event. To minimise tooltips appearing when users are just moving their mouse across the screen and becoming an annoying effect, we are going to use the <a href="http://cherne.net/brian/resources/jquery.hoverIntent.html" rel="nofollow">HoverIntent plugin</a>.</p>
<p>We set up the hover event using the following code, which includes the settings required for HoverIntent:</p>
<pre class="brush: jscript; title: ; notranslate">
// Configuration settings for HoverIntent plugin
var config = {
    sensitivity: 2, // number = sensitivity threshold (must be 1 or higher)
    interval: defaults.hoverDelay, // number = milliseconds for onMouseOver polling interval
    over: linkOver, // function = onMouseOver callback (REQUIRED)
    timeout: defaults.hoverDelay, // number = milliseconds delay before onMouseOut
    out: linkOut // function = onMouseOut callback (REQUIRED)
    };

// Initialise HoverIntent
$(this).hoverIntent(config);
</pre>
<p>The above code sets the timeout and interval to be the same as our initial option settings with a default of 300 milliseconds. Users can therefore increase this by passing a higher value when the plugin is initialised.</p>
<p>Notice in the configuration settings we have declared 2 functions &#8211; &#8220;linkOver&#8221; and &#8220;linkOut&#8221;. This is where we will add out animation code, which shows/hides the tooltip HTML.</p>
<h4>4. linkOver Function To Display Tooltip</h4>
<p>Now comes the fun part where we get to add the animation code that will display our tooltip. Our animation, which shows the tooltip has 3 basic steps:</p>
<ol>
<li>First we need to &#8220;show&#8221; the tooltip since it is currently hidden using CSS.</li>
<li>Set the &#8220;bottom&#8221; position of the tooltip to the same as our marginTop variable, which we got earlier in the code.</li>
<li>Animate the plugin by moving it up &#8211; the distance is set according to our &#8220;distance&#8221; option. The speed for the animation is also set using our plugin options, which has a default value of &#8220;fast&#8221;.</li>
</ol>
<pre class="brush: jscript; title: ; notranslate">
function linkOver(){
    $tooltip.show().css({
        bottom: marginTop+'px'
    }).animate({
        bottom: defaults.distance+marginTop,
        opacity: 1
    }, defaults.speed);
}
</pre>
<h4>5. linkOut Function To Hide Tooltip</h4>
<p>Our animation for hiding the jquery tooltip only has two basic steps:</p>
<ol>
<li>Move the tooltip upwards a distance of 1.5 x our &#8220;distance&#8221; option, at the same time fading out the tooltip. Again our speed is set according to the &#8220;speed&#8221; option.</li>
<li>When the first step is complete we need to &#8220;hide&#8221; the tooltip again.</li>
</ol>
<pre class="brush: jscript; title: ; notranslate">
function linkOut(){
    $('.'+defaults.classWrapper,this).animate({
        bottom: (defaults.distance*1.5)+marginTop,
        opacity: 0
    }, defaults.speed, function() {
        $(this).hide();
    });
}
</pre>
<h3>The Complete jQuery Tooltip Plugin Code</h3>
<p>Putting all of our above components together the complete plugin code is:</p>
<pre class="brush: jscript; title: ; notranslate">
(function($){

	//define the new for the plugin ans how to call it
	$.fn.dcTooltip = function(options) {

		//set default options
		var defaults = {
			classWrapper	: 'tooltip',
			hoverDelay		: 300,
			speed       	: 'fast',
			distance		: 20,
			padLeft			: 0
		};

		//call in the default otions
		var options = $.extend(defaults, options);

		//act upon the element that is passed into the design
		return this.each(function(options){

			// 1. Get the text, create the tooltip and append
			var getText = $(this).attr('title');
			var $wrapper = '&lt;div class=&quot;'+defaults.classWrapper+'&quot;&gt;&lt;div class=&quot;top&quot;&gt;&lt;/div&gt;&lt;div class=&quot;text&quot;&gt;'+getText+'&lt;/div&gt;&lt;/div&gt;';
			$(this).append($wrapper);
			// 2. Get the dimensions of the tooltip
			var $tooltip = $('.'+defaults.classWrapper,this);
			var widthP = $tooltip.width();
			// 3. Get the dimensions of the element
			var widthT = $(this).width();
			var heightT = $(this).height();
			// 4. Set margins based on element dimensions and distance for animation
			var marginTop = heightT - defaults.distance;
			var marginLeft = (widthP - widthT)/2;
			marginLeft = -marginLeft + defaults.padLeft;
			$tooltip.css({marginLeft: marginLeft+'px', bottom: marginTop+'px'});
			// 5. Set the element position to relative &amp; tooltip opacity to 0
			$(this).css('position','relative');
			$tooltip.css('opacity',0);
			// 6. Remove the element's title text
			$(this).removeAttr(&quot;title&quot;);

                       // Configuration settings for HoverIntent plugin
			var config = {
				sensitivity: 2, // number = sensitivity threshold (must be 1 or higher)
				interval: defaults.hoverDelay, // number = milliseconds for onMouseOver polling interval
				over: linkOver, // function = onMouseOver callback (REQUIRED)
				timeout: defaults.hoverDelay, // number = milliseconds delay before onMouseOut
				out: linkOut // function = onMouseOut callback (REQUIRED)
			};

			// Initialise HoverIntent
			$(this).hoverIntent(config);

			// Hover link over
			function linkOver(){

				$tooltip.show().css({
					bottom: marginTop+'px'
                }).animate({
                    bottom: defaults.distance+marginTop,
                 opacity: 1
                }, defaults.speed);
			}

			// Hover link over
			function linkOut(){

				$('.'+defaults.classWrapper,this).animate({
                    bottom: (defaults.distance*1.5)+marginTop,
                    opacity: 0
			    }, defaults.speed, function() {
					$(this).hide();
				});
			}
		});
	};
})(jQuery);
</pre>
<p>Save your plugin file &#8211; in our case we are going to use &#8211; jquery.dctooltip.1.0.js</p>
<h3>Using Your jQuery Tooltips Plugin</h3>
<p>To use your jQuery tooltips now becomes very easy since it&#8217;s wrapped up as a plugin.</p>
<h4>1. Add the Plugin</h4>
<p>Add the plugin link to the document head as you would do with any other plugin. Don&#8217;t forget to also include the HoverIntent plugin:</p>
<pre class="brush: jscript; title: ; notranslate">
&lt;script type=&quot;text/javascript&quot; src=&quot;js/jquery.hoverIntent.minified.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;js/jquery.dctooltip.1.0.js&quot;&gt;&lt;/script&gt;
</pre>
<h4>2. Initialise the jQuery Tooltip Plugin</h4>
<p>To use the plugin with it&#8217;s default options you can use the following code:</p>
<pre class="brush: jscript; title: ; notranslate">
$(document).ready(function() {
    $('#demo-list li a').dcTooltip();
});
</pre>
<p>To change any of the default options:</p>
<pre class="brush: jscript; title: ; notranslate">
$(document).ready(function() {
    $('#demo-list li a').dcTooltip({
        classWrapper: 'another-tooltip',
	hoverDelay: 600,
	speed: 'slow',
	distance: 40
    });
});
</pre>
<h4>3. The Tooltip CSS</h4>
<p>Our tooltip CSS is fortunately very easy. As we mentioned at the start, if you are developing a jQuery plugin for general release you want to make it easy to use and wherever possible try to avoid very specific custom styling requirements &#8211; or at least make it easy to customise.</p>
<p>In our plugin options we have allowed the user to specify the tooltip container class, which therefore enables them to have multiple styles. For our demo we will use the default class &#8211; &#8220;tooltip&#8221;.</p>
<p>There are only a few &#8220;required&#8221; CSS rules for the tooltip container, which are identified below:</p>
<pre class="brush: plain; title: ; notranslate">
.tooltip {
width: 249px;
position: absolute; /* Required */
bottom: 0; /* Required */
left: 0; /* Required */
display: none; /* Required */
font-weight: normal;
font-size: 12px;
line-height: 1.5em;
color: #000;
z-index: 50;
}
.tooltip .text {
padding: 5px 15px 35px 15px;
background: url(images/tooltip.png) no-repeat 100% 100%;
}
.tooltip .top {
height: 10px;
background: url(images/tooltip_top.png) no-repeat 100% 100%;
}
</pre>
<p><a href="/lab/jquery/demo/jquery_tooltips_plugin_demo.htm" class="demo">View jQuery Tooltips Plugin Demo</a><a href="/lab/jquery/demo/download/jquery-tooltips-plugin.zip" class="demo">Download Source Files</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.designchemical.com/blog/index.php/jquery/jquery-tooltips-create-your-own-tooltip-plugin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Slick jQuery Image Captions</title>
		<link>http://www.designchemical.com/blog/index.php/jquery/slick-jquery-image-captions/</link>
		<comments>http://www.designchemical.com/blog/index.php/jquery/slick-jquery-image-captions/#comments</comments>
		<pubDate>Thu, 07 Apr 2011 05:53:25 +0000</pubDate>
		<dc:creator>Lee</dc:creator>
				<category><![CDATA[jQuery]]></category>
		<category><![CDATA[animation]]></category>
		<category><![CDATA[images]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.designchemical.com/blog/?p=1629</guid>
		<description><![CDATA[<a href="http://www.designchemical.com/blog/index.php/jquery/slick-jquery-image-captions/"><img align="left" hspace="5" width="150" src="/media/images/jquery_image_captions.jpg" class="alignleft wp-post-image tfe" alt="" title="" /></a><p class="text-center"><img src="/media/images/jquery_image_captions.jpg" alt="" /></p>
<p>In today&#8217;s tutorial we are going to show how you can add slick image captions to an image gallery using just a few lines of jQuery and CSS.</p>
1. Gallery HTML
<p>Our image gallery is going to just be a simple unordered list containing our image thumbnails. For the captions we will use span tags, which will contain &#8230; <a href="http://www.designchemical.com/blog/index.php/jquery/slick-jquery-image-captions/" class="read_more">more</a></p>]]></description>
			<content:encoded><![CDATA[<p class="text-center"><img src="/media/images/jquery_image_captions.jpg" alt="" /></p>
<p>In today&#8217;s tutorial we are going to show how you can add slick image captions to an image gallery using just a few lines of jQuery and CSS.</p>
<h3>1. Gallery HTML</h3>
<p>Our image gallery is going to just be a simple unordered list containing our image thumbnails. For the captions we will use span tags, which will contain a header tag and our main caption text.</p>
<pre class="brush: plain; title: ; notranslate">
&lt;ul id=&quot;gallery&quot;&gt;
	  &lt;li&gt;
	    &lt;img src=&quot;images/gallery/thumb/img_1a.jpg&quot; alt=&quot;&quot; /&gt;
		&lt;span&gt;
		  &lt;h3&gt;Image 1&lt;/h3&gt;
		  This is the caption for the first image
		&lt;/span&gt;
	  &lt;/li&gt;
	  &lt;li&gt;
	    &lt;img src=&quot;images/gallery/thumb/img_2a.jpg&quot; alt=&quot;&quot; /&gt;
		&lt;span&gt;
		  &lt;h3&gt;Image 2&lt;/h3&gt;
		  This is the caption for the second image
		&lt;/span&gt;
	  &lt;/li&gt;
	  &lt;li&gt;
	    &lt;img src=&quot;images/gallery/thumb/img_3a.jpg&quot; alt=&quot;&quot; /&gt;
		&lt;span&gt;
		  &lt;h3&gt;Image 3&lt;/h3&gt;
		  This is the caption for the third image
		&lt;/span&gt;
	  &lt;/li&gt;
	  &lt;li&gt;
	    &lt;img src=&quot;images/gallery/thumb/img_4a.jpg&quot; alt=&quot;&quot; /&gt;
		&lt;span&gt;
		  &lt;h3&gt;Image 4&lt;/h3&gt;
		  This is the caption for the fourth image
		&lt;/span&gt;
	  &lt;/li&gt;
	  &lt;li&gt;
	    &lt;img src=&quot;images/gallery/thumb/img_5a.jpg&quot; alt=&quot;&quot; /&gt;
		&lt;span&gt;
		  &lt;h3&gt;Image 5&lt;/h3&gt;
		  This is the caption for the fifth image
		&lt;/span&gt;
	  &lt;/li&gt;
	  &lt;li&gt;
	    &lt;img src=&quot;images/gallery/thumb/img_6a.jpg&quot; alt=&quot;&quot; /&gt;
		&lt;span&gt;
		  &lt;h3&gt;Image 6&lt;/h3&gt;
		  This is the caption for the last image
		&lt;/span&gt;
	  &lt;/li&gt;
	&lt;/ul&gt;
</pre>
<div class="clear banner-horizontal">
<script type="text/javascript"><!--
google_ad_client = "ca-pub-7740611438413740";
/* Banner Mid Post */
google_ad_slot = "8625321051";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script><br />
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</div>
<h3>2. The CSS</h3>
<p>Most of our CSS is just for styling the gallery thumbnails. For our captions we are going to use absolutely positioned span tags so there are a couple of important CSS rules required to make our jquery captions work.</p>
<p>The CSS below contains some notes to identify which ones we need:</p>
<pre class="brush: plain; title: ; notranslate">
#gallery {
margin-bottom: 20px;
width: 100%;  /* Use this &amp; the overflow: hidden to clear the floated list items */
overflow: hidden;
}
#gallery li {
float: left;
margin: 0 3px 3px 0;
width: 214px;
height: 131px;
position: relative; /* Required for positioning of span tags */
color: #000;
}
#gallery li img {
padding: 6px;
background: #ececec;
border: 1px solid #ccc;
}
#gallery li h3 {
font: bold 11px Helvetica,Arial,sans-serif;
padding: 0;
margin: 0;
}
#gallery li span {
display: none;  /* Required to hide the captions */
font-size: 11px;
position: absolute; /* Required for positioning to overlay over image */
bottom: 7px;
left: 7px;
padding: 5px;
background: url(images/bg_white_trans.png) repeat;
width: 190px; /* Since we are using absolute positioning we need to set the width */
line-height: 1.2em;
}
</pre>
<p>With the above CSS we are hiding the span tags using display: none &#8211; this means that if the user does not have javascript enabled they will be unable to see the captions. If you want to change this you can set the span tags to not display using jQuery instead.</p>
<h3>3. The jQuery Code &#8211; Fading Captions</h3>
<p>Our jQuery is very simple and we can use the hover event, which allows us to add effects for both mouseover and mouseout:</p>
<pre class="brush: jscript; title: ; notranslate">
$(document).ready(function() {
    $('#gallery li').hover(
        function(){$('span',this).fadeIn('slow');},
        function(){$('span',this).fadeOut('slow');
    });
});
</pre>
<h3>4. The jQuery Code &#8211; Sliding Captions</h3>
<p>One of the great things about jQuery is its built-in effects, so if we want to change the caption animation from fade in/out to sliding we just change the code as follows:</p>
<pre class="brush: jscript; title: ; notranslate">
$(document).ready(function() {
    $('#gallery li').hover(
        function(){$('span',this).slideToggle('slow');},
        function(){$('span',this).slideToggle('slow');
    });
});
</pre>
<p><a href="/lab/jquery/demo/jquery_demo_slick_jquery_captions.htm" class="demo">View jQuery Fading Caption Demo</a><a href="/lab/jquery/demo/jquery_demo_slick_jquery_sliding_captions.htm" class="demo">View jQuery Sliding Caption Demo</a><a href="/lab/jquery/demo/download/jquery-slick-image-captions.zip" class="demo">Download Source Files</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.designchemical.com/blog/index.php/jquery/slick-jquery-image-captions/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Open External Links In New Browser Window Using jQuery</title>
		<link>http://www.designchemical.com/blog/index.php/jquery/open-external-links-in-new-browser-window-using-jquery/</link>
		<comments>http://www.designchemical.com/blog/index.php/jquery/open-external-links-in-new-browser-window-using-jquery/#comments</comments>
		<pubDate>Wed, 06 Apr 2011 03:16:29 +0000</pubDate>
		<dc:creator>Lee</dc:creator>
				<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Website Coding]]></category>
		<category><![CDATA[navigation]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.designchemical.com/blog/?p=1623</guid>
		<description><![CDATA[<a href="http://www.designchemical.com/blog/index.php/jquery/open-external-links-in-new-browser-window-using-jquery/"><img align="left" hspace="5" width="150" src="http://www.designchemical.com/blog/wp-content/plugins/thumbnail-for-excerpts/jquery_code.png" class="alignleft wp-post-image tfe" alt="" title="" /></a><p>Since one of our earlier posts &#8211; How To Open Links In a New Browser Window we have had requests at how this can be automated so that only external links are opened in a new window without having to add class &#8220;external&#8221; to every link.</p>
<p>This can be done in a couple of ways depending on how your links &#8230; <a href="http://www.designchemical.com/blog/index.php/jquery/open-external-links-in-new-browser-window-using-jquery/" class="read_more">more</a></p>]]></description>
			<content:encoded><![CDATA[<p>Since one of our earlier posts &#8211; <a href="/blog/index.php/jquery/open-links-in-new-browser-window-using-jquery/">How To Open Links In a New Browser Window</a> we have had requests at how this can be automated so that only external links are opened in a new window without having to add class &#8220;external&#8221; to every link.</p>
<p>This can be done in a couple of ways depending on how your links are structured. As well as giving the code for external links, this tutorial also shows a good example of how to combine and use jQuery selectors to filter:</p>
<h3>Method 1 &#8211; Links With Complete URLs</h3>
<p>If your site uses complete URLs, including the domain name, for all links we can identify the external links by selecting those that do not contain your domain name. For this we use a combination of both the not() and :contains() selectors:</p>
<pre class="brush: jscript; title: ; notranslate">
$(document).ready(function($){
    $('a').not(':contains(http://www.designchemical.com)').click(function(){
        this.target = &quot;_blank&quot;;
    });
});
</pre>
<p>The above code will therefore identify any link that does not contain http://www.designchemical.com and open this in a new browser window.</p>
<p><a href="/lab/jquery/demo/jquery_demo_open_external_links_new_browser_window_1.htm" class="demo">View Demo 1</a></p>
<h3 class="clear">Method 2 &#8211; Only External Links Use Complete URLs</h3>
<p>If only external links use complete URLs we can just use contains() selector to identify those links with http or https:</p>
<pre class="brush: jscript; title: ; notranslate">
$(document).ready(function($){
    $('a:contains(http)').click(function(){
        this.target = &quot;_blank&quot;;
    });
});
</pre>
<p><a href="/lab/jquery/demo/jquery_demo_open_external_links_new_browser_window_2.htm" class="demo">View Demo 2</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.designchemical.com/blog/index.php/jquery/open-external-links-in-new-browser-window-using-jquery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jQuery Image Swap Gallery with Just 3 Lines of Code!</title>
		<link>http://www.designchemical.com/blog/index.php/jquery/jquery-image-swap-gallery/</link>
		<comments>http://www.designchemical.com/blog/index.php/jquery/jquery-image-swap-gallery/#comments</comments>
		<pubDate>Sat, 26 Mar 2011 08:34:10 +0000</pubDate>
		<dc:creator>Lee</dc:creator>
				<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Website Coding]]></category>
		<category><![CDATA[images]]></category>

		<guid isPermaLink="false">http://www.designchemical.com/blog/?p=1571</guid>
		<description><![CDATA[<a href="http://www.designchemical.com/blog/index.php/jquery/jquery-image-swap-gallery/"><img align="left" hspace="5" width="150" src="/media/images/jquery_image_swap_gallery.jpg" class="alignleft wp-post-image tfe" alt="" title="" /></a><p class="text-center"><img src="/media/images/jquery_image_swap_gallery.jpg" alt="" /></p>
<p>Our earlier post, Quick and Easy jQuery Image Swap has always been popular, so today we are going to use this code to create the ultimate jQuery image swap gallery with just 3 lines of code and 2 lines of CSS.</p>
<p>And here is the jQuery code:</p>
<p>View The DemoDownload Source Files</p>
<p class="clear">A great example of how &#8230; <a href="http://www.designchemical.com/blog/index.php/jquery/jquery-image-swap-gallery/" class="read_more">more</a></p>]]></description>
			<content:encoded><![CDATA[<p class="text-center"><img src="/media/images/jquery_image_swap_gallery.jpg" alt="" /></p>
<p>Our earlier post, <a href="/blog/index.php/jquery/quick-and-easy-jquery-image-swap/">Quick and Easy jQuery Image Swap</a> has always been popular, so today we are going to use this code to create the ultimate jQuery image swap gallery with just 3 lines of code and 2 lines of CSS.</p>
<p>And here is the jQuery code:</p>
<pre class="brush: jscript; title: ; notranslate">
$(&quot;#gallery li img&quot;).hover(function(){
	$('#main-img').attr('src',$(this).attr('src').replace('thumb/', ''));
});
</pre>
<p><a href="/lab/jquery/demo/jquery_demo_image_swap_gallery.htm" class="demo">View The Demo</a><a href="/lab/jquery/demo/download/ultimate-jquery-image-swap-gallery.zip" class="demo">Download Source Files</a></p>
<p class="clear">A great example of how jQuery can be extremely simple and effective.</p>
<h3>The Gallery HTML</h3>
<p>All we need for the gallery is the initial, main image and an unordered list holding the image thumbnails.</p>
<pre class="brush: plain; title: ; notranslate">
&lt;div id=&quot;gallery&quot;&gt;
	&lt;img src=&quot;images/gallery/img_1.jpg&quot; alt=&quot;&quot; id=&quot;main-img&quot; /&gt;
	&lt;ul&gt;
	  &lt;li&gt;&lt;img src=&quot;images/gallery/thumb/img_1.jpg&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
	  &lt;li&gt;&lt;img src=&quot;images/gallery/thumb/img_3.jpg&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
	  &lt;li&gt;&lt;img src=&quot;images/gallery/thumb/img_4.jpg&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
	  &lt;li&gt;&lt;img src=&quot;images/gallery/thumb/img_5.jpg&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
	  &lt;li&gt;&lt;img src=&quot;images/gallery/thumb/img_6.jpg&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
	  &lt;li&gt;&lt;img src=&quot;images/gallery/thumb/img_7.jpg&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
	&lt;/ul&gt;
&lt;/div&gt;
</pre>
<p>Our thumbnail images have the same file name as the larger versions and these are put into a folder called &#8220;thumb&#8221;, which is in the same directory as the main images &#8211; this is important for our gallery code to work as the image URL is obtained by getting the thumbnail URL and removing the &#8220;/thumb&#8221;.</p>
<h3>Styling The Gallery</h3>
<p>Definitely not rocket science here &#8211; a total of 2 CSS rules:</p>
<pre class="brush: plain; title: ; notranslate">
#gallery li {
display: inline;
margin-right: 3px;
}
#gallery #main-img {
background: url(images/bg_img.png) no-repeat 0 0;
padding: 26px;
}
</pre>
<h3>Adding Image Preload Function</h3>
<p>Although the 3 lines of jQuery will work, we can make the gallery far better if we use our <a href="/blog/index.php/jquery/create-image-preloader-image-swap-function-jquery/">image preload function</a>, from our previous tutorial.</p>
<p>The complete jQuery for the gallery plus preload:</p>
<pre class="brush: jscript; title: ; notranslate">
$(document).ready(function() {
	// Image swap on hover
	$(&quot;#gallery li img&quot;).hover(function(){
		$('#main-img').attr('src',$(this).attr('src').replace('thumb/', ''));
	});
	// Image preload
	var imgSwap = [];
	 $(&quot;#gallery li img&quot;).each(function(){
		imgUrl = this.src.replace('thumb/', '');
		imgSwap.push(imgUrl);
	});
	$(imgSwap).preload();
});
$.fn.preload = function() {
    this.each(function(){
        $('&lt;img/&gt;')[0].src = this;
    });
}
</pre>
<p>And that&#8217;s basically all there is to it.</p>
<p>Although it may not have fancy fade/zoom/slide/etc effects and look particularly slick, it is a nice and easy example of how to apply the jQuery image swap on hover function.</p>
<p>You can obviously improve on the features but if you are looking for a simple solution without having to understand setting up and styling a complicated gallery plugin (and lets face it some of them are complicated!), then this is about as simple as it gets!</p>
<p><a href="/lab/jquery/demo/jquery_demo_image_swap_gallery.htm" class="demo">View The Demo</a><a href="/lab/jquery/demo/download/ultimate-jquery-image-swap-gallery.zip" class="demo">Download Source Files</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.designchemical.com/blog/index.php/jquery/jquery-image-swap-gallery/feed/</wfw:commentRss>
		<slash:comments>35</slash:comments>
		</item>
		<item>
		<title>WordPress Plugin Update – Vertical Accordion Menu 2.3</title>
		<link>http://www.designchemical.com/blog/index.php/wordpress-plugins/wordpress-plugin-update-vertical-accordion-menu-2-3/</link>
		<comments>http://www.designchemical.com/blog/index.php/wordpress-plugins/wordpress-plugin-update-vertical-accordion-menu-2-3/#comments</comments>
		<pubDate>Mon, 21 Mar 2011 05:41:11 +0000</pubDate>
		<dc:creator>Lee</dc:creator>
				<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Wordpress Plugins]]></category>
		<category><![CDATA[accordion]]></category>
		<category><![CDATA[menu]]></category>
		<category><![CDATA[navigation]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[updates]]></category>
		<category><![CDATA[vertical]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.designchemical.com/blog/?p=1533</guid>
		<description><![CDATA[<a href="http://www.designchemical.com/blog/index.php/wordpress-plugins/wordpress-plugin-update-vertical-accordion-menu-2-3/"><img align="left" hspace="5" width="150" src="http://www.designchemical.com/blog/wp-content/plugins/thumbnail-for-excerpts/jquery_code.png" class="alignleft wp-post-image tfe" alt="" title="" /></a><p>We have had several comments regarding problems using Cufon text with the jQuery Vertical Acccordion Menu plugin. This latest update to the plugin now allows you to use Cufon fonts with the accordion menu, starting with version 2.3.</p>
<p>Update the accordion plugin via your plugin admin panel or click to download version 2.3.</p>
]]></description>
			<content:encoded><![CDATA[<p>We have had several comments regarding problems using Cufon text with the jQuery Vertical Acccordion Menu plugin. This latest update to the plugin now allows you to use Cufon fonts with the accordion menu, starting with version 2.3.</p>
<p>Update the accordion plugin via your plugin admin panel or <a href="http://downloads.wordpress.org/plugin/jquery-vertical-accordion-menu.2.3.zip">click to download version 2.3</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.designchemical.com/blog/index.php/wordpress-plugins/wordpress-plugin-update-vertical-accordion-menu-2-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress Plugin &#8211; jQuery Slick Menu Widget</title>
		<link>http://www.designchemical.com/blog/index.php/wordpress-plugins/wordpress-plugin-jquery-slick-menu-widget/</link>
		<comments>http://www.designchemical.com/blog/index.php/wordpress-plugins/wordpress-plugin-jquery-slick-menu-widget/#comments</comments>
		<pubDate>Sat, 19 Mar 2011 18:40:10 +0000</pubDate>
		<dc:creator>Lee</dc:creator>
				<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Wordpress Plugins]]></category>
		<category><![CDATA[horizontal]]></category>
		<category><![CDATA[layout]]></category>
		<category><![CDATA[menu]]></category>
		<category><![CDATA[navigation]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[slider]]></category>
		<category><![CDATA[vertical]]></category>
		<category><![CDATA[widget]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.designchemical.com/blog/?p=1526</guid>
		<description><![CDATA[<a href="http://www.designchemical.com/blog/index.php/wordpress-plugins/wordpress-plugin-jquery-slick-menu-widget/"><img align="left" hspace="5" width="150" src="/media/images/screenshot-1-jquery-slick-menu-plugin.png" class="alignleft wp-post-image tfe" alt="" title="" /></a><p><strong>Updated September 26th 2011</strong></p>
<p>The jQuery Slick Menu plugin creates sticky, sliding menus from any custom WordPress menu available with WordPress 3.0. Using this plugin you can add links/menus for items that you want to highlight and always be available for your users.</p>
<p>The plugin can handle multiple slick menus on each page and the location of each widget menu &#8230; <a href="http://www.designchemical.com/blog/index.php/wordpress-plugins/wordpress-plugin-jquery-slick-menu-widget/" class="read_more">more</a></p>]]></description>
			<content:encoded><![CDATA[<p><strong>Updated September 26th 2011</strong></p>
<p>The jQuery Slick Menu plugin creates sticky, sliding menus from any custom WordPress menu available with WordPress 3.0. Using this plugin you can add links/menus for items that you want to highlight and always be available for your users.</p>
<p>The plugin can handle multiple slick menus on each page and the location of each widget menu can be easily configured using a combination of the &#8220;location&#8221; and &#8220;offset&#8221; options available in each slick menu&#8217;s widget control panel.</p>
<p>The menu plugin also includes the feature to open/close the sliding menu panel using external text links, which can be added to the content using shortcodes.</p>
<h3>jQuery Slick Menu Demo</h3>
<p><a href="/lab/demo-wordpress-jquery-slick-menu-plugin/">http://designchemical.com/lab/demo-wordpress-jquery-slick-menu-plugin/</a></p>
<h3>Download The Plugin</h3>
<p><a href="http://downloads.wordpress.org/plugin/jquery-slick-menu.1.3.2.zip" rel="nofollow">Download JQuery Slick Menu Widget 1.3.2 (12,744)</a></p>

<h3>Installation</h3>
<ol>
<li>Upload the plugin through `Plugins > Add New > Upload` interface or upload `jquery-vertical-mega-menu` folder to the `/wp-content/plugins/` directory</li>
<li>Activate the plugin through the &#8216;Plugins&#8217; menu in WordPress</li>
<li>In the widgets section, select the jQuery Slick Menu widget and add to one of your widget areas</li>
<li>Select one of the WP menus, set the required settings and save your widget</li>
</ol>
<h3>Useage</h3>
<p>In order to use the slick menu plugin you will need the following:</p>
<h4>A WordPress custom menu</h4>
<p>Either use an existing menu or set one up via the menu option in WordPress admin.</p>
<h4>Widget area</h4>
<p>Either use an existing widget area in your WordPress theme or create a new widget area. The location is not critical since the plugin automatically removes the menu from the widget location in the page and sets it according to the location and offset settings.</p>
<p>For more information on how to add a new widget to your WordPress theme see our follow up WordPress tutorial &#8211; <a href="http://www.designchemical.com/blog/index.php/wordpress-tips/wordpress-tutorial-adding-a-widget-area-to-your-theme-files/">&#8220;Adding A Widget Area To Your Theme Files&#8221;</a>.</p>
<h4>Create Your Slick Menu</h4>
<p>To create your sticky sliding menu go to the widget admin page and drag the &#8220;jQuery Slick Menu&#8221; widget to the desired widget area. Then select your custom menu from the drop down list in the widget control panel.</p>
<p>Click &#8220;save&#8221; to activate the widget.</p>
<h3>Configuring Your Widget</h3>
<p>The widget has several settings, which can be used to customise your slick menu:</p>
<h4>Tab Text</h4>
<p>Enter the text that you would like to use for the jquery slick menu tab.</p>
<h4>Location</h4>
<p>This is the location of where you want the slide out menu to appear in the browser window. There are 6 different locations to choose from:</p>
<ul class="content-list">
<li>Top Left &#8211; menu slides down from the top of the browser window</li>
<li>Top Right</li>
<li>Bottom Left &#8211; menu slides up from the bottom of the browser window</li>
<li>Bottom Right</li>
<li>Left &#8211; menu slides out from the left of the browser window</li>
<li>Right &#8211; menu slides out from the right of the browser window</li>
</ul>
<p>See the <a href="/lab/demo-wordpress-jquery-slick-menu-plugin/">jquery slick menu demo page</a> for examples.</p>
<h4>Offset</h4>
<p>The number of pixels that the slick menu is positioned from the edge of the browser window &#8211; .e.g if location is &#8220;Top-Left&#8221; and offset is 50 the menu will be positioned along the top, 50 pixels from the left of the browser edge.</p>
<h4>Auto-Close Menu</h4>
<p>Check this option to automatically close any open menus when the user clicks anywhere in the browser</p>
<h4>Animation Speed</h4>
<p>The speed at which the sliding menu will open/close</p>
<h4>Skin</h4>
<p>12 different sample skins are available to either use &#8220;out of the box&#8221; or to use as examples of css for styling your own slick menu. 4 of the skins match those used in the <a href="/blog/index.php/wordpress-plugin-slick-contact-forms/">Slick Contact Forms Plugin</a>.</p>
<p>Note: For the actual menu styling inside the slick box the menu will follow your theme file styles. The skins will style the slider tab and the slick box.</p>
<h3>Shortcodes</h3>
<p>The plugin also includes the ability to open and close the sliding menu using external links, embedded in your website content. These can be added to the page using shortcodes:</p>
<pre class="brush: plain; title: ; notranslate">
[dcsl-link]
</pre>
<p>Default link, which will toggle the sliding menu open/closed with the link text &#8220;Click Here&#8221;</p>
<pre class="brush: plain; title: ; notranslate">
[dcsl-link text=&quot;Open Menu&quot;]
</pre>
<p>Toggle the sliding menu open/closed with the link text &#8220;Open Menu&#8221;</p>
<pre class="brush: plain; title: ; notranslate">
[dcsl-link action=&quot;open&quot;]
</pre>
<p>Open the menu with the default link text &#8220;Click Here&#8221;</p>
<pre class="brush: plain; title: ; notranslate">
[dcsl-link action=&quot;close&quot;]
</pre>
<p>Close the sliding menu tab with the default link text &#8220;Click Here&#8221;</p>
<pre class="brush: plain; title: ; notranslate">
[dcsl-link action=&quot;close&quot; text=&quot;Close Sliding Menu&quot;]
</pre>
<p>Close the menu tab with the link text &#8220;Close Sliding Menu&#8221;</p>
<div class="banner-horizontal">
<script type="text/javascript"><!--
google_ad_client = "ca-pub-7740611438413740";
/* Banner Mid Post */
google_ad_slot = "8625321051";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script><br />
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</div>
<h3>Frequently Asked Questions</h3>
<p>For a complete list of questions and answers please check out our <a href="/blog/index.php/frequently-asked-questions/jquery-slick-menu/">jQuery Slick Menu Frequently Asked Questions</a> section.</p>
<p>Many issues that can crop up with installing and using the plugin with different themes have been covered in our comments section. Please check previous comments for further information/tips.</p>
<h3>Demo jQuery Slick Menu</h3>
<p><a href="/lab/demo-wordpress-jquery-slick-menu-plugin/">http://designchemical.com/lab/demo-wordpress-jquery-slick-menu-plugin/</a></p>
<h3>Download The Plugin</h3>
<p><a href="http://downloads.wordpress.org/plugin/jquery-slick-menu.1.3.2.zip" rel="nofollow">Download JQuery Slick Menu Widget 1.3.2 (12,744)</a></p>

<p>If you liked the slick menu widget you may also like:</p>
<h4><a href="/blog/index.php/wordpress-plugins/wordpress-plugin-jquery-floating-menu/">WordPress Floating Menu Plugin</a></h4>
<p>Create floating, sticky tabs with slide out menus.</p>
<h4><a href="/blog/index.php/wordpress-plugin-slick-contact-forms/">WordPress Slick Contact Forms Plugin</a></h4>
<p>Add sticky or floating, slide-out, customisable contact forms to any widget area.</p>
<h3>Feedback</h3>
<p><strong>If you find this plugin useful please take the time to rate it at <a href="http://wordpress.org/extend/plugins/jquery-slick-menu/" rel="nofollow">wordpress.org</a>.</strong></p>
<p>
If you have any problems, suggestions on how we can make the plugin better or would like help creating a new skin for the slick menu let us know via comments, email or our online contact form.</p>
<div class="donate">
<form name="_xclick" id="form-donate" action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_blank">&#8216;;</p>
<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="hosted_button_id" value="NVWNM7CSNMEHY">
<input type="image" src="/media/images/btn_donateCC_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
</form>
<h3>Donate</h3>
<p>We develop &#038; support all of our plugins for free. If you use this plugin and find it useful please consider a donation as a token of your appreciation</p>
<div class="clear"></div>
</div>
<h3>Updates</h3>
<h4>Version 1.3.2 &#8211; 26th September 2011</h4>
<ul class="content-list">
<li>Update: update to jquery plugin jquery.slick.2.1.js which includes callback support</li>
</ul>
<h4>Version 1.3.1 &#8211; 13th September 2011</h4>
<ul class="content-list">
<li>Fixed: Validation error</li>
</ul>
<h4>Version 1.3 &#8211; 15th June 2011</h4>
<ul class="content-list">
<li>Added: Shortcodes for adding external text links to open and close the sliding menu panel</li>
<li>Added: 4 additional skins to match the <a href="/blog/index.php/wordpress-plugin-slick-contact-forms/">Slick Contact Forms WordPress Plugin</a>.</li>
</ul>
<h4>Version 1.2 &#8211; 31st May 2011</h4>
<ul class="content-list">
<li>Fixed: Bug with positioning left/right in Safari</li>
</ul>
<h3>Screenshots</h3>
<p class="text-center"><img src="/media/images/screenshot-1-jquery-slick-menu-plugin.png" alt="" /></p>
<p class="text-center"><strong>Widget in edit mode</strong></p>
<p class="text-center"><img src="/media/images/screenshot-2-jquery-slick-menu-plugin.png" alt="" /></p>
<p class="text-center"><strong>Widget Options For Locations of Slick Menu Tab</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.designchemical.com/blog/index.php/wordpress-plugins/wordpress-plugin-jquery-slick-menu-widget/feed/</wfw:commentRss>
		<slash:comments>42</slash:comments>
		</item>
		<item>
		<title>Live Text Search Function Using jQuery</title>
		<link>http://www.designchemical.com/blog/index.php/jquery/live-text-search-function-using-jquery/</link>
		<comments>http://www.designchemical.com/blog/index.php/jquery/live-text-search-function-using-jquery/#comments</comments>
		<pubDate>Mon, 14 Mar 2011 12:34:13 +0000</pubDate>
		<dc:creator>Lee</dc:creator>
				<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Website Coding]]></category>
		<category><![CDATA[forms]]></category>
		<category><![CDATA[function]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.designchemical.com/blog/?p=1495</guid>
		<description><![CDATA[<a href="http://www.designchemical.com/blog/index.php/jquery/live-text-search-function-using-jquery/"><img align="left" hspace="5" width="150" src="http://www.designchemical.com/blog/wp-content/plugins/thumbnail-for-excerpts/jquery_code.png" class="alignleft wp-post-image tfe" alt="" title="" /></a><p>Today we are going to look at using jQuery to create a &#8220;live search&#8221; feature for your website. With just a few lines of code and a single text input box you can add a text filter to any site content.</p>
<p>For the tutorial we will create a search feature for our blog comments, although the same function can easily &#8230; <a href="http://www.designchemical.com/blog/index.php/jquery/live-text-search-function-using-jquery/" class="read_more">more</a></p>]]></description>
			<content:encoded><![CDATA[<p>Today we are going to look at using jQuery to create a &#8220;live search&#8221; feature for your website. With just a few lines of code and a single text input box you can add a text filter to any site content.</p>
<p>For the tutorial we will create a search feature for our blog comments, although the same function can easily be applied to any elements by changing the selector.</p>
<h3>The Search Box HTML</h3>
<p>To capture the search text all we need is a simple input text field. To make the feature a little more exciting we are also going to show the number of results underneath the text input. For this we need to add a div tag with the ID &#8211; &#8220;filter-count&#8221;</p>
<pre class="brush: plain; title: ; notranslate">
&lt;form id=&quot;live-search&quot; action=&quot;&quot; class=&quot;styled&quot; method=&quot;post&quot;&gt;
    &lt;fieldset&gt;
        &lt;input type=&quot;text&quot; class=&quot;text-input&quot; id=&quot;filter&quot; value=&quot;&quot; /&gt;
        &lt;span id=&quot;filter-count&quot;&gt;&lt;/span&gt;
    &lt;/fieldset&gt;
&lt;/form&gt;
</pre>
<p>Give the input field a unique ID since we will need this to capture the users text.</p>
<h3>The Comments List</h3>
<p>Our comments list is structured using an ordered list &#8211; e.g.</p>
<pre class="brush: plain; title: ; notranslate">
&lt;ol class=&quot;commentlist&quot;&gt;
  &lt;li&gt;Comment #1&lt;/li&gt;
  &lt;li&gt;Comment #2&lt;/li&gt;
&lt;/ol&gt;
</pre>
<h3>The jQuery Code</h3>
<p>The jQuery for this feature is relatively easy and all we are doing is basically getting the input text value, checking this against our list of comments and hiding those that do not contain the text phrase. The count of the number of positive results is then displayed in our &#8220;filter-count&#8221; span tag.</p>
<p>Since this is a &#8220;live&#8221; search we will use the &#8220;keyup&#8221; event to initiate the function &#8211; the filtered comment list will therefore update with each character entered.</p>
<pre class="brush: jscript; title: ; notranslate">
$(document).ready(function(){
	$(&quot;#filter&quot;).keyup(function(){

		// Retrieve the input field text and reset the count to zero
		var filter = $(this).val(), count = 0;

		// Loop through the comment list
		$(&quot;.commentlist li&quot;).each(function(){

			// If the list item does not contain the text phrase fade it out
			if ($(this).text().search(new RegExp(filter, &quot;i&quot;)) &lt; 0) {
				$(this).fadeOut();

			// Show the list item if the phrase matches and increase the count by 1
			} else {
				$(this).show();
				count++;
			}
		});

		// Update the count
		var numberItems = count;
		$(&quot;#filter-count&quot;).text(&quot;Number of Comments = &quot;+count);
	});
});
</pre>
<p>This jQuery live search can be applied to any elements by changing the &#8220;.commentlist li&#8221; selector.</p>
<p><a href="/lab/jquery/demo/jquery_demo_live_comment_search.htm" class="demo">View jQuery Demo</a></p>
<p>The live text search is also used on all of our blog comments.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.designchemical.com/blog/index.php/jquery/live-text-search-function-using-jquery/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>WordPress Plugin &#8211; jQuery Vertical Mega Menu</title>
		<link>http://www.designchemical.com/blog/index.php/wordpress-plugins/wordpress-plugin-jquery-vertical-mega-menu-widget/</link>
		<comments>http://www.designchemical.com/blog/index.php/wordpress-plugins/wordpress-plugin-jquery-vertical-mega-menu-widget/#comments</comments>
		<pubDate>Thu, 10 Mar 2011 14:43:29 +0000</pubDate>
		<dc:creator>Lee</dc:creator>
				<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Wordpress Plugins]]></category>
		<category><![CDATA[mega menus]]></category>
		<category><![CDATA[menu]]></category>
		<category><![CDATA[navigation]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[vertical]]></category>
		<category><![CDATA[widget]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.designchemical.com/blog/?p=1415</guid>
		<description><![CDATA[<a href="http://www.designchemical.com/blog/index.php/wordpress-plugins/wordpress-plugin-jquery-vertical-mega-menu-widget/"><img align="left" hspace="5" width="150" src="/media/images/vertical_mega_menu_s.jpg" class="alignleft wp-post-image tfe" alt="" title="" /></a><p><strong>Updated 19th April 2011</strong></p>
<p><img src="/media/images/vertical_mega_menu_s.jpg" alt="" class="img-right" /></p>
<p>Mega menus are now very popular with improved useability over the standard flyout multi-level menus.</p>
<p>This WordPress plugin uses our jQuery Vertical Mega Menu plugin and allows you to very easily create vertical mega menus in your WordPress sidebar using the standard custom menus available with WordPress 3.0.</p>
<p>The plugin can handle multiple mega menus &#8230; <a href="http://www.designchemical.com/blog/index.php/wordpress-plugins/wordpress-plugin-jquery-vertical-mega-menu-widget/" class="read_more">more</a></p>]]></description>
			<content:encoded><![CDATA[<p><strong>Updated 19th April 2011</strong></p>
<p><img src="/media/images/vertical_mega_menu_s.jpg" alt="" class="img-right" /></p>
<p>Mega menus are now very popular with improved useability over the standard flyout multi-level menus.</p>
<p>This WordPress plugin uses our <a href="/lab/jquery-vertical-mega-menu-plugin/getting-started/">jQuery Vertical Mega Menu plugin</a> and allows you to very easily create vertical mega menus in your WordPress sidebar using the standard custom menus available with WordPress 3.0.</p>
<p>The plugin can handle multiple mega menus on each page and provides 3 different choices for flyout menu animation effect &#8211; No Animation (show/hide), &#8220;fade In&#8221; or &#8220;slide out&#8221;. The plugin also gives the option of selecting either left or right for the flyout menu animation direction and comes with 8 styled skins.</p>
<p>For horizontal mega menus refer to &#8211; <a href="/blog/index.php/wordpress-plugins/wordpress-plugin-jquery-drop-down-mega-menu-widget/">WordPress Mega Menu Widget Plugin</a>.</p>
<h3>Demo jQuery Vertical Mega Menu</h3>
<ul class="content-list">
<li><a href="/lab/demo-wordpress-jquery-vertical-mega-menu-plugin.html">View The  jQuery Vertical Mega Menu Demo</a></li>
<li><a href="/lab/jquery-vertical-mega-menu-plugin/advanced-styling/" class="external">Example of Advanced Custom Styling for the Vertical Mega Menu</a> (requires knowledge of CSS)</li>
</ul>
<h3>Download The Plugin</h3>
<p><a href="http://downloads.wordpress.org/plugin/jquery-vertical-mega-menu.1.3.2.zip" rel="nofollow">Download JQuery Vertical Mega Menu Widget 1.3.2 (24,998)</a></p>

<h3>Installation</h3>
<ol>
<li>Upload the plugin through `Plugins > Add New > Upload` interface or upload `jquery-vertical-mega-menu` folder to the `/wp-content/plugins/` directory</li>
<li>Activate the plugin through the &#8216;Plugins&#8217; menu in WordPress</li>
<li>In the widgets section, select the jQuery vertical mega menu widget and add to one of your widget areas</li>
<li>Select one of the WP menus, set the required settings and save your widget</li>
</ol>
<h3>Useage</h3>
<p>In order to use the vertical mega menu plugin you will need the following:</p>
<h4>A WordPress custom menu</h4>
<p>Either use an existing menu or set one up via the menu option in WordPress admin. Although the widget will work with any menu structure, for best results use 3 levels for the custom menu &#8211; see sample screenshot of custom menu structure below.</p>
<h4>Widget area</h4>
<p>Either use an existing widget area in your WordPress theme or create a new widget area in the required location. This is a vertical menu so it needs to be located in a sidebar or column.</p>
<p>For more information on how to add a new widget to your WordPress theme see our follow up WordPress tutorial &#8211; <a href="http://www.designchemical.com/blog/index.php/wordpress-tips/wordpress-tutorial-adding-a-widget-area-to-your-theme-files/">&#8220;Adding A Widget Area To Your Theme Files&#8221;</a>.</p>
<h4>Create Your Vertical Mega Menu</h4>
<p>To create your vertical mega menu go to the widget admin page and drag the &#8220;jQuery Vertical Mega Menu&#8221; widget to the desired widget area. Then select your custom menu from the drop down list in the widget control panel.</p>
<p>Click &#8220;save&#8221; to activate the widget.</p>
<h3>Configuring Your Widget</h3>
<p>The widget has several parameters that can be configured to help cutomise the mega menu:</p>
<h4>Number Items Per Row</h4>
<p>Select the number of sub-menu items to be shown on each row of the flyout mega menu.</p>
<h4>Animation Effect</h4>
<p>The effect used to display the flyout mega menu &#8211; options are; No Animation(i.e. show/hide), fade in or slide out. See the <a href="/lab/demo-wordpress-jquery-vertical-mega-menu-plugin.html">vertical mega menu demo page</a> for examples.</p>
<h4>Animation Direction</h4>
<p>Choose the direction for the flyout menu &#8211; either left or right.</p>
<h4>Animation Speed</h4>
<p>The speed at which the dropdown menu will open/close</p>
<h4>Skin</h4>
<p>8 different sample skins are available to either use &#8220;out of the box&#8221; or give examples of css that can be used to style your own vertical mega menu</p>
<div class="banner-horizontal">
<script type="text/javascript"><!--
google_ad_client = "ca-pub-7740611438413740";
/* Banner Mid Post */
google_ad_slot = "8625321051";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script><br />
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</div>
<h3>Frequently Asked Questions</h3>
<p><strong>Refer to our <a href="/blog/index.php/frequently-asked-questions/jquery-vertical-mega-menu/">FAQ for the Vertical Mega Menu Plugin</a>.</strong></p>
<p>Many issues that can crop up with installing and using the plugin with different themes have been covered in our comments section. Please check previous comments for further information/tips.</p>
<h3>Demo jQuery Vertical Mega Menu</h3>
<ul class="content-list">
<li><a href="/lab/demo-wordpress-jquery-vertical-mega-menu-plugin.html">View The  jQuery Vertical Mega Menu Demo</a></li>
<li><a href="/lab/jquery-vertical-mega-menu-plugin/advanced-styling/" class="external">Example of Advanced Custom Styling for the Vertical Mega Menu</a> (requires knowledge of CSS)</li>
</ul>
<h3>Download The Plugin</h3>
<p><a href="http://downloads.wordpress.org/plugin/jquery-vertical-mega-menu.1.3.2.zip" rel="nofollow">Download JQuery Vertical Mega Menu Widget 1.3.2 (24,998)</a></p>

<h3>Feedback</h3>
<p>If you find this plugin useful please rate it at <a href="http://wordpress.org/extend/plugins/jquery-vertical-mega-menu/" rel="nofollow">wordpress.org</a>.</p>
<p>If you have any problems, suggestions on how we can make the plugin better or would like help creating a new skin for the vertical mega menu let us know via comments, email or our online contact form.</p>
<div class="donate">
<form name="_xclick" id="form-donate" action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_blank">&#8216;;</p>
<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="hosted_button_id" value="NVWNM7CSNMEHY">
<input type="image" src="/media/images/btn_donateCC_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
</form>
<h3>Donate</h3>
<p>We develop &#038; support all of our plugins for free. If you use this plugin and find it useful please consider a donation as a token of your appreciation</p>
<div class="clear"></div>
</div>
<h3>Updates</h3>
<h4>Version 1.3 &#8211; 19th Apr 2011</h4>
<ul class="content-list">
<li>Fixed: IE Invalid Argument bug in jQuery plugin</li>
</ul>
<h4>Version 1.2 &#8211; 15th Apr 2011</h4>
<ul class="content-list">
<li>Fixed: Sub menu positioning bug for bottom menu option</li>
</ul>
<h4>Version 1.1 &#8211; 23rd Mar 2011</h4>
<ul class="content-list">
<li>Fixed: IE7 bug with sub-menu widths</li>
</ul>
<h3>Screenshots</h3>
<p class="text-center"><img src="/media/images/screenshot-1-jquery-vertical-mega-menu-plugin.png" alt="" /></p>
<p class="text-center"><strong>Widget in edit mode</strong></p>
<p class="text-center"><img src="/media/images/screenshot-2-jquery-mega-menu-plugin.png" alt="" /></p>
<p class="text-center"><strong>Sample custom mega menu structure &#8211; For best results use 3 levels for the custom menu</strong></p>
<p class="text-center"><img src="/media/images/screenshot-3-jquery-vertical-mega-menu-plugin.png" alt="" /></p>
<p class="text-center"><strong>Available menu skins</strong></p>
<p class="text-center"><img src="/media/images/screenshot-4-jquery-vertical-mega-menu.png" alt="" /></p>
<p class="text-center"><strong>Example of open mega menu</strong></p>
<p>For more information and tips on the best type of vertical menu plugin to use refer to &#8211; <a href="/blog/index.php/wordpress-plugins/choosing-a-vertical-menu-wordpress-plugin-for-your-site/">Choosing a Vertical Menu WordPress Plugin For Your Site</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.designchemical.com/blog/index.php/wordpress-plugins/wordpress-plugin-jquery-vertical-mega-menu-widget/feed/</wfw:commentRss>
		<slash:comments>260</slash:comments>
		</item>
		<item>
		<title>New jQuery Plugin – Vertical Mega Menu Plugin</title>
		<link>http://www.designchemical.com/blog/index.php/jquery-plugins/new-jquery-plugin-vertical-mega-menu-plugin/</link>
		<comments>http://www.designchemical.com/blog/index.php/jquery-plugins/new-jquery-plugin-vertical-mega-menu-plugin/#comments</comments>
		<pubDate>Wed, 09 Mar 2011 14:10:55 +0000</pubDate>
		<dc:creator>Lee</dc:creator>
				<category><![CDATA[jQuery]]></category>
		<category><![CDATA[jQuery Plugins]]></category>
		<category><![CDATA[Website Coding]]></category>
		<category><![CDATA[mega menus]]></category>
		<category><![CDATA[menu]]></category>
		<category><![CDATA[navigation]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[vertical]]></category>

		<guid isPermaLink="false">http://www.designchemical.com/blog/?p=1408</guid>
		<description><![CDATA[<a href="http://www.designchemical.com/blog/index.php/jquery-plugins/new-jquery-plugin-vertical-mega-menu-plugin/"><img align="left" hspace="5" width="150" src="http://www.designchemical.com/blog/wp-content/plugins/thumbnail-for-excerpts/jquery_code.png" class="alignleft wp-post-image tfe" alt="" title="" /></a><p>To compliment the previous plugin for creating horizontal mega menus we have now launched the jQuery vertical mega menu plugin. This now allows you to have all of the benefits of drop down mega menus using menus in the page side columns with the mega menu flying out to the side.</p>
<p>Vertical mega menus offer better useability over standard flyout &#8230; <a href="http://www.designchemical.com/blog/index.php/jquery-plugins/new-jquery-plugin-vertical-mega-menu-plugin/" class="read_more">more</a></p>]]></description>
			<content:encoded><![CDATA[<p>To compliment the previous plugin for creating horizontal mega menus we have now launched the jQuery vertical mega menu plugin. This now allows you to have all of the benefits of drop down mega menus using menus in the page side columns with the mega menu flying out to the side.</p>
<p>Vertical mega menus offer better useability over standard flyout style menus with multiple levels.</p>
<p>Using this jQuery plugin you can create vertical mega menus from any standard nested HTML lists. The plugin includes several options, which can be configured for customising the menu:</p>
<ul class="content-list">
<li>Multiple menus per page</li>
<li>3 animation effects for displaying the flyout menu &#8211; show/hide, fade in or slide out</li>
<li>Set speed of animation</li>
<li>Set number of sub menus per row</li>
<li>Set the flyout menu to display on the right or left depending on the position of the menu</li>
</ul>
<p>See the <a href="/lab/jquery-vertical-mega-menu-plugin/getting-started/">jQuery vertical mega menu plugin</a> project pages for complete instructions, demos and to download the plugin including sample code.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.designchemical.com/blog/index.php/jquery-plugins/new-jquery-plugin-vertical-mega-menu-plugin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Get URL Parameters Using jQuery</title>
		<link>http://www.designchemical.com/blog/index.php/jquery/get-url-parameters-using-jquery/</link>
		<comments>http://www.designchemical.com/blog/index.php/jquery/get-url-parameters-using-jquery/#comments</comments>
		<pubDate>Tue, 08 Mar 2011 13:00:39 +0000</pubDate>
		<dc:creator>Lee</dc:creator>
				<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[function]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.designchemical.com/blog/?p=1406</guid>
		<description><![CDATA[<a href="http://www.designchemical.com/blog/index.php/jquery/get-url-parameters-using-jquery/"><img align="left" hspace="5" width="150" src="http://www.designchemical.com/blog/wp-content/plugins/thumbnail-for-excerpts/jquery_code.png" class="alignleft wp-post-image tfe" alt="" title="" /></a><p>Todays post is a very simple, yet surprisingly useful piece of code, which will get the parameter after the &#8216;#&#8217; symbol in the web page URL.</p>
<p>Being able to extract the URL parameter with jQuery is obviously very useful and allows us to then use this value in our jQuery functions.</p>
<p>In our demo jQuery code we are going to &#8230; <a href="http://www.designchemical.com/blog/index.php/jquery/get-url-parameters-using-jquery/" class="read_more">more</a></p>]]></description>
			<content:encoded><![CDATA[<p>Todays post is a very simple, yet surprisingly useful piece of code, which will get the parameter after the &#8216;#&#8217; symbol in the web page URL.</p>
<p>Being able to extract the URL parameter with jQuery is obviously very useful and allows us to then use this value in our jQuery functions.</p>
<p>In our demo jQuery code we are going to take the URL parameter, insert this value into a text block and display on the screen.</p>
<h3>The jQuery Code</h3>
<pre class="brush: jscript; title: ; notranslate">
$(document).ready(function() {

    //  Get the parameter value after the # symbol
    var url=document.URL.split('#')[1];
	if(url == undefined){
		url = '';
	}

    // If the parameter exists create the message and insert into our paragraph
    if(url != ''){
        var message = 'You clicked '+url;
        $('#parameter').text(message);
    }
});
</pre>
<p>And that&#8217;s all there is! Try out the demo to see it in action:</p>
<p><a href="/lab/jquery/demo/jquery_demo_getting_parameters_from_url.htm" class="demo">View jQuery Demo</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.designchemical.com/blog/index.php/jquery/get-url-parameters-using-jquery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New jQuery Plugin Released &#8211; jQuery Accordion Menu</title>
		<link>http://www.designchemical.com/blog/index.php/jquery-plugins/new-plugin-released-jquery-accordion-menu/</link>
		<comments>http://www.designchemical.com/blog/index.php/jquery-plugins/new-plugin-released-jquery-accordion-menu/#comments</comments>
		<pubDate>Sat, 05 Mar 2011 03:49:35 +0000</pubDate>
		<dc:creator>Lee</dc:creator>
				<category><![CDATA[jQuery]]></category>
		<category><![CDATA[jQuery Plugins]]></category>
		<category><![CDATA[Website Coding]]></category>
		<category><![CDATA[accordion]]></category>
		<category><![CDATA[animation]]></category>
		<category><![CDATA[cookies]]></category>
		<category><![CDATA[layout]]></category>
		<category><![CDATA[menu]]></category>
		<category><![CDATA[navigation]]></category>
		<category><![CDATA[plugins]]></category>

		<guid isPermaLink="false">http://www.designchemical.com/blog/?p=1349</guid>
		<description><![CDATA[<a href="http://www.designchemical.com/blog/index.php/jquery-plugins/new-plugin-released-jquery-accordion-menu/"><img align="left" hspace="5" width="150" src="http://www.designchemical.com/blog/wp-content/plugins/thumbnail-for-excerpts/jquery_code.png" class="alignleft wp-post-image tfe" alt="" title="" /></a><p>We have now launched the jQuery accordion menu plugin used to create the WordPress accordion menu widget plugin.</p>
<p>The jquery plugin has several features, which make it very easy to create fully functional vertical accordion menus from standard HTML nested lists. Options built into the plugin include:</p>
<ul class="content-list">
<li>Option to use either hover or click to activate menu</li>
<li>Menu</li></ul><p> &#8230; <a href="http://www.designchemical.com/blog/index.php/jquery-plugins/new-plugin-released-jquery-accordion-menu/" class="read_more">more</a></p>]]></description>
			<content:encoded><![CDATA[<p>We have now launched the jQuery accordion menu plugin used to create the <a href="/blog/index.php/wordpress-plugins/wordpress-plugin-jquery-vertical-accordion-menu-widget/">WordPress accordion menu widget plugin</a>.</p>
<p>The jquery plugin has several features, which make it very easy to create fully functional vertical accordion menus from standard HTML nested lists. Options built into the plugin include:</p>
<ul class="content-list">
<li>Option to use either hover or click to activate menu</li>
<li>Menu state can be saved between pages using cookies</li>
<li>No limit on the number of nested levels</li>
<li>Auto close the menu on mouseout for the hover option</li>
<li>Select option to limit open sub-menus to only one at a time or allow the menu to fully expand</li>
<li>And a new feature &#8211; ability to add a count of the number of child links to each parent menu item &#8211; offering users more information on the menu options available.</li>
</ul>
<p>See the <a href="/lab/jquery-vertical-accordion-menu-plugin/getting-started/">jQuery vertical accordion menu plugin</a> project pages for complete instructions, demos and to download the plugin including sample code and skins.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.designchemical.com/blog/index.php/jquery-plugins/new-plugin-released-jquery-accordion-menu/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Random Password Generator Using jQuery</title>
		<link>http://www.designchemical.com/blog/index.php/jquery/random-password-generator-using-jquery/</link>
		<comments>http://www.designchemical.com/blog/index.php/jquery/random-password-generator-using-jquery/#comments</comments>
		<pubDate>Wed, 02 Mar 2011 16:12:08 +0000</pubDate>
		<dc:creator>Lee</dc:creator>
				<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Website Coding]]></category>
		<category><![CDATA[demo]]></category>
		<category><![CDATA[forms]]></category>
		<category><![CDATA[function]]></category>
		<category><![CDATA[passwords]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.designchemical.com/blog/?p=1345</guid>
		<description><![CDATA[<a href="http://www.designchemical.com/blog/index.php/jquery/random-password-generator-using-jquery/"><img align="left" hspace="5" width="150" src="http://www.designchemical.com/blog/wp-content/plugins/thumbnail-for-excerpts/jquery_code.png" class="alignleft wp-post-image tfe" alt="" title="" /></a><p>Today&#8217;s jQuery post is a useful piece of code that you can add onto your registration forms for creating random passwords using only jQuery. The benefit of providing this system is that it generates stronger passwords than most people would create for themselves so offers extra security for critical applications.</p>
<p>See Random Password Demo Download the source code</p>
<p class="clear">To &#8230; <a href="http://www.designchemical.com/blog/index.php/jquery/random-password-generator-using-jquery/" class="read_more">more</a></p>]]></description>
			<content:encoded><![CDATA[<p>Today&#8217;s jQuery post is a useful piece of code that you can add onto your registration forms for creating random passwords using only jQuery. The benefit of providing this system is that it generates stronger passwords than most people would create for themselves so offers extra security for critical applications.</p>
<p><a href="/lab/jquery/demo/jquery_demo_password_generator.htm" class="demo">See Random Password Demo</a> <a href="/lab/jquery/demo/download/jquery_demo_password_generator.zip" class="demo">Download the source code</a></p>
<p class="clear">To actually generate the random password we are going to use a nice little function from <a href="http://jquery-howto.blogspot.com/2009/10/javascript-jquery-password-generator.html">jQuery HowTo Blog &#8211; jQuery Password Generator</a>.</p>
<p>The great thing about this function is that it allows us to set both the password length as well as the option to use special characters.</p>
<p>To use this function then we are going to create a form, add a &#8220;generate password&#8221; link, which will get the random password from the function and insert it into the form and add a second link, which the user clicks if they would like to use the password. If confirmed, we then insert the random password into the password field.</p>
<h3>1. The HTML Form</h3>
<p>Very simple form with just a user name and password field:</p>
<pre class="brush: plain; title: ; notranslate">
&lt;form id=&quot;form-demo&quot; class=&quot;styled&quot; action=&quot;&quot; method=&quot;post&quot;&gt;
    &lt;fieldset&gt;
        &lt;ol&gt;
            &lt;li&gt;
                &lt;label&gt;User Name:&lt;/label&gt;
                &lt;input id=&quot;input-user&quot; type=&quot;text&quot; class=&quot;text-input&quot; name=&quot;user&quot; value=&quot;&quot; /&gt;
            &lt;/li&gt;
            &lt;li&gt;
                &lt;label&gt;Password:&lt;/label&gt;
                &lt;input id=&quot;input-password&quot; type=&quot;password&quot; class=&quot;text-input password&quot; name=&quot;password&quot; value=&quot;&quot; /&gt;
                &lt;a href=&quot;#&quot; class=&quot;link-password&quot; id=&quot;confirm&quot;&gt;Use Password&lt;/a&gt;
                &lt;a href=&quot;#&quot; class=&quot;link-password&quot; id=&quot;generate&quot;&gt;Generate Password&lt;/a&gt;
            &lt;/li&gt;
            &lt;li id=&quot;random&quot;&gt;
            &lt;/li&gt;
            &lt;li&gt;
                &lt;input class=&quot;btn-submit&quot; type=&quot;submit&quot; value=&quot;submit&quot; name=&quot;submit&quot; /&gt;
            &lt;/li&gt;
        &lt;/ol&gt;
    &lt;/fieldset&gt;
&lt;/form&gt;
</pre>
<p>As usual I have used an ordered list for the form structure but obviously you can use whatever style you prefer since its not critical for the password generator. Make sure though that the form has a tag with an id &#8220;random&#8221;, which we are going to use to display the password.</p>
<p>Give both links the same class name as we will use the same click function for both links. The &#8220;confirm&#8221; link can be hidden though since we only require this if the &#8220;generate&#8221; link is clicked. We can do this using CSS as opposed to jQuery:</p>
<pre class="brush: plain; title: ; notranslate">
#confirm {display: none;}
</pre>
<h3>2. jQuery Random Password Function</h3>
<p>Next we add the password generator function jquery code:</p>
<pre class="brush: jscript; title: ; notranslate">
$.extend({
  password: function (length, special) {
    var iteration = 0;
    var password = &quot;&quot;;
    var randomNumber;
    if(special == undefined){
        var special = false;
    }
    while(iteration &lt; length){
        randomNumber = (Math.floor((Math.random() * 100)) % 94) + 33;
        if(!special){
            if ((randomNumber &gt;=33) &amp;&amp; (randomNumber &lt;=47)) { continue; }
            if ((randomNumber &gt;=58) &amp;&amp; (randomNumber &lt;=64)) { continue; }
            if ((randomNumber &gt;=91) &amp;&amp; (randomNumber &lt;=96)) { continue; }
            if ((randomNumber &gt;=123) &amp;&amp; (randomNumber &lt;=126)) { continue; }
        }
        iteration++;
        password += String.fromCharCode(randomNumber);
    }
    return password;
  }
});
</pre>
<p>For full details refer back to the <a href="http://jquery-howto.blogspot.com/2009/10/javascript-jquery-password-generator.html">authors post</a>.</p>
<p>Now we add the jQuery code that will use the above function to generate and insert the new password:</p>
<pre class="brush: jscript; title: ; notranslate">
$(document).ready(function() {

    $('.link-password').click(function(e){

        // First check which link was clicked
        linkId = $(this).attr('id');
        if (linkId == 'generate'){

            // If the generate link then create the password variable from the generator function
            password = $.password(12,true);

            // Empty the random tag then append the password and fade In
            $('#random').hide().append(password).fadeIn('slow');

            // Also fade in the confirm link
            $('#confirm').fadeIn('slow');
        } else {
            // If the confirm link is clicked then input the password into our form field
            $('#input-password').val(password);
            // remove password from the random tag
            $('#random').empty();
            // Hide the confirm link again
            $(this).hide();
        }
        e.preventDefault();
    });
});
</pre>
<p>The function is fairly simple. The hide() and fadeIn() isnt essential &#8211; you can just append the new password to the #random selector but we added the fadeIn to make it a little more &#8216;exciting&#8217;!</p>
<p>The final e.preventDefault() stops the browser jumping to the top of the screen when the generate and confirm links are clicked.</p>
<p>To change the password length set the first option in the password function to the required number of characters. The second option takes a boolean value and sets whether special characters are to be used in the password.</p>
<p><a href="/lab/jquery/demo/jquery_demo_password_generator.htm" class="demo">See Random Password Demo</a> <a href="/lab/jquery/demo/download/jquery_demo_password_generator.zip" class="demo">Download the source code</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.designchemical.com/blog/index.php/jquery/random-password-generator-using-jquery/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>jQuery Plugin &#8211; Drill Down Menu</title>
		<link>http://www.designchemical.com/blog/index.php/jquery-plugins/jquery-plugin-drill-down-menu/</link>
		<comments>http://www.designchemical.com/blog/index.php/jquery-plugins/jquery-plugin-drill-down-menu/#comments</comments>
		<pubDate>Mon, 28 Feb 2011 14:36:58 +0000</pubDate>
		<dc:creator>Lee</dc:creator>
				<category><![CDATA[jQuery]]></category>
		<category><![CDATA[jQuery Plugins]]></category>
		<category><![CDATA[Website Coding]]></category>
		<category><![CDATA[animation]]></category>
		<category><![CDATA[cookies]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[menu]]></category>
		<category><![CDATA[navigation]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[slider]]></category>
		<category><![CDATA[vertical]]></category>

		<guid isPermaLink="false">http://www.designchemical.com/blog/?p=1339</guid>
		<description><![CDATA[<a href="http://www.designchemical.com/blog/index.php/jquery-plugins/jquery-plugin-drill-down-menu/"><img align="left" hspace="5" width="150" src="http://www.designchemical.com/blog/wp-content/plugins/thumbnail-for-excerpts/jquery_code.png" class="alignleft wp-post-image tfe" alt="" title="" /></a><p>Following the release of our new WordPress plugin &#8211; jQuery Drill Down iPod Menu Widget we have now also set up the jQuery plugin code that was used to create the WordPress widget.</p>
<p>Drill down menus are perfect for arranging and managing complex nested menus in compact and fixed sized areas and provide excellent useability where standard drop down menus &#8230; <a href="http://www.designchemical.com/blog/index.php/jquery-plugins/jquery-plugin-drill-down-menu/" class="read_more">more</a></p>]]></description>
			<content:encoded><![CDATA[<p>Following the release of our new <a href="/blog/index.php/wordpress-plugins/wordpress-plugin-jquery-drill-down-ipod-menu-widget/">WordPress plugin &#8211; jQuery Drill Down iPod Menu Widget</a> we have now also set up the jQuery plugin code that was used to create the WordPress widget.</p>
<p>Drill down menus are perfect for arranging and managing complex nested menus in compact and fixed sized areas and provide excellent useability where standard drop down menus may be too awkward.</p>
<p>The plugin converts standard hierarchical nested HTML into drill down (iPod style) menus. Features of the drill down menu plugin include – saved state using cookies, add count of total number of child links to each menu option and offers 3 different ways to navigate the menu</p>
<p>Check out our <a href="/lab/jquery-drill-down-menu-plugin/getting-started/">jQuery Drill Down Menu</a> project pages for more information, drill down menu examples and to download the plugin.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.designchemical.com/blog/index.php/jquery-plugins/jquery-plugin-drill-down-menu/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>WordPress Plugin &#8211; jQuery Drill Down iPod Menu Widget</title>
		<link>http://www.designchemical.com/blog/index.php/wordpress-plugins/wordpress-plugin-jquery-drill-down-ipod-menu-widget/</link>
		<comments>http://www.designchemical.com/blog/index.php/wordpress-plugins/wordpress-plugin-jquery-drill-down-ipod-menu-widget/#comments</comments>
		<pubDate>Mon, 28 Feb 2011 08:25:59 +0000</pubDate>
		<dc:creator>Lee</dc:creator>
				<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Wordpress Plugins]]></category>
		<category><![CDATA[drill down]]></category>
		<category><![CDATA[menu]]></category>
		<category><![CDATA[navigation]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[vertical]]></category>
		<category><![CDATA[widget]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.designchemical.com/blog/?p=1329</guid>
		<description><![CDATA[<a href="http://www.designchemical.com/blog/index.php/wordpress-plugins/wordpress-plugin-jquery-drill-down-ipod-menu-widget/"><img align="left" hspace="5" width="150" src="/media/images/drill_down_menu_plugin.jpg" class="alignleft wp-post-image tfe" alt="Drill down menu plugin" title="" /></a><p><strong>Updated 21st June 2011</strong></p>
<p><img src="/media/images/drill_down_menu_plugin.jpg" alt="Drill down menu plugin" class="img-border img-right" /></p>
<p>Drill down menus (similar to the iPod style menu) offer an excellent way of managing and organising large, complicated hierarchical menus in a small, vertical, compact and fixed-sized area. For a change to the standard menu styles they also offer a great alternative to accordion style and drop down menus.</p>
<p>This WordPress plugin creates a &#8230; <a href="http://www.designchemical.com/blog/index.php/wordpress-plugins/wordpress-plugin-jquery-drill-down-ipod-menu-widget/" class="read_more">more</a></p>]]></description>
			<content:encoded><![CDATA[<p><strong>Updated 21st June 2011</strong></p>
<p><img src="/media/images/drill_down_menu_plugin.jpg" alt="Drill down menu plugin" class="img-border img-right" /></p>
<p>Drill down menus (similar to the iPod style menu) offer an excellent way of managing and organising large, complicated hierarchical menus in a small, vertical, compact and fixed-sized area. For a change to the standard menu styles they also offer a great alternative to accordion style and drop down menus.</p>
<p>This WordPress plugin creates a widget, which allows you to create a drill down menu from any WordPress custom menu using jQuery.</p>
<p>Features include &#8211; handles multiple levels, saved state using cookies and multiple menus on the same page. facilitate useability the drill down menu offers the option to have a count of the number of links for each level.</p>
<p>The drill down menu also offers 3 different ways to navigate:</p>
<ul class="content-list">
<li>Using a breadcrumb style menu at the top of the drill down menu</li>
<li>A back button to return to previous options</li>
<li>Selecting previous link headers, which are fixed at the top of the menu so the user can see the path taken</li>
</ul>
<p>This plugin uses the jquery cookie plugin by <a href="http://www.stilbuero.de">Klaus Hartl</a> for saving the menu state between pages.</p>
<h3>Demo jQuery Drill Down iPod Menu</h3>
<p><a href="/lab/demo-wordpress-jquery-drill-down-ipod-menu-plugin/">http://www.designchemical.com/lab/demo-wordpress-jquery-drill-down-ipod-menu-plugin/</a></p>
<h3>Download The Plugin</h3>
<p><a href="http://downloads.wordpress.org/plugin/jquery-drill-down-ipod-menu.1.3.1.zip" rel="nofollow">Download JQuery Drill Down Ipod Menu Widget 1.3.1 (8,961)</a></p>

<h3>Installation</h3>
<ol>
<li>Upload the plugin through `Plugins > Add New > Upload` interface or upload `jquery-drill-down-ipod-menu` folder to the `/wp-content/plugins/` directory</li>
<li>Activate the plugin through the &#8216;Plugins&#8217; menu in WordPress</li>
<li>In the widgets section, select the &#8216;jQuery Drill Down iPod Menu&#8217; widget and add to one of your widget areas</li>
<li>Select one of the WP menus, set the required settings and save your widget</li>
</ol>
<h3>Useage</h3>
<p>In order to use this plugin you will need the following:</p>
<h4>A WordPress custom menu</h4>
<p>Either use an existing menu or set one up via the menu option in WordPress admin. The drill down menu is excellent for handling multiple levels, which would be difficult to use with drop down or accordion menus.</p>
<h4>Widget area</h4>
<p>Either use an existing widget area in your WordPress theme or create a new widget area in the required location. This is a vertical menu so it needs to be located appropriately. The drill down menu takes up a fixed size and is very compact.</p>
<p>For more information on how to add a new widget to your WordPress theme see our follow up WordPress tutorial – <a href="/blog/index.php/wordpress-tips/wordpress-tutorial-adding-a-widget-area-to-your-theme-files/">&#8220;Adding A Widget Area To Your Theme Files&#8221;</a>.</p>
<h4>Create Your Drill Down iPod Menu</h4>
<p>To create your drill down menu go to the widget admin page and drag the &#8220;jQuery Drill Down iPod Menu&#8221; widget to the desired widget area. Then select your custom menu from the drop down list in the widget control panel.</p>
<p>Click &#8220;save&#8221; to activate the widget.</p>
<h3>Configuring Your Widget</h3>
<p>The widget has several parameters that can be configured to help cutomise the drill down menu:</p>
<h4>Save menu state (uses cookies)</h4>
<p>Selecting this will allow the menu to remember its open/close state when browsing to a new page.</p>
<h4>Show counter</h4>
<p>adds the number of lower level links next to each heading</p>
<h4>Show header</h4>
<p>If not selected the current selected menu option will be shown as a heading above the menu options</p>
<h4>Link Type</h4>
<p>3 options, which control how the user navigates the menu:</p>
<ol>
<li>Breadcrumb &#8211; previous selected menu items are displayed as breadcrumbs at the top of the menu. Clicking one of these breadcrumb links will take the user back to that level</li>
<li>Back Link &#8211; the previous menu option is displayed as a back link above the menu</li>
<li>Header Link &#8211; Previously selected links stay fixed above the menu</li>
</ol>
<h4>Default Header Text</h4>
<p>The text that is shown in the header when the menu first initialises</p>
<h4>Reset Link Text</h4>
<p>The text that is shown for the header link that will reset the menu</p>
<h4>Animation Speed</h4>
<p>speed of the sliding effect</p>
<h4>Skin</h4>
<p>Several sample skins are available to give examples of css that can be used to style your own ipod drill down menu</p>
<div class="banner-horizontal">
<script type="text/javascript"><!--
google_ad_client = "ca-pub-7740611438413740";
/* Banner Mid Post */
google_ad_slot = "8625321051";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script><br />
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</div>
<h3>Frequently Asked Questions</h3>
<p><strong>Check out our <a href="/blog/index.php/frequently-asked-questions/jquery-drill-down-menu/">FAQ for the jQuery Drill Down Menu Plugin</a>.</strong></p>
<p>Many issues that can crop up with installing and using the plugin with different themes have been covered in our comments section. Please check previous comments for further information/tips.</p>
<h3>Demo jQuery Drill Down iPod Menu</h3>
<p><a href="/lab/demo-wordpress-jquery-drill-down-ipod-menu-plugin/">http://www.designchemical.com/lab/demo-wordpress-jquery-drill-down-ipod-menu-plugin/</a></p>
<h3>Download The Plugin</h3>
<p><a href="http://downloads.wordpress.org/plugin/jquery-drill-down-ipod-menu.1.3.1.zip" rel="nofollow">Download JQuery Drill Down Ipod Menu Widget 1.3.1 (8,961)</a></p>

<h3>Feedback</h3>
<p><strong>If you find this plugin useful please rate it at <a href="http://wordpress.org/extend/plugins/jquery-drill-down-ipod-menu/" rel="nofollow">wordpress.org</a>.</strong></p>
<p>If you have any problems or suggestions on how we can make the plugin better let us know via comments, email or our online contact form.</p>
<div class="donate">
<form name="_xclick" id="form-donate" action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_blank">&#8216;;</p>
<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="hosted_button_id" value="NVWNM7CSNMEHY">
<input type="image" src="/media/images/btn_donateCC_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
</form>
<h3>Donate</h3>
<p>We develop &#038; support all of our plugins for free. If you use this plugin and find it useful please consider a donation as a token of your appreciation</p>
<div class="clear"></div>
</div>
<h3>Updates</h3>
<h4>Version 1.3.1 &#8211; 21st June 2011</h4>
<ul class="content-list">
<li>Fixed: IE7 bug.</li>
</ul>
<h4>Version 1.3 &#8211; 25th May 2011</h4>
<ul class="content-list">
<li>Fixed: Bug with save menu state option.</li>
</ul>
<h4>Version 1.2 &#8211; 23rd May 2011</h4>
<ul class="content-list">
<li>Update: jQuery Drill Down Menu plugin includes check to see if cookie plugin exists.</li>
</ul>
<h3>Screenshots</h3>
<p class="text-center"><img src="/media/images/screenshot-1-jquery-drill-down-ipod-menu.png" alt="" /></p>
<p class="text-center"><strong>Widget in edit mode</strong></p>
<p class="text-center"><img src="/media/images/screenshot-2-jquery-drill-down-ipod-menu.png" alt="" /></p>
<p>For more information and tips on the best type of vertical menu plugin to use refer to &#8211; <a href="/blog/index.php/wordpress-plugins/choosing-a-vertical-menu-wordpress-plugin-for-your-site/">Choosing a Vertical Menu WordPress Plugin For Your Site</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.designchemical.com/blog/index.php/wordpress-plugins/wordpress-plugin-jquery-drill-down-ipod-menu-widget/feed/</wfw:commentRss>
		<slash:comments>67</slash:comments>
		</item>
		<item>
		<title>jQuery Plugin &#8211; Mega Drop Down Menu</title>
		<link>http://www.designchemical.com/blog/index.php/jquery/jquery-plugin-mega-drop-down-menu/</link>
		<comments>http://www.designchemical.com/blog/index.php/jquery/jquery-plugin-mega-drop-down-menu/#comments</comments>
		<pubDate>Fri, 25 Feb 2011 01:06:04 +0000</pubDate>
		<dc:creator>Lee</dc:creator>
				<category><![CDATA[jQuery]]></category>
		<category><![CDATA[jQuery Plugins]]></category>
		<category><![CDATA[mega menus]]></category>
		<category><![CDATA[menu]]></category>
		<category><![CDATA[navigation]]></category>
		<category><![CDATA[plugins]]></category>

		<guid isPermaLink="false">http://www.designchemical.com/blog/?p=1291</guid>
		<description><![CDATA[<a href="http://www.designchemical.com/blog/index.php/jquery/jquery-plugin-mega-drop-down-menu/"><img align="left" hspace="5" width="150" src="http://www.designchemical.com/blog/wp-content/plugins/thumbnail-for-excerpts/jquery_code.png" class="alignleft wp-post-image tfe" alt="" title="" /></a><p>Further to our release of the new drop down mega menu WordPress plugin last week we have now set up the jQuery plugin code that was used to create the WordPress widget.</p>
<p>The plugin will create drop down mega menus from any standard nested HTML lists.</p>
<p>Full details on how to use the plugin can be found at &#8211; jQuery &#8230; <a href="http://www.designchemical.com/blog/index.php/jquery/jquery-plugin-mega-drop-down-menu/" class="read_more">more</a></p>]]></description>
			<content:encoded><![CDATA[<p>Further to our release of the new <a href="/blog/index.php/wordpress-plugins/wordpress-plugin-jquery-drop-down-mega-menu-widget/">drop down mega menu WordPress plugin</a> last week we have now set up the jQuery plugin code that was used to create the WordPress widget.</p>
<p>The plugin will create drop down mega menus from any standard nested HTML lists.</p>
<p>Full details on how to use the plugin can be found at &#8211; <a href="/lab/jquery-mega-drop-down-menu-plugin/getting-started/">jQuery Mega Drop Down Menu Plugin</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.designchemical.com/blog/index.php/jquery/jquery-plugin-mega-drop-down-menu/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
		<item>
		<title>WordPress Plugin – jQuery Drop Down Mega Menu</title>
		<link>http://www.designchemical.com/blog/index.php/wordpress-plugins/wordpress-plugin-jquery-drop-down-mega-menu-widget/</link>
		<comments>http://www.designchemical.com/blog/index.php/wordpress-plugins/wordpress-plugin-jquery-drop-down-mega-menu-widget/#comments</comments>
		<pubDate>Sun, 20 Feb 2011 13:26:19 +0000</pubDate>
		<dc:creator>Lee</dc:creator>
				<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Wordpress Plugins]]></category>
		<category><![CDATA[horizontal]]></category>
		<category><![CDATA[mega menus]]></category>
		<category><![CDATA[menu]]></category>
		<category><![CDATA[navigation]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[widget]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.designchemical.com/blog/?p=1230</guid>
		<description><![CDATA[<a href="http://www.designchemical.com/blog/index.php/wordpress-plugins/wordpress-plugin-jquery-drop-down-mega-menu-widget/"><img align="left" hspace="5" width="150" src="/media/images/custom_wordpress_mega_menu_s.jpg" class="alignleft wp-post-image tfe" alt="" title="" /></a><p><strong>Updated 12th November 2011</strong></p>
<p><img src="/media/images/custom_wordpress_mega_menu_s.jpg" alt="" class="img-right" /></p>
<p>Drop down mega menus are becoming more popular as an alternative to standard drop down menus.</p>
<p>This WordPress menu plugin will allow you to quickly and easily create drop down mega menus from any WordPress custom menu. The plugin can handle multiple mega menus per page, offers a choice of animation effects (fade or slide), &#8230; <a href="http://www.designchemical.com/blog/index.php/wordpress-plugins/wordpress-plugin-jquery-drop-down-mega-menu-widget/" class="read_more">more</a></p>]]></description>
			<content:encoded><![CDATA[<p><strong>Updated 12th November 2011</strong></p>
<p><img src="/media/images/custom_wordpress_mega_menu_s.jpg" alt="" class="img-right" /></p>
<p>Drop down mega menus are becoming more popular as an alternative to standard drop down menus.</p>
<p>This WordPress menu plugin will allow you to quickly and easily create drop down mega menus from any WordPress custom menu. The plugin can handle multiple mega menus per page, offers a choice of animation effects (fade or slide), the option to set the drop down sub-menu to full width plus the choice to activate the menu using either hover or click.</p>
<h4 class="clear">For Vertical Mega Menus</h4>
<p>If you are looking for a vertical version of the mega menu see our WordPress plugin &#8211; <br /><a href="/blog/index.php/wordpress-plugins/wordpress-plugin-jquery-vertical-mega-menu-widget/">jQuery Vertical Mega Menu Widget</a>.</p>
<h3>Download jQuery Mega Menu</h3>
<p><a href="http://downloads.wordpress.org/plugin/jquery-mega-menu.1.3.8.zip" rel="nofollow">Download JQuery Mega Menu Widget 1.3.8 (36,957)</a></p>

<h3 class="margin-bottom">jQuery Mega Menu Demos</h3>
<ol>
<li><a href="/lab/demo-wordpress-jquery-mega-menu-plugin/">Mega menus using plugin skins</a></li>
<li><a href="/lab/demo-custom-mega-menu-styling/">Example mega menu with more advanced custom styling</a></li>
</ol>
<h3>Installation</h3>
<ol>
<li>Upload the plugin through &#8216;Plugins > Add New > Upload&#8217; interface or upload &#8216;jquery-mega-menu&#8217; folder to the &#8216;/wp-content/plugins/&#8217; directory</li>
<li>Activate the plugin through the &#8216;Plugins&#8217; menu in WordPress</li>
<li>In the widgets section, select the jQuery mega menu widget and add to one of your widget areas</li>
<li>Select one of the WP menus, set the required settings and save your widget</li>
</ol>
<h3>Useage</h3>
<p>In order to use this plugin you will need the following:</p>
<h4>A WordPress custom menu</h4>
<p>Either use an existing menu or set one up via the menu option in WordPress admin. Although the widget will work with any menu structure, for best results use 3 levels for the custom menu &#8211; see sample screenshot of custom menu structure below.</p>
<h4>Widget area</h4>
<p>Either use an existing widget area in your WordPress theme or create a new widget area in the required location. This is a horizontal menu so it needs to be located where it can expand to accomodate all of the top level items.</p>
<p>For more information on how to add a new widget to your WordPress theme see our follow up WordPress tutorial &#8211; <a href="http://www.designchemical.com/blog/index.php/wordpress-tips/wordpress-tutorial-adding-a-widget-area-to-your-theme-files/">&#8220;Adding A Widget Area To Your Theme Files&#8221;</a>.</p>
<h4>Create Your Mega Menu</h4>
<p>To create your mega menu go to the widget admin page and drag the &#8220;jQuery Mega Menu&#8221; widget to the desired widget area. Then select your custom menu from the drop down list in the widget control panel.</p>
<p>Click &#8220;save&#8221; to activate the widget.</p>
<h3>Configuring Your Widget</h3>
<p>The widget has several parameters that can be configured to help cutomise the mega menu:</p>
<h4>Hover/Click</h4>
<p>Select whether you would like the menu to activate using hover or click.</p>
<h4>Number Items Per Row</h4>
<p>Select the number of sub-menu items to be shown on each row of the mega menu.</p>
<h4>Skin</h4>
<p>Several sample skins are available to give examples of css that can be used to style your own mega menu</p>
<h4>Animation Effect</h4>
<p>The effect used to display the sub-menus &#8211; options are; fade in or slide down. See the <a href="/lab/demo-wordpress-jquery-mega-menu-plugin/">mega menu demo page</a> for examples.</p>
<h4>Animation Speed</h4>
<p>The speed at which the dropdown menu will open/close. Selecting the &#8220;No Animation&#8221; option will remove both the fade in/out and slide effects.</p>
<h4>Set Sub Menu To Full Width</h4>
<p>If checked, the drop down mega sub menu width will be 100%</p>
<div class="banner-horizontal">
<script type="text/javascript"><!--
google_ad_client = "ca-pub-7740611438413740";
/* Banner Mid Post */
google_ad_slot = "8625321051";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script><br />
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</div>
<h3>Frequently Asked Questions</h3>
<p><strong>Please refer to our <a href="/blog/index.php/frequently-asked-questions/jquery-mega-menu/">FAQ pages for the jQuery Mega Menu Plugin</a></strong> for a complete list of questions and answers.</p>
<p>Many issues that can crop up with installing and using the plugin with different themes have also been covered in our comments section. Please also check previous comments for further information/tips.</p>
<h3>Demo jQuery Mega Menu</h3>
<ul class="content-list">
<li><a href="/lab/demo-wordpress-jquery-mega-menu-plugin/">Mega menus using plugin skins</a></li>
<li><a href="/lab/demo-custom-mega-menu-styling/">More advanced custom styling</a></li>
</ul>
<p>In addition the main navigation used on this website also uses the jQuery mega menu plugin.</p>
<h3>Download The Plugin</h3>
<p><a href="http://downloads.wordpress.org/plugin/jquery-mega-menu.1.3.8.zip" rel="nofollow">Download JQuery Mega Menu Widget 1.3.8 (36,957)</a></p>

<h3>Feedback</h3>
<p><strong>If you find this plugin useful please rate it at <a href="http://wordpress.org/extend/plugins/jquery-mega-menu/" rel="nofollow">wordpress.org</a>.</strong></p>
<p>If you have any problems or suggestions on how we can make the plugin better let us know via comments, email or our online contact form.</p>
<div class="donate">
<form name="_xclick" id="form-donate" action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_blank">&#8216;;</p>
<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="hosted_button_id" value="NVWNM7CSNMEHY">
<input type="image" src="/media/images/btn_donateCC_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
</form>
<h3>Donate</h3>
<p>We develop &#038; support all of our plugins for free. If you use this plugin and find it useful please consider a donation as a token of your appreciation</p>
<div class="clear"></div>
</div>
<h3>Updates</h3>
<h4>Version 1.3.8 &#8211; 12th November 2011</h4>
<ul class="content-list">
<li>Updated: jquery.dcmegamenu.1.3.4.js and switched to minified version</li>
</ul>
<h4>Version 1.3.7 &#8211; 14th Augut 2011</h4>
<ul class="content-list">
<li>Fixed: Bug with default values</li>
</ul>
<h4>Version 1.3.6 &#8211; 27th July 2011</h4>
<ul class="content-list">
<li>Added: Full width option for mega menu</li>
<li>Updated: jquery.dcmegamenu.1.3.3.js</li>
</ul>
<h4>Version 1.3.5 &#8211; 15th May 2011</h4>
<ul class="content-list">
<li>Added: Ability to turn off animation effects by selecting &#8220;No Animation&#8221; in speed menu options</li>
</ul>
<h4>Version 1.3.3 &#8211; 8th Apr 2011</h4>
<ul class="content-list">
<li>Fixed: IE7 bug due to jQuery initialisation code</li>
</ul>
<h4>Version 1.3.2 &#8211; 27th Mar 2011</h4>
<ul class="content-list">
<li>Added : Option to use either hover or click events</li>
</ul>
<h4>Version 1.3.1 &#8211; 15th Mar 2011</h4>
<ul class="content-list">
<li>Added : Mega menu automatically adjusts right alignment to stay within menu boundary</li>
</ul>
<h4>Version 1.3 &#8211; 7th Mar 2011</h4>
<ul class="content-list">
<li>Added : Ability to select either fade in or slide down animation effects</li>
</ul>
<h3>Screenshots</h3>
<p class="text-center"><img src="/media/images/screenshot-1-jquery-mega-menu-plugin.png" alt="" /></p>
<p class="text-center"><strong>Widget in edit mode</strong></p>
<p class="text-center"><img src="/media/images/screenshot-2-jquery-mega-menu-plugin.png" alt="" /></p>
<p class="text-center"><strong>Sample custom menu structure &#8211; For best results use 3 levels for the custom menu</strong></p>
<p class="text-center"><img src="/media/images/screenshot-3-jquery-mega-menu-plugin.png" alt="" /></p>
<p class="text-center"><strong>Sample mega menu skins</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.designchemical.com/blog/index.php/wordpress-plugins/wordpress-plugin-jquery-drop-down-mega-menu-widget/feed/</wfw:commentRss>
		<slash:comments>410</slash:comments>
		</item>
		<item>
		<title>Create An Image Preloader For Image Swap Using jQuery</title>
		<link>http://www.designchemical.com/blog/index.php/jquery/create-image-preloader-image-swap-function-jquery/</link>
		<comments>http://www.designchemical.com/blog/index.php/jquery/create-image-preloader-image-swap-function-jquery/#comments</comments>
		<pubDate>Tue, 15 Feb 2011 14:42:53 +0000</pubDate>
		<dc:creator>Lee</dc:creator>
				<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Website Coding]]></category>
		<category><![CDATA[function]]></category>
		<category><![CDATA[images]]></category>

		<guid isPermaLink="false">http://www.designchemical.com/blog/?p=1215</guid>
		<description><![CDATA[<a href="http://www.designchemical.com/blog/index.php/jquery/create-image-preloader-image-swap-function-jquery/"><img align="left" hspace="5" width="150" src="http://www.designchemical.com/blog/wp-content/plugins/thumbnail-for-excerpts/jquery_code.png" class="alignleft wp-post-image tfe" alt="" title="" /></a><p>The following tutorial takes one of our earlier code snippets and improves it by adding a function to preload images.</p>
<p>The Quick and Easy jQuery Image Swap function offers a very simple way of implementing image change on hover for buttons, links, etc (see earlier post for more info). One problem however is that the first time the active image &#8230; <a href="http://www.designchemical.com/blog/index.php/jquery/create-image-preloader-image-swap-function-jquery/" class="read_more">more</a></p>]]></description>
			<content:encoded><![CDATA[<p>The following tutorial takes one of our earlier code snippets and improves it by adding a function to preload images.</p>
<p>The <a href="http://www.designchemical.com/blog/index.php/jquery/quick-and-easy-jquery-image-swap/">Quick and Easy jQuery Image Swap</a> function offers a very simple way of implementing image change on hover for buttons, links, etc (see earlier post for more info). One problem however is that the first time the active image is called for a page there tends to be a delay as the new image loads.</p>
<p>One way to overcome this problem and ensure that the image swaps are more responsive is to preload all active versions of the images when the page downloads.</p>
<p class="clear">There are 2 parts to our jQuery code:</p>
<ul class="content-list">
<li>First we create our preload function, which will take an array of image file names and preload them when the page loads.</li>
<li>Then we create a function to create the image array by selecting all relevant images &#8211; i.e. the ones to be used in our image swap function. After selecting the images we then change the file names to those of the active images &#8211; i.e. swap &#8220;_off&#8221; for &#8220;_on&#8221; and store them in the array. This array can then be passed to the preload function.</li>
</ul>
<h3>1. jQuery Code &#8211; Preload Function</h3>
<pre class="brush: jscript; title: ; notranslate">
$.fn.preload = function() {
    this.each(function(){
        $('&lt;img/&gt;')[0].src = this;
    });
}
</pre>
<h3>2. jQuery Code To Create The Image Array</h3>
<pre class="brush: jscript; title: ; notranslate">
$(document).ready(function() {
    // Declare the array variable
    var imgSwap = [];
    // Select all images used in the image swap function - in our case class &quot;img-swap&quot;
    $(&quot;.img-swap&quot;).each(function(){
        // Loop through all images which are used in our image swap function
        // Get the file name of the active images to be loaded by replacing _off with _on
        imgUrl = this.src.replace(&quot;_off&quot;,&quot;_on&quot;);
        // Store the file name in our array
        imgSwap.push(imgUrl);
    });
    // Pass the array to our preload function
    $(imgSwap).preload();
});
</pre>
<p>That&#8217;s basically it &#8230; a few lines of code, which will greatly enhance the performance of the image swap fuction.</p>
<p>In the following demo you can see the difference between a set of buttons using preload vs ones loading on hover:</p>
<p><a href="/lab/jquery/demo/jquery_image_swap_preload.htm" class="demo">Check Out The Preload Demo</a> <a href="/lab/jquery/demo/download/jquery_image_swap_preloader.zip" class="demo">Download Source Code</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.designchemical.com/blog/index.php/jquery/create-image-preloader-image-swap-function-jquery/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Sort Items Alphabetically Using jQuery</title>
		<link>http://www.designchemical.com/blog/index.php/jquery/sort-items-alphabetically-using-jquery/</link>
		<comments>http://www.designchemical.com/blog/index.php/jquery/sort-items-alphabetically-using-jquery/#comments</comments>
		<pubDate>Sun, 13 Feb 2011 11:08:26 +0000</pubDate>
		<dc:creator>Lee</dc:creator>
				<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.designchemical.com/blog/?p=1199</guid>
		<description><![CDATA[<a href="http://www.designchemical.com/blog/index.php/jquery/sort-items-alphabetically-using-jquery/"><img align="left" hspace="5" width="150" src="http://www.designchemical.com/blog/wp-content/plugins/thumbnail-for-excerpts/jquery_code.png" class="alignleft wp-post-image tfe" alt="" title="" /></a><p>Using jQuery we can easily sort a list of html elements alphabetically. In the following tutorial I will give 2 examples &#8211; sorting an unordered list and sorting a table.</p>
<p>View Sorting Demo</p>
Sorting An Unordered List
<h4>The HTML</h4>
<p>Here we have a simple unordered list of country names. To initiate the sorting I have added 2 links &#8211; one &#8230; <a href="http://www.designchemical.com/blog/index.php/jquery/sort-items-alphabetically-using-jquery/" class="read_more">more</a></p>]]></description>
			<content:encoded><![CDATA[<p>Using jQuery we can easily sort a list of html elements alphabetically. In the following tutorial I will give 2 examples &#8211; sorting an unordered list and sorting a table.</p>
<p><a href="http://www.designchemical.com/lab/jquery/demo/jquery_sort_alphabetically.htm" class="demo">View Sorting Demo</a></p>
<h3 class="clear">Sorting An Unordered List</h3>
<h4>The HTML</h4>
<p>Here we have a simple unordered list of country names. To initiate the sorting I have added 2 links &#8211; one for sorting A-Z and the other Z-A.</p>
<pre class="brush: plain; title: ; notranslate">
&lt;p&gt;Sort: &lt;a href=&quot;#&quot; class=&quot;link-sort-list asc&quot;&gt;A-Z&lt;/a&gt; &lt;a href=&quot;#&quot; class=&quot;link-sort-list desc&quot;&gt;Z-A&lt;/a&gt;&lt;/p&gt;
&lt;ul id=&quot;sort-list&quot;&gt;
  &lt;li&gt;Thailand&lt;/li&gt;
  &lt;li&gt;Chad&lt;/li&gt;
  &lt;li&gt;Liberia&lt;/li&gt;
  &lt;li&gt;Guyana&lt;/li&gt;
  &lt;li&gt;United States of America&lt;/li&gt;
  &lt;li&gt;Papua New Guinea&lt;/li&gt;
  &lt;li&gt;Singapore&lt;/li&gt;
  &lt;li&gt;Ethiopia&lt;/li&gt;
  &lt;li&gt;United Kingdom&lt;/li&gt;
  &lt;li&gt;Australia&lt;/li&gt;
  &lt;li&gt;Zambia&lt;/li&gt;
  &lt;li&gt;Mauritius&lt;/li&gt;
&lt;/ul&gt;
</pre>
<p>We have given the list an ID of &#8220;sort-list&#8221; so we can identify it in our jQuery code and the links a class of &#8220;link-sort-list&#8221; as well as &#8220;asc&#8221; or &#8220;desc&#8221;.</p>
<h4>The jQuery Code</h4>
<pre class="brush: jscript; title: ; notranslate">
$('.link-sort-list').click(function(e) {
    var $sort = this;
    var $list = $('#sort-list');
    var $listLi = $('li',$list);
    $listLi.sort(function(a, b){
        var keyA = $(a).text();
        var keyB = $(b).text();
        if($($sort).hasClass('asc')){
            return (keyA &amp;gt; keyB) ? 1 : 0;
        } else {
            return (keyA &amp;lt; keyB) ? 1 : 0;
        }
    });
    $.each($listLi, function(index, row){
        $list.append(row);
    });
    e.preventDefault();
});
</pre>
<p>In the above code we first declare the variables &#8211; the clicked link, the unordered list and the list items. We then use the standard javascript function to sort the items based on the text within the list tags.</p>
<p>The above function checks if the link that was clicked has the class &#8220;asc&#8221; or &#8220;desc&#8221; and reorders them accordingly.</p>
<p>Using jQuery we then append each item row to the unordered list to rebuild in the correct order.</p>
<p>At the end we have then added the preventDefault() function, which will stop the page scrolling back to the top of the screen when the sort links are clicked.</p>
<h3>Sorting A HTML Table</h3>
<p>Sorting a table is slightly different since we need to identfiy which cell&#8217;s text to use for sorting.</p>
<h4>The HTML</h4>
<pre class="brush: plain; title: ; notranslate">
&lt;table id=&quot;sort-table&quot; cellpadding=&quot;5&quot; cellspacing=&quot;2&quot; border=&quot;0&quot;&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th align=&quot;left&quot;&gt;Sort: &lt;a href=&quot;#&quot; class=&quot;link-sort-table asc&quot;&gt;A-Z&lt;/a&gt; &lt;a href=&quot;#&quot; class=&quot;link-sort-table desc&quot;&gt;Z-A&lt;/a&gt;&lt;/th&gt;
      &lt;th&gt;&amp;amp;nbsp;&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;Thailand&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;45&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Chad&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;245&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Liberia&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;543&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Guyana&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;67&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;United States of America&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;22&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Papua New Guinea&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;7753&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Singapore&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;33&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Ethiopia&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;2224&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;United Kingdom&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;67&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Australia&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;22&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Zambia&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;178&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Mauritius&lt;/td&gt;
      &lt;td align=&quot;right&quot;&gt;778&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
 &lt;/table&gt;
</pre>
<h4>The jQuery Code</h4>
<pre class="brush: jscript; title: ; notranslate">
$('.link-sort-table').click(function(e) {
    var $sort = this;
    var $table = $('#sort-table');
    var $rows = $('tbody &amp;gt; tr',$table);
    $rows.sort(function(a, b){
        var keyA = $('td:eq(0)',a).text();
        var keyB = $('td:eq(0)',b).text();
        if($($sort).hasClass('asc')){
            return (keyA &amp;gt; keyB) ? 1 : 0;
        } else {
            return (keyA &amp;lt; keyB) ? 1 : 0;
        }
    });
    $.each($rows, function(index, row){
      $table.append(row);
    });
    e.preventDefault();
});
</pre>
<p>The main difference in the above code is that we select the text in the first cell of each row within tbody to be used for sorting.</p>
<p><a href="http://www.designchemical.com/lab/jquery/demo/jquery_sort_alphabetically.htm" class="demo">View Sorting Demo</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.designchemical.com/blog/index.php/jquery/sort-items-alphabetically-using-jquery/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>WordPress Plugin &#8211; jQuery Vertical Accordion Menu</title>
		<link>http://www.designchemical.com/blog/index.php/wordpress-plugins/wordpress-plugin-jquery-vertical-accordion-menu-widget/</link>
		<comments>http://www.designchemical.com/blog/index.php/wordpress-plugins/wordpress-plugin-jquery-vertical-accordion-menu-widget/#comments</comments>
		<pubDate>Fri, 11 Feb 2011 20:43:31 +0000</pubDate>
		<dc:creator>Lee</dc:creator>
				<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Wordpress Plugins]]></category>
		<category><![CDATA[accordion]]></category>
		<category><![CDATA[menu]]></category>
		<category><![CDATA[navigation]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[vertical]]></category>
		<category><![CDATA[widget]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.designchemical.com/blog/?p=1185</guid>
		<description><![CDATA[<a href="http://www.designchemical.com/blog/index.php/wordpress-plugins/wordpress-plugin-jquery-vertical-accordion-menu-widget/"><img align="left" hspace="5" width="150" src="/media/images/vertical_accordion_plugin.jpg" class="alignleft wp-post-image tfe" alt="" title="" /></a><p><strong>Updated: 18th January 2012</strong></p>
<p><img src="/media/images/vertical_accordion_plugin.jpg" alt="" class="img-border img-right" /></p>
<p>This plugin allows you to easily create multiple jquery vertical accordion menus using the custom menus function, available in WordPress 3.0.</p>
<p>The accordion menu can handle any number of sub-menus and features include the option to select either &#8220;hover&#8221; or &#8220;click&#8221; to activate the menu, add a count showing the number of links under each &#8230; <a href="http://www.designchemical.com/blog/index.php/wordpress-plugins/wordpress-plugin-jquery-vertical-accordion-menu-widget/" class="read_more">more</a></p>]]></description>
			<content:encoded><![CDATA[<p><strong>Updated: 18th January 2012</strong></p>
<p><img src="/media/images/vertical_accordion_plugin.jpg" alt="" class="img-border img-right" /></p>
<p>This plugin allows you to easily create multiple jquery vertical accordion menus using the custom menus function, available in WordPress 3.0.</p>
<p>The accordion menu can handle any number of sub-menus and features include the option to select either &#8220;hover&#8221; or &#8220;click&#8221; to activate the menu, add a count showing the number of links under each menu item &amp; auto-expand menu based on the current page.</p>
<h3>Demo Accordion Menu</h3>
<p><a href="/lab/demo-wordpress-vertical-accordion-menu-plugin/">Demo – WordPress Vertical Accordion Menu Plugin</a></p>
<h3>Download The Plugin</h3>
<p><a href="http://downloads.wordpress.org/plugin/jquery-vertical-accordion-menu.3.1.zip" rel="nofollow">Download JQuery Accordion Menu Widget 3.1 (37,147)</a></p>

<h3>Installation</h3>
<ol>
<li>Upload the plugin through &#8216;Plugins > Add New > Upload&#8217; interface or upload &#8216;jquery-vertical-accordion-menu&#8217; folder to the &#8216;/wp-content/plugins/&#8217; directory</li>
<li>Activate the plugin through the &#8216;Plugins&#8217; menu in WordPress</li>
<li>If you dont yet have a custom menu, create one in the Menu area.</li>
<li>In the widgets section, select the jQuery accordion menu widget and add to one of your widget areas</li>
<li>Select one of the available custom menus from the dropdown list</li>
</ol>
<p>Your theme must be able to support custom menus</p>
<h3>Useage</h3>
<p>Accordion menus can be added to your site using either widget areas or shortcodes (available starting version 3.0)</p>
<p>Before you can configure the accordion menu you require a WordPress custom menu &#8211; either use an existing menu or set one up via the menu option in WordPress admin.</p>
<p>Note: that in order for the accordion effect to work the menu must have <strong>at least 2 levels</strong>.</p>
<h3>Create Your Vertical Accordion Menu Using Widgets</h3>
<p>Either use an existing widget in your WordPress theme or create a new widget area in the required location.</p>
<p>For more information on how to add a new widget to your WordPress theme see our follow up WordPress tutorial &#8211; <a href="http://www.designchemical.com/blog/index.php/wordpress-tips/wordpress-tutorial-adding-a-widget-area-to-your-theme-files/">&#8220;Adding A Widget Area To Your Theme Files&#8221;</a>.</p>
<p>To create your accordion menu drag the jQuery Accordion Menu widget to the widget area and select your custom menu from the drop down menu.</p>
<h3>Configuring Your Accordion Menu Widget</h3>
<p>The widget has several parameters that can be configured to help cutomise the vertical accordion menu:</p>
<h4>Click/Hover</h4>
<p>Selects the event type that will trigger the menu to open/close</p>
<p>Note: care should be taken when selecting the hover event as this may impact useability &#8211; adding a hover delay and reducing the animation speed may help reduce problems with useability</p>
<h4>Auto-close open menus</h4>
<p>If checked this will allow only one menu item to be expanded at any time. Clicking on a new menu item will automatically close the previous one.</p>
<h4>Save menu state (uses cookies)</h4>
<p>Selecting this will allow the menu to remember its open/close state when browsing to a new page.</p>
<h4>Auto Expand Based on Current Page/Item</h4>
<p>If selected the menu will use the inherent WordPress menu system for identifying the users current page and automatically expand the sub-menus. Useful if users browse to pages via other links.</p>
<h4>Disable parent links</h4>
<p>If selected, any menu items that have child elements will have their links disabled and will only open/close their relevant sub-menus. Do not select this if you want the user to still be able to browse to that item&#8217;s page.</p>
<h4>Close menu (hover only)</h4>
<p>If checked the menu will automatically fully close after 1 second when the mouse moves off the menu &#8211; only available if event type is &#8220;hover&#8221;</p>
<h4>Show Count</h4>
<p>Check this box to display a count of the number of links under each menu heading.<br />
<h4>Class Menu</h4>
<p>If you want to create your own skin and have more control over the menu styling you can enter your own CSS class name. If you are unsure about this setting or want to use the default WordPress class (menu) leave this field blank.</p>
<h4>Class Disable</h4>
<p>Input the CSS class of any parent menu items that you want to disable &#8211; e.g. if you add a custom CSS class of &#8220;menu-disable&#8221; in the WordPress menu editor page to a menu link that you dont want open/close then enter &#8220;menu-disable&#8221; in this field.</p>
<p>Leave the field blank if you want all menu items to use the accordion features.</p>
<h4>Hover delay</h4>
<p>This setting adds a delay to the hover event to help prevent the menu opening/closing accidentally. A higher number means the cursor must stop moving for longer before the menu action will trigger.</p>
<h4>Animation Speed</h4>
<p>The speed at which the menu will open/close</p>
<h4>Skin</h4>
<p>Several sample skins are available to give examples of css that can be used to style your accordion menu.</p>
<h3>Create Your Vertical Accordion Menu Using Shortcodes</h3>
<p>The minimum requirement for adding a menu using a shortcode is to include the name of the menu that you want to use for the vertical accordion &#8211; the name must match one of the menus created in the WordPress menu admin page.</p>
<p>To add a menu using shortcodes use the following code:</p>
<pre class="brush: php; title: ; notranslate">
[dcwp-jquery-accordion menu=&quot;Test Menu&quot;]
</pre>
<p>The above shortcode would add the menu &#8220;Test Menu&#8221; with the default accordion settings (see below)/</p>
<p>Optional shortcode parameters for customising the menu (refer to widget settings above for information):</p>
<ul class="content-list">
<li>event &#8211; click/hover (default = click)</li>
<li>auto_close &#8211; true/false (default = false)</li>
<li>save &#8211; true/false (default = false)</li>
<li>expand &#8211; true/false (default = false)</li>
<li>disable &#8211; true/false (default = false)</li>
<li>close &#8211; true/false (default = false)</li>
<li>count &#8211; true/false (default = false)</li>
<li>menu_class &#8211; optional (default = menu)</li>
<li>disable_class &#8211; optional (no default)</li>
<li>hover &#8211; 600</li>
<li>animation &#8211; slow/normal/fast (default = slow)</li>
<li>skin &#8211; black/blue/clean/demo/graphite/grey (default = No Theme)</li>
</ul>
<h4>Example of custom menu using shortcodes</h4>
<p>To add an accordion menu using the &#8220;hover&#8221; event, save state on, parent links disabled, include count of child links and auto-expand to show current page:</p>
<pre class="brush: php; title: ; notranslate">
[dcwp-jquery-accordion menu=&quot;Test Menu&quot; event=&quot;hover&quot; save=&quot;true&quot; disable=&quot;true&quot; count=&quot;true&quot; expand=&quot;true&quot;]
</pre>
<h4>Using shortcodes in template files</h4>
<p>See FAQ &#8211; <a href="/blog/index.php/faq/adding-an-accordion-menu-using-shortcodes-to-your-template-files/">Adding an accordion menu using shortcodes to your template files</a>.</p>
<h3>Creating A Custom Skin</h3>
<p>For a blank CSS template and more information on how to create a custom skin for this plugin see FAQ &#8211; <a href="/blog/index.php/faq/creating-a-custom-skin-for-the-wordpress-jquery-vertical-accordion-menu-plugin/">Creating a custom skin for the wordpress jQuery vertical accordion menu plugin</a>.</p>
<div class="banner-horizontal">
<script type="text/javascript"><!--
google_ad_client = "ca-pub-7740611438413740";
/* Banner Mid Post */
google_ad_slot = "8625321051";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script><br />
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</div>
<h3>Frequently Asked Questions</h3>
<p><strong>Please refer to our <a href="/blog/index.php/frequently-asked-questions/jquery-vertical-accordion-menu/">FAQ pages for the jQuery Verticall Accordion Menu Plugin</a></strong> for a complete list of questions and answers.</p>
<p>Many issues that can crop up with installing and using the plugin with different themes have also been covered in our comments section. Please also check previous comments for further information/tips.</p>
<h3>Demo Accordion Menu</h3>
<p><a href="/lab/demo-wordpress-vertical-accordion-menu-plugin/">Demo – WordPress Vertical Accordion Menu Plugin</a></p>
<h3>Download The Plugin</h3>
<p><a href="http://downloads.wordpress.org/plugin/jquery-vertical-accordion-menu.3.1.zip" rel="nofollow">Download JQuery Accordion Menu Widget 3.1 (37,147)</a></p>

<h3>Feedback</h3>
<p>If you find this plugin useful please rate it at <a href="http://wordpress.org/extend/plugins/jquery-vertical-accordion-menu/" rel="nofollow">wordpress.org</a>.</p>
<p>If you have any problems or suggestions on how we can make the plugin better let us know via comments, email or our online contact form.</p>
<div class="donate">
<form name="_xclick" id="form-donate" action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_blank">&#8216;;</p>
<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="hosted_button_id" value="NVWNM7CSNMEHY">
<input type="image" src="/media/images/btn_donateCC_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
</form>
<h3>Donate</h3>
<p>We develop &#038; support all of our plugins for free. If you use this plugin and find it useful please consider a donation as a token of your appreciation</p>
<div class="clear"></div>
</div>
<h3>Updates</h3>
<h4>Version 3.1 &#8211; 18th January 2012</h4>
<ul class="content-list">
<li>Fixed: Auto-close bug</li>
</ul>
<h4>Version 2.6 &#8211; 19th June 2011</h4>
<ul class="content-list">
<li>Added: Ability to set menu CSS Class &#8211; default &#8220;menu&#8221;</li>
<li>Added: Ability to disable parent menu items using a CSS class</li>
<li>Update: Revision to auto-expand system</li>
<li>Update: jquery plugin version &#8211; jquery.dcjqaccordion.2.8.js</li>
</ul>
<h4>Version 2.5.4 &#8211; 25th May 2011</h4>
<ul class="content-list">
<li>Fixed: Bug with save state option.</li>
</ul>
<h4>Version 2.5.3 &#8211; 23rd May 2011</h4>
<ul class="content-list">
<li>Update: jQuery Accordion Menu plugin includes check to see if cookie plugin exists.</li>
</ul>
<h4>Version 2.5.2 &#8211; 20th May 2011</h4>
<ul class="content-list">
<li>Update: Using updated jQuery Accordion Menu plugin &#8211; fixed bug with count.</li>
</ul>
<h4>Version 2.5 &#8211; 7th Apr 2011</h4>
<ul class="content-list">
<li>Added: Auto-expand no longer requires the &#8220;Save State&#8221; option to be selected.</li>
</ul>
<h4>Version 2.4 &#8211; 24th Mar 2011</h4>
<ul class="content-list">
<li>Added: Auto-expand option for menu to expand sub-menus based on users current page.</li>
</ul>
<h4>Version 2.3 &#8211; 21st Mar 2011</h4>
<ul class="content-list">
<li>Edit: Cufon fonts can now be used in the accordion menu</li>
</ul>
<h4>Version 2.2 &#8211; 16th Feb 2011</h4>
<ul class="content-list">
<li>Added: Option to show count of number of child links</li>
<li>Edit: Fixed cookie problem with multiple menus</li>
</ul>
<h4>Version 2.0 &#8211; 26th Feb 2011</h4>
<ul class="content-list">
<li>Added : Ability to select either hover or click to activate menu</li>
<li>Added : Hover delay setting for hover event</li>
<li>Added : Close menu option for hover event</li>
</ul>
<h4>Version 1.1 &#8211; 20th Feb 2011</h4>
<ul class="content-list">
<li>Fixed : Duplicate ID with themes adding ID to widget container</li>
<li>Fixed : Set cookie path</li>
</ul>
<h3>Screenshots</h3>
<p class="text-center"><img src="/media/images/screenshot-1-jquery-vertical-accordion-plugin.png" alt="" /></p>
<p class="text-center"><strong>Widget in edit mode</strong></p>
<p class="text-center"><img src="/media/images/screenshot-2a-jquery-vertical-accordion-plugin.png" alt="" /></p>
<p class="text-center"><strong>Sample vertical accordion menus</strong></p>
<p>For alternatives to the vertical accordion menu check out our <a href="/blog/index.php/wordpress-plugins/wordpress-plugin-jquery-vertical-mega-menu-widget/">Vertical Mega Menu Plugin</a> or the <a href="/blog/index.php/wordpress-plugins/wordpress-plugin-jquery-drill-down-ipod-menu-widget/">Drill Down iPod Style Menu Plugin</a>. For more information and tips on the best type of vertical menu plugin to use refer to &#8211; <a href="/blog/index.php/wordpress-plugins/choosing-a-vertical-menu-wordpress-plugin-for-your-site/">Choosing a Vertical Menu WordPress Plugin For Your Site</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.designchemical.com/blog/index.php/wordpress-plugins/wordpress-plugin-jquery-vertical-accordion-menu-widget/feed/</wfw:commentRss>
		<slash:comments>755</slash:comments>
		</item>
	</channel>
</rss>

