/* FILE ARCHIVED ON 5:30:18 Oct 20, 2012 AND RETRIEVED FROM THE AN OPENWAYBACK INSTANCE ON 3:38:23 May 2, 2024. JAVASCRIPT APPENDED BY OPENWAYBACK, COPYRIGHT INTERNET ARCHIVE. ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C. SECTION 108(a)(3)). */ /** * Single Drop Down Menu * March 24, 2008 * Corey Hart @ https://cybercemetery.unt.edu/archive/oilspill/20121020053018/http://www.codenothing.com * * @timer: milliseconds to keep dropped menus open * @parentMO: CSS class to add/remove to parent list on mouseover/mouseout's * @childMO: CSS class to add/remove to child list on mouseover/mouseout's */ (function($){ // Define the function $.fn.singleDropMenu = function(options){ // Function Vars var timer; // ID of timeout set var menu; // ID of menu open // Default Settings var settings = $.extend({ timer: 500, currentSibling: false, parentMO: null, childContainer: "ul", childMO: null },options||{}); // Run Menu this.each(function(){ $('li', this).mouseover(function(){ // Clear any open menus closemenu(); // Open nested list if($('a', this).siblings(settings.childContainer).length > 0) { $(this).addClass(settings.parentMO); if(settings.currentSibling) { $(this).prev().addClass("siblingMO"); } } $('a', this).siblings(settings.childContainer).show(); }).mouseout(function(){ // Prevent auto close menu = this; childContainer = settings.childContainer; if($.browser.mozilla) $('a', this).siblings(settings.childContainer).hide(); timer = setTimeout(function(){closemenu()}, settings.timer); }); // Dropped Menu Highlighting $('li ul li', this).mouseover(function(){ $('a', this).addClass(settings.childMO); }).mouseout(function(){ $('a', this).removeClass(settings.childMO); }); }); // Closes any open menus when mouse click occurs anywhere else on the page $(document).click(function(){closemenu();}); //$(this).mouseout(function(){closemenu();}); // Function to close set menu var closemenu = function(){ if (menu && timer){ $('a', menu).siblings(childContainer).hide(); if(settings.currentSibling) { $(menu).prev().removeClass("siblingMO"); } $('a', menu).parent().removeClass(settings.parentMO); clearTimeout(timer); menu = ''; } } } })(jQuery); /* * */