From 8c7441319b5e3ae55a341bcfb75c2b25cd9c72bd Mon Sep 17 00:00:00 2001 From: David Farning Date: Tue, 03 Mar 2009 23:54:43 +0000 Subject: initial commit --- (limited to 'scripts/menu.js') diff --git a/scripts/menu.js b/scripts/menu.js new file mode 100644 index 0000000..6d33bc6 --- /dev/null +++ b/scripts/menu.js @@ -0,0 +1,54 @@ +// JavaScript Document + +// DropDownMenu by Miha Hribar +// http://hribar.info + +function addLoadEvent(func) { + var oldonload = window.onload; + if (typeof window.onload != 'function') { + window.onload = func; + } else { + window.onload = function() { + oldonload(); + func(); + } + } +} + +function prepareMenu() { + // first lets make sure the browser understands the DOM methods we will be using + if (!document.getElementsByTagName) return false; + if (!document.getElementById) return false; + + // lets make sure the element exists + if (!document.getElementById("menu")) return false; + var menu = document.getElementById("menu"); + + // for each of the li on the root level check if the element has any children + // if so append a function that makes the element appear when hovered over + var root_li = menu.getElementsByTagName("li"); + for (var i = 0; i < root_li.length; i++) { + var li = root_li[i]; + // search for children + var child_ul = li.getElementsByTagName("ul"); + if (child_ul.length >= 1) { + // we have children - append hover function to the parent + li.onmouseover = function () { + if (!this.getElementsByTagName("ul")) return false; + var ul = this.getElementsByTagName("ul"); + ul[0].style.display = "block"; + return true; + } + li.onmouseout = function () { + if (!this.getElementsByTagName("ul")) return false; + var ul = this.getElementsByTagName("ul"); + ul[0].style.display = "none"; + return true; + } + } + } + + return true; +} + +addLoadEvent(prepareMenu); \ No newline at end of file -- cgit v0.9.1