Menu Drop Down dengan jQuery dan CSS

CSS, jQuery, Tutorial - 06 Jul 2012

Pada tutorial ini, kita akan mencoba merancang sebuah menu drop down sederhana menggunakan HTML, CSS dan jQuery.

Drop Down Menu

Langkah 1

Buatlah list menu menggunakan unoerdered list seperti contoh berikut.

<div class="dropdown">
<a class="akun" ><span>Akun</span></a>

<div class="submenu" style="display: none; ">
<ul class="root">
<li ><a href="#Beranda" >Beranda</a></li>
<li ><a href="#Profil" >Profil</a></li>
<li ><a href="#Pengaturan">Pengaturan</a></li>
<li><a href="#keluar">Keluar</a></li>
</ul>
</div>
</div>

Langkah 2

Kemudian, tambahkan kode Javascript seperti contoh berikut.

<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" >
$(document).ready(function()
{
$(".akun").click(function()
{
var X=$(this).attr('id');
if(X==1)
{
$(".submenu").hide();
$(this).attr('id', '0');   
}
else
{
$(".submenu").show();
$(this).attr('id', '1');
}  
});
$(".submenu").mouseup(function()
{
return false
});
$(".akun").mouseup(function()
{
return false
});
$(document).mouseup(function()
{
$(".submenu").hide();
$(".akun").attr('id', '');
});   
});
</script>

Langkah 3

Terakhir, tambahkan kode CSS untuk memberikan style pada menu tersebut.

body
{
background-color:#e4e8ec;
font-family:arial;
}
div.dropdown {
color: #555;
margin: 3px auto 0 auto;
width: 100px;
position: relative;
height: 17px;
text-align:left;
}
div.submenu
{
background: #fff;
position: absolute;
top: -12px;
left: -20px;
z-index: 100;
width: 135px;
display: none;
margin-left: 10px;
padding: 40px 0 5px;
border-radius: 6px;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.45);
}
.dropdown  li a {
color: #555555;
display: block;
font-family: arial;
font-weight: bold;
padding: 6px 15px;
cursor: pointer;
text-decoration:none;
}
.dropdown li a:hover{
background:#155FB0;
color: #FFFFFF;
text-decoration: none;
}
a.akun {
font-size: 11px;
line-height: 16px;
color: #555;
position: absolute;
z-index: 110;
display: block;
padding: 11px 0 0 20px;
height: 28px;
width: 121px;
margin: -11px 0 0 -10px;
text-decoration: none;
background: url(icons/arrow.png) 116px 17px no-repeat;
cursor:pointer;
}
.root
{
list-style:none;
margin:0px;
padding:0px;
font-size: 11px;
padding: 11px 0 0 0px;
border-top:1px solid #dedede;
}