dropdown menu
prototype
by Seungrae Lee
HTML
<ul class="nav navbar-nav topNav">
<li class="dropdown">
<a title="menu3" href="#">
menu3
</a>
</li>
<li class="dropdown">
<a title="menu2" href="#">
menu2
</a>
</li>
<li>
<a title="menu1" href="#" id="menu1">
menu1
<span class="caret"></span>
</a>
<ul class="dropdown-menu" id="submenu1">
<li>
<a href="#">list1</a>
</li>
<li>
<a href="#">list2</a>
</li>
</ul>
</li>
</ul>
CSS
a {
background-color: transparent;
text-decoration: none;
}
.nav {
padding-left: 0;
list-style: none;
}
.navbar-nav {
float: left;
margin: 0;
}
.navbar-nav > li {
float: left;
}
.nav > li {
position: relative;
display: block;
}
.navbar-nav > li > a {
color: #777;
text-shadow: 0px 1px 0px rgba(255, 255, 255, 0.25);
padding-top: 7.5px;
padding-bottom: 7.5px;
line-height: 20px;
}
.topNav > li > a {
border-right: 1px dotted #aaa;
letter-spacing: -1.2px;
}
.nav > li > a {
padding-left: 6px;
padding-right: 6px;
position: relative;
display: block;
}
.caret {
display: inline-block;
width: 0px;
height: 0px;
margin-left: 2px;
vertical-align: middle;
border-top: 4px solid;
border-right: 4px solid transparent;
border-left: 4px solid transparent;
}
.dropdown-menu {
position: absolute;
top: 100%;
left: 0;
z-index: 1000;
display: none;
float: left;
min-width: 160px;
padding: 5px 0;
margin: 2px 0 0;
font-size: 14px;
text-align: left;
list-style: none;
background-color: #fff;
-webkit-background-clip: padding-box;
background-clip: padding-box;
border: 1px solid #ccc;
border: 1px solid rgba(0, 0, 0, 0.15);
border-radius: 4px;
-webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
}
.dropdown-menu > li > a {
display: block;
padding: 3px 20px;
clear: both;
font-weight: normal;
line-height: 1.43;
color: #333;
white-space: nowrap;
}
.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus {
color: white;
text-decoration: none;
background-color: #0081C2;
}
JavaScript
$('menu1').observe('click', function() {
var visible = $('submenu1').getStyle('display');
if (visible == 'none') {
$('submenu1').setStyle({
display: 'block'
});
} else {
$('submenu1').setStyle({
display: 'none'
});
}
});
$('menu1').observe('blur', function(e) {
if (e.relatedTarget === null) {
$('submenu1').setStyle({
display: 'none'
});
}
});