Returned to fix himself :) jQuery Rocks! So, after the crash, the course here is the same in jQuery ...
var menu = { selectedClass : 'selected', animateSpeed : 'fast', selectedLinks : [], init : function(menuId, selectedLinks) { $('#' + menuId).children('li').each(function(){ var menuItem = $(this); var menuLink = menuItem.children('a:first-child'); var subMenu = menuItem.children('ul:last-child'); menu.selectedLinks = selectedLinks; menu.applySelectedClass(menuLink); if (subMenu.length == 1) { menuItem.hover( function(){menuLink.addClass(menu.selectedClass); subMenu.slideDown(menu.animateSpeed)}, function(){subMenu.slideUp(menu.animateSpeed); menu.applySelectedClass(menuLink)} ); subMenu.find('a').each(function(){menu.applySelectedClass($(this))}); } }); }, applySelectedClass : function(menuLink) { ($.inArray(menuLink.html(), menu.selectedLinks) > -1) ? menuLink.addClass(menu.selectedClass) : menuLink.removeClass(menu.selectedClass); } }
And here's the css in case someone wants to use it ...
.menuItems, .menuItems li, .menuItems li ul, .menuItems li ul li { padding: 0; margin: 0; } .menuItems, .menuItems li ul { list-style: none; } .menuItems { background: url(/shared/images/menu/menu_button_bg.png) repeat-x; height: 30px; } .menuItems:after { content: "."; height: 0; clear: both; display: none; } .menuItems li { width: 80px; float: left; } .menuItems li a { color: #0d2a86; font-size: 14px; font-weight: bold; text-decoration: none; text-align: center; height: 24px; padding-top: 6px; border-right: 1px solid #f3f3f3; display: block; } .menuItems li a:hover, .menuItems li .selected { background: url(/shared/images/menu/menu_button_bg_selected.png) repeat-x; color: #518ed3; } .menuItems li ul { position: absolute; z-index: 100; border: 1px solid #e0e7ef; border-top: 0; display: none; } .menuItems li ul li { width: 77px; clear: both; } .menuItems li ul li a { background: #f3f3f3; font-size: 12px; font-weight: normal; height: 18px; padding: 0; padding-top: 2px; border: 0; } .menuItems li ul li a:hover, .menuItems li ul li .selected { background: #e0e7ef; } .visible { display: block; } .hidden { display: none; }
source share