Index: admin_menu.js =================================================================== --- admin_menu.js (revision 379) +++ admin_menu.js (working copy) @@ -40,11 +40,21 @@ $('> ul', this).css({left: 'auto', display: 'block'}) // Immediately hide nephew lists. .parent().siblings('li').children('ul').css({left: '-999em', display: 'none'}); + // Unfix the menu if it's fixed. + if (Drupal.settings.admin_menu.position_fixed) { + $('#admin-menu').css('top', $('#admin-menu').offset().top + 'px'); + $('#admin-menu').css('position', 'absolute'); + } }, function() { // Start the timer. var uls = $('> ul', this); this.sfTimer = setTimeout(function() { uls.css({left: '-999em', display: 'none'}); + // Fix the menu back if it's supposed to be. + if (Drupal.settings.admin_menu.position_fixed && $('#admin-menu > ul > li > ul:not(:hidden)').length == 0) { + $('#admin-menu').css('position', 'fixed'); + $('#admin-menu').css('top', '0px'); + } }, 400); }); });