Skip to content

Instantly share code, notes, and snippets.

@jonatassalgado
Created January 26, 2015 01:51
Show Gist options
  • Save jonatassalgado/505590a0709abb7e99ec to your computer and use it in GitHub Desktop.
Save jonatassalgado/505590a0709abb7e99ec to your computer and use it in GitHub Desktop.
Simple menu 3
<ul class="menubar">
<li class="menubar-item">
<a class="menubar-item-target" href="#">File</a>
<ul class="menu">
<li class="menu-item"><a class="menu-item-target" href="#">Open</a></li>
<li class="menu-item"><a class="menu-item-target" href="#">Save</a></li>
<li class="menu-item"><a class="menu-item-target" href="#">Save as&#8230;</a></li>
<li class="menu-item"><a class="menu-item-target" href="#">Close</a></li>
<li class="menu-separator"></li>
<li class="menu-item"><a class="menu-item-target" href="#">Exit</a></li>
</ul>
</li>
<li class="menubar-item">
<a class="menubar-item-target" href="#">Edit</a>
<ul class="menu">
<li class="menu-item"><a class="menu-item-target" href="#">Cut</a></li>
<li class="menu-item"><a class="menu-item-target" href="#">Copy</a></li>
<li class="menu-item"><a class="menu-item-target" href="#">Paste</a></li>
</ul>
</li>
<li class="menubar-item">
<a class="menubar-item-target" href="#">Help</a>
<ul class="menu">
<li class="menu-item"><a class="menu-item-target" href="#">About</a></li>
</ul>
</li>
</ul>
var Menubar = {};
Menubar.active = false;
Menubar.open = function(el) {
var menubar = $(el).closest('.menubar')
, item = $(el).closest('.menubar-item')
, menu = item.find('.menu').first()
;
Menubar.active = true;
item.addClass('is-selected')
item.siblings().removeClass('is-selected');
};
Menubar.close = function() {
$('.menubar-item.is-selected').removeClass('is-selected');
Menubar.active = false;
};
$('.menubar-item').on('click', function(e) {
if (!Menubar.active) {
Menubar.open(this);
e.stopPropagation(); // Keep document.click from firing
}
});
$('.menubar-item').on('mouseenter', function() {
if (Menubar.active) { Menubar.open(this); }
});
$(document).on('click', function() {
Menubar.close();
});
@import "compass/css3";
@import "compass";
@include global-reset;
body {
font-family: sans-serif;
font-weight: 100;
background: #eee;
}
.menubar {
background: white;
@include box-shadow(rgba(black, 0.2) 0 1px 1px);
list-style: none;
font-size: 14px;
padding: 0 10px;
}
.menubar-item {
display: inline-block;
position: relative;
}
.menubar-item-target {
color: black;
display: block;
padding: 10px 14px;
text-decoration: none;
&:hover, .is-selected & {
background: #29a7f5;
color: white;
}
}
.menu {
@include box-shadow(rgba(black, 0.5) 0 5px 15px);
@include border-radius(3px);
@include border-top-left-radius(0);
display: none;
position: absolute;
top: 100%;
background: white;
list-style: none;
width: 15em;
padding: 10px 0;
.is-selected & { display: block; }
}
.menu-item-target {
color: black;
display: block;
padding: 8px 20px;
text-decoration: none;
&:hover {
background: #29a7f5;
color: white;
}
}
.menu-separator {
border-top: 1px solid #ddd;
margin: 8px;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment