The following code displays a sub-menu when you hover over a menu item. Since its using a timer, if you don't select the sub-menu item fast enough, the sub-menu items disappear. I would rather have it highlite the menu option it is on and keep the sub-menu items until you hover over or click another main menu item:
$(document).ready(function(){ Nifty("#menu a","small top transparent"); Nifty("#outcontent","medium bottom transparent");
function hideSubMenu() {
$("#sub-menu-content").fadeOut('slow');
hideSubMenu.timeout = 0;
}
$('#menu a').hover(function() { //start function when any link is clicked
if (hideSubMenu.timeout) clearTimeout(hideSubMenu.timeout);
hideSubMenu.timeout = 0;
$("#sub-menu-content").hide();
var html = '<ul>' + $(this).next('ul.sub-menu').html() + '</ul> ';
$("#sub-menu-content").html(html); //show the html inside .content div
$("#sub-menu-content").fadeIn('fast'); //animation
},function(){
hideSubMenu.timeout = setTimeout(hideSubMenu, 800);
}); //close click(
$('#sub-menu-content').hover(function() {
if (hideSubMenu.timeout) clearTimeout(hideSubMenu.timeout);
hideSubMenu.timeout = 0;
},function(){
hideSubMenu.timeout = setTimeout(hideSubMenu, 800);
}); //close click(
}); //close $(
To see it in action:
http://cruisecontrolledmarketing.com/test/welcome/login user: member password: rebmem
Thank you!