Multi Level Drop Down Menu Using Jquery
Multi Level Drop Down Menu Using Jquery
CSS
ul#menu
{
margin:0;
padding:0;
}
ul#menu > li
{
list-style:none;
float:left;
margin:0;
padding:0;
position:relative;
}
ul#menu a
{
text-decoration:none;
color:#fff;
background:red;
display:block;
padding:10px;
}
ul#menu > li ul.drop
{
margin:0;
padding:0;
width:150px;
position:absolute;
display:none;
}
ul#menu > li ul.drop ul
{
margin:0;
padding:0;
width:150px;
position:absolute;
display:none;
left:150px;
top:0;
}
ul#menu > li ul li
{
margin:0;
padding:0;
list-style:none;
position:relative;
}
JavaScript
$(document).ready(function () {
var data = [{ 'Name': 'Home', 'Url': '#', 'SubMenu': [{ 'Name': 'Home1', 'Url': '#' }, { 'Name': 'Home2', 'Url': '#' }, { 'Name': 'Home3', 'Url': '#' }, { 'Name': 'Home4', 'Url': '#' }, ] }, { 'Name': 'AboutUs', 'Url': '#', 'SubMenu': [{ 'Name': 'AboutUs1', 'Url': '#' }, { 'Name': 'AboutUs2', 'Url': '#' }, { 'Name': 'AboutUs3', 'Url': '#' }, { 'Name': 'AboutUs4', 'Url': '#' }, ]}];
if (data.length > 0) {
$('body').prepend('<ul id="menu"><ul>');
$.each(data, function (i, entity) {
var liHtml = [];
liHtml.push('<li><a href="' + entity.Url + '">' + entity.Name + '</a>');
if (entity.SubMenu.length > 0) {
liHtml.push('<ul class="drop">');
$.each(entity.SubMenu, function (i, subEntity) {
liHtml.push('<li><a href="' + subEntity.Url + '">' + subEntity.Name + '</a>');
});
liHtml.push('</ul>');
}
liHtml.push('</li>');
$('ul#menu').append(liHtml.join(''));
});
}
$('ul#menu > li').click(function () {
//$('#drop' , this).css('display','block');
$('.drop', this).delay(20).slideDown(200);
}, function () {
$('.drop', this).delay(20).slideUp(200);
});
});