<?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>Rommel Santor&#039;s Clog &#187; navigation</title>
	<atom:link href="https://rommelsantor.com/clog/tag/navigation/feed/" rel="self" type="application/rss+xml" />
	<link>https://rommelsantor.com/clog</link>
	<description>my exploits and misadventures in programming</description>
	<lastBuildDate>Thu, 04 Feb 2016 12:56:01 +0000</lastBuildDate>
	<language>en-US</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.0.38</generator>
	<item>
		<title>Dynamic Drop-Down Navigation Menu Like Wired.com&#8217;s</title>
		<link>https://rommelsantor.com/clog/2010/04/24/dynamic-drop-down-navigation-menu-like-wired-com/</link>
		<comments>https://rommelsantor.com/clog/2010/04/24/dynamic-drop-down-navigation-menu-like-wired-com/#comments</comments>
		<pubDate>Sun, 25 Apr 2010 04:14:42 +0000</pubDate>
		<dc:creator><![CDATA[rommel]]></dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[drop down]]></category>
		<category><![CDATA[dynamic]]></category>
		<category><![CDATA[menu]]></category>
		<category><![CDATA[navigation]]></category>
		<category><![CDATA[pop open]]></category>

		<guid isPermaLink="false">http://rommelsantor.com/clog/?p=89</guid>
		<description><![CDATA[A friend recently asked me for a tip on how to create a dynamic pop-up menu like the one used on the main navigation bar of Wired.com. It&#8217;s a pretty typical implementation of a menu that pops open when the user hovers over a navigation tab, but I thought I&#8217;d share the solution I came [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>A friend recently asked me for a tip on how to create a dynamic pop-up menu like the one used on the main navigation bar of Wired.com. It&#8217;s a pretty typical implementation of a menu that pops open when the user hovers over a navigation tab, but I thought I&#8217;d share the solution I came up with.</p>
<p>This is a screenshot of what the menu currently looks like at Wired.com:<br />
<img class="aligncenter size-full wp-image-92" title="Wired.com Navigation Menu" src="http://rommelsantor.com/clog/wp-content/uploads/2010/04/wired-menu.png" alt="" width="654" height="234" /><br />
<span id="more-89"></span><br />
And this is a screenshot of the menu I created:<br />
<img class="aligncenter size-full wp-image-93" title="My Menu Like Wired.com's" src="http://rommelsantor.com/clog/wp-content/uploads/2010/04/my-wired-menu.png" alt="" width="436" height="168" /></p>
<p>I just used a bit of straightforward CSS and jQuery JavaScript to get it done. Below is the code and a functional demo for your viewing pleasure. Admittedly it&#8217;s not the most elegant solution, but it suffices and provides the bare essentials that can be tweaked to suit your liking.</p>
<h2>CSS</h2>

<pre class="css:nocontrols:nogutter">
#navbar {
  width: 100%;
  height: 25px;
  background: #000;
}

#navbar &gt; ul {
  list-style: none;
}

#navbar &gt; ul &gt; li {
  float: left;
  display: inline-block;
}

#navbar &gt; ul &gt; li &gt; a {
  display: block;
  color: #fff;
  padding: 5px 20px;
  text-align: center;
}

#navbar &gt; ul &gt; li &gt; a:hover, #navbar &gt; ul &gt; li &gt; a.open {
  background: #888;
}

#navbar .dropdown {
  display: none;
  position: absolute;
  margin-top: -2px;
  background: #fafafa;
  border: 3px solid #aaa;
  padding: 5px;
  padding-left: 0;
}

#navbar .dropdown ul {
  list-style-type: none;
  display: inline-block;
  float: left;
  margin: 0 0 0 5px;
  padding: 0;
}

#navbar .dropdown ul li {
  border-bottom: 1px solid #aaa;
  margin: 0;
  padding: 0;
}

/* would use :last-child but IE doesn't recognize it */
#navbar .dropdown ul li.last {
  border: 0;
}

#navbar .dropdown ul li a {
  display: block;
  min-width: 100px;
  padding: 3px 5px 3px 10px;
  margin: 1px 0;
  font-weight: normal;
  font-size: 0.85em;
}

#navbar .dropdown ul li a:hover {
  background: #eee;
}
</pre>

<h2>HTML</h2>

<pre class="html:nocontrols:nogutter">
&lt;div id="navbar"&gt; 
  &lt;ul&gt; 
    &lt;li&gt; 
      &lt;a href="#"&gt;Apple&lt;/a&gt; 
      &lt;div class="dropdown"&gt; 
        &lt;ul&gt; 
          &lt;li&gt;&lt;a href="#"&gt;Column A #1&lt;/a&gt;&lt;/li&gt; 
          &lt;li&gt;&lt;a href="#"&gt;Column A #2&lt;/a&gt;&lt;/li&gt; 
          &lt;li&gt;&lt;a href="#"&gt;Column A #3&lt;/a&gt;&lt;/li&gt; 
          &lt;li&gt;&lt;a href="#"&gt;Column A #4&lt;/a&gt;&lt;/li&gt; 
          &lt;li class="last"&gt;&lt;a href="#"&gt;Column A #5&lt;/a&gt;&lt;/li&gt; 
        &lt;/ul&gt; 
        &lt;ul&gt; 
          &lt;li&gt;&lt;a href="#"&gt;Column B #1&lt;/a&gt;&lt;/li&gt; 
          &lt;li&gt;&lt;a href="#"&gt;Column B #2&lt;/a&gt;&lt;/li&gt; 
          &lt;li&gt;&lt;a href="#"&gt;Column B #3&lt;/a&gt;&lt;/li&gt; 
          &lt;li&gt;&lt;a href="#"&gt;Column B #4&lt;/a&gt;&lt;/li&gt; 
          &lt;li class="last"&gt;&lt;a href="#"&gt;Column B #5&lt;/a&gt;&lt;/li&gt; 
        &lt;/ul&gt; 
      &lt;/div&gt; 
    &lt;/li&gt; 
    &lt;li&gt; 
      &lt;a href="#"&gt;Banana&lt;/a&gt; 
      &lt;div class="dropdown"&gt; 
        &lt;ul&gt; 
          &lt;li&gt;&lt;a href="#"&gt;Column A #1&lt;/a&gt;&lt;/li&gt; 
          &lt;li&gt;&lt;a href="#"&gt;Column A #2&lt;/a&gt;&lt;/li&gt; 
          &lt;li&gt;&lt;a href="#"&gt;Column A #3&lt;/a&gt;&lt;/li&gt; 
          &lt;li&gt;&lt;a href="#"&gt;Column A #4&lt;/a&gt;&lt;/li&gt; 
          &lt;li class="last"&gt;&lt;a href="#"&gt;Column A #5&lt;/a&gt;&lt;/li&gt; 
        &lt;/ul&gt; 
        &lt;ul&gt; 
          &lt;li&gt;&lt;a href="#"&gt;Column B #1&lt;/a&gt;&lt;/li&gt; 
          &lt;li&gt;&lt;a href="#"&gt;Column B #2&lt;/a&gt;&lt;/li&gt; 
          &lt;li&gt;&lt;a href="#"&gt;Column B #3&lt;/a&gt;&lt;/li&gt; 
          &lt;li&gt;&lt;a href="#"&gt;Column B #4&lt;/a&gt;&lt;/li&gt; 
          &lt;li class="last"&gt;&lt;a href="#"&gt;Column B #5&lt;/a&gt;&lt;/li&gt; 
        &lt;/ul&gt; 
      &lt;/div&gt; 
    &lt;/li&gt; 
    &lt;li&gt; 
      &lt;a href="#"&gt;Cherry&lt;/a&gt; 
      &lt;div class="dropdown"&gt; 
        &lt;ul&gt; 
          &lt;li&gt;&lt;a href="#"&gt;Column A #1&lt;/a&gt;&lt;/li&gt; 
          &lt;li&gt;&lt;a href="#"&gt;Column A #2&lt;/a&gt;&lt;/li&gt; 
          &lt;li&gt;&lt;a href="#"&gt;Column A #3&lt;/a&gt;&lt;/li&gt; 
          &lt;li&gt;&lt;a href="#"&gt;Column A #4&lt;/a&gt;&lt;/li&gt; 
          &lt;li class="last"&gt;&lt;a href="#"&gt;Column A #5&lt;/a&gt;&lt;/li&gt; 
        &lt;/ul&gt; 
        &lt;ul&gt; 
          &lt;li&gt;&lt;a href="#"&gt;Column B #1&lt;/a&gt;&lt;/li&gt; 
          &lt;li&gt;&lt;a href="#"&gt;Column B #2&lt;/a&gt;&lt;/li&gt; 
          &lt;li&gt;&lt;a href="#"&gt;Column B #3&lt;/a&gt;&lt;/li&gt; 
          &lt;li&gt;&lt;a href="#"&gt;Column B #4&lt;/a&gt;&lt;/li&gt; 
          &lt;li class="last"&gt;&lt;a href="#"&gt;Column B #5&lt;/a&gt;&lt;/li&gt; 
        &lt;/ul&gt; 
      &lt;/div&gt; 
    &lt;/li&gt; 
    &lt;li&gt; 
      &lt;a href="#"&gt;Durian&lt;/a&gt; 
      &lt;div class="dropdown"&gt; 
        &lt;ul&gt; 
          &lt;li&gt;&lt;a href="#"&gt;Column A #1&lt;/a&gt;&lt;/li&gt; 
          &lt;li&gt;&lt;a href="#"&gt;Column A #2&lt;/a&gt;&lt;/li&gt; 
          &lt;li&gt;&lt;a href="#"&gt;Column A #3&lt;/a&gt;&lt;/li&gt; 
          &lt;li&gt;&lt;a href="#"&gt;Column A #4&lt;/a&gt;&lt;/li&gt; 
          &lt;li class="last"&gt;&lt;a href="#"&gt;Column A #5&lt;/a&gt;&lt;/li&gt; 
        &lt;/ul&gt; 
        &lt;ul&gt; 
          &lt;li&gt;&lt;a href="#"&gt;Column B #1&lt;/a&gt;&lt;/li&gt; 
          &lt;li&gt;&lt;a href="#"&gt;Column B #2&lt;/a&gt;&lt;/li&gt; 
          &lt;li&gt;&lt;a href="#"&gt;Column B #3&lt;/a&gt;&lt;/li&gt; 
          &lt;li&gt;&lt;a href="#"&gt;Column B #4&lt;/a&gt;&lt;/li&gt; 
          &lt;li class="last"&gt;&lt;a href="#"&gt;Column B #5&lt;/a&gt;&lt;/li&gt; 
        &lt;/ul&gt; 
      &lt;/div&gt; 
    &lt;/li&gt; 
    &lt;li&gt; 
      &lt;a href="#"&gt;Elephant&lt;/a&gt; 
      &lt;div class="dropdown"&gt; 
        &lt;ul&gt; 
          &lt;li&gt;&lt;a href="#"&gt;Column A #1&lt;/a&gt;&lt;/li&gt; 
          &lt;li&gt;&lt;a href="#"&gt;Column A #2&lt;/a&gt;&lt;/li&gt; 
          &lt;li&gt;&lt;a href="#"&gt;Column A #3&lt;/a&gt;&lt;/li&gt; 
          &lt;li&gt;&lt;a href="#"&gt;Column A #4&lt;/a&gt;&lt;/li&gt; 
          &lt;li class="last"&gt;&lt;a href="#"&gt;Column A #5&lt;/a&gt;&lt;/li&gt; 
        &lt;/ul&gt; 
        &lt;ul&gt; 
          &lt;li&gt;&lt;a href="#"&gt;Column B #1&lt;/a&gt;&lt;/li&gt; 
          &lt;li&gt;&lt;a href="#"&gt;Column B #2&lt;/a&gt;&lt;/li&gt; 
          &lt;li&gt;&lt;a href="#"&gt;Column B #3&lt;/a&gt;&lt;/li&gt; 
          &lt;li&gt;&lt;a href="#"&gt;Column B #4&lt;/a&gt;&lt;/li&gt; 
          &lt;li class="last"&gt;&lt;a href="#"&gt;Column B #5&lt;/a&gt;&lt;/li&gt; 
        &lt;/ul&gt; 
      &lt;/div&gt; 
    &lt;/li&gt; 
  &lt;/ul&gt; 
&lt;/div&gt;
</pre>

<h2>jQuery JavaScript</h2>

<pre class="js:nocontrols:nogutter">
$("#navbar &gt; ul &gt; li &gt; a").mouseover(function(){
  $("#navbar &gt; ul &gt; li &gt; a").each(function(){
    $(this).removeClass('over open');
    $(this).next().removeClass('over').hide();
  });

  $(this).addClass('over open');
  $(this).next().show();
});
$("#navbar &gt; ul &gt; li &gt; a").mouseout(function(){
  var a = $(this);
  a.removeClass('over');
  setTimeout(function(){
    if (a.hasClass('over') || a.next().hasClass('over')) return;
    a.removeClass('open');
    a.next().hide();
    }, 1000);
});
$("#navbar &gt; ul &gt; li &gt; div.dropdown").mouseover(function(){
  $(this).addClass('over');
});
$("#navbar &gt; ul &gt; li &gt; div.dropdown").mouseout(function(){
  var a = $(this);
  a.removeClass('over');
  setTimeout(function(){
    if (a.hasClass('over') || a.prev().hasClass('over')) return;
    a.prev().removeClass('open');
    a.hide();
    }, 1000);
});
</pre>


<div style="float:left;margin:0 10px 10px 0">
<script type="text/javascript"><!--
google_ad_client = "ca-pub-7639656561235411";
/* Square (250x250) */
google_ad_slot = "8522038794";
google_ad_width = 250;
google_ad_height = 250;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</div>
<div style="clear:left"></div>

<h1>Demonstration</h1>

<style type="text/css">
#navbar {
width: 100%;
height: 25px;
background: #000;
}

#navbar > ul {
list-style: none;
}

#navbar > ul > li {
float: left;
display: inline-block;
}

#navbar > ul > li > a {
display: block;
color: #fff;
padding: 5px 20px;
text-align: center;
}

#navbar > ul > li > a:hover, #navbar > ul > li > a.open {
background: #888;
}

#navbar .dropdown {
display: none;
position: absolute;
margin-top: -2px;
background: #fafafa;
border: 3px solid #aaa;
padding: 5px;
padding-left: 0;
}

#navbar .dropdown ul {
list-style-type: none;
display: inline-block;
float: left;
margin: 0 0 0 5px;
padding: 0;
}

#navbar .dropdown ul li {
border-bottom: 1px solid #aaa;
margin: 0;
padding: 0;
}

#navbar .dropdown ul li.last {
border: 0;
}

#navbar .dropdown ul li a {
display: block;
min-width: 100px;
padding: 3px 5px 3px 10px;
margin: 1px 0;
font-weight: normal;
font-size: 0.85em;
}

#navbar .dropdown ul li a:hover {
background: #eee;
}
</style>
<div id="navbar">
<ul>
	<li> <a href="#">Apple</a>
<div class="dropdown">
<ul>
	<li><a href="#">Column A #1</a></li>
	<li><a href="#">Column A #2</a></li>
	<li><a href="#">Column A #3</a></li>
	<li><a href="#">Column A #4</a></li>
	<li class="last"><a href="#">Column A #5</a></li>
</ul>
<ul>
	<li><a href="#">Column B #1</a></li>
	<li><a href="#">Column B #2</a></li>
	<li><a href="#">Column B #3</a></li>
	<li><a href="#">Column B #4</a></li>
	<li class="last"><a href="#">Column B #5</a></li>
</ul>
</div></li>
	<li> <a href="#">Banana</a>
<div class="dropdown">
<ul>
	<li><a href="#">Column A #1</a></li>
	<li><a href="#">Column A #2</a></li>
	<li><a href="#">Column A #3</a></li>
	<li><a href="#">Column A #4</a></li>
	<li class="last"><a href="#">Column A #5</a></li>
</ul>
<ul>
	<li><a href="#">Column B #1</a></li>
	<li><a href="#">Column B #2</a></li>
	<li><a href="#">Column B #3</a></li>
	<li><a href="#">Column B #4</a></li>
	<li class="last"><a href="#">Column B #5</a></li>
</ul>
</div></li>
	<li> <a href="#">Cherry</a>
<div class="dropdown">
<ul>
	<li><a href="#">Column A #1</a></li>
	<li><a href="#">Column A #2</a></li>
	<li><a href="#">Column A #3</a></li>
	<li><a href="#">Column A #4</a></li>
	<li class="last"><a href="#">Column A #5</a></li>
</ul>
<ul>
	<li><a href="#">Column B #1</a></li>
	<li><a href="#">Column B #2</a></li>
	<li><a href="#">Column B #3</a></li>
	<li><a href="#">Column B #4</a></li>
	<li class="last"><a href="#">Column B #5</a></li>
</ul>
</div></li>
	<li> <a href="#">Durian</a>
<div class="dropdown">
<ul>
	<li><a href="#">Column A #1 with a really long label</a></li>
	<li><a href="#">Column A #2</a></li>
	<li><a href="#">Column A #3</a></li>
	<li><a href="#">Column A #4</a></li>
	<li><a href="#">Column A #5</a></li>
	<li><a href="#">Column A #6</a></li>
	<li><a href="#">Column A #7</a></li>
	<li><a href="#">Column A #8</a></li>
	<li><a href="#">Column A #9</a></li>
	<li class="last"><a href="#">Column A #10</a></li>
</ul>
</div></li>
	<li> <a href="#">Elephant</a>
<div class="dropdown">
<ul>
	<li><a href="#">Column A #1</a></li>
	<li><a href="#">Column A #2</a></li>
	<li><a href="#">Column A #3</a></li>
	<li><a href="#">Column A #4</a></li>
	<li class="last"><a href="#">Column A #5</a></li>
</ul>
<ul>
	<li><a href="#">Column B #1</a></li>
	<li><a href="#">Column B #2</a></li>
	<li><a href="#">Column B #3</a></li>
	<li><a href="#">Column B #4</a></li>
	<li class="last"><a href="#">Column B #5</a></li>
</ul>
</div></li>
</ul>
</div>
<script type="text/javascript">
$("pre").attr({name:'code'});

$("#navbar > ul > li > a").mouseover(function(){
  $("#navbar > ul > li > a").each(function(){
    $(this).removeClass('over open');
    $(this).next().removeClass('over').hide();
  });

  $(this).addClass('over open');
  $(this).next().show();
});
$("#navbar > ul > li > a").mouseout(function(){
  var a = $(this);
  a.removeClass('over');
  setTimeout(function(){
    if (a.hasClass('over') || a.next().hasClass('over')) return;
    a.removeClass('open');
    a.next().hide();
    }, 1000);
});
$("#navbar > ul > li > div.dropdown").mouseover(function(){
  $(this).addClass('over');
});
$("#navbar > ul > li > div.dropdown").mouseout(function(){
  var a = $(this);
  a.removeClass('over');
  setTimeout(function(){
    if (a.hasClass('over') || a.prev().hasClass('over')) return;
    a.prev().removeClass('open');
    a.hide();
    }, 1000);
});
</script>

]]></content:encoded>
			<wfw:commentRss>https://rommelsantor.com/clog/2010/04/24/dynamic-drop-down-navigation-menu-like-wired-com/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
