Template:Paris2009 menu6

From 2009.igem.org

(Difference between revisions)
Line 165: Line 165:
if(document.createElement) window.onload = initMenu;
if(document.createElement) window.onload = initMenu;
-
//-->
 
</script>
</script>
-
 
-
<script type="text/javascript">
 
-
 
-
/* This script and many more are available free online at
 
-
The JavaScript Source :: http://javascript.internet.com
 
-
Created by: Travis Beckham :: http://www.squidfingers.com | http://www.podlob.com */
 
-
 
-
/* Coded by Travis Beckham
 
-
  http://www.squidfingers.com | http://www.podlob.com
 
-
  version date: 06/02/03
 
-
  If want to use this code, feel free to do so, but please leave this message intact. */
 
-
 
-
// Node Functions
 
-
 
-
if(!window.Node){
 
-
  var Node = {ELEMENT_NODE : 1, TEXT_NODE : 3};
 
-
}
 
-
 
-
function checkNode(node, filter){
 
-
  return (filter == null || node.nodeType == Node[filter] || node.nodeName.toUpperCase() == filter.toUpperCase());
 
-
}
 
-
 
-
function getChildren(node, filter){
 
-
  var result = new Array();
 
-
  var children = node.childNodes;
 
-
  for(var i = 0; i < children.length; i++){
 
-
    if(checkNode(children[i], filter)) result[result.length] = children[i];
 
-
  }
 
-
  return result;
 
-
}
 
-
 
-
function getChildrenByElement(node){
 
-
  return getChildren(node, "ELEMENT_NODE");
 
-
}
 
-
 
-
function getFirstChild(node, filter){
 
-
  var child;
 
-
  var children = node.childNodes;
 
-
  for(var i = 0; i < children.length; i++){
 
-
    child = children[i];
 
-
    if(checkNode(child, filter)) return child;
 
-
  }
 
-
  return null;
 
-
}
 
-
 
-
function getFirstChildByText(node){
 
-
  return getFirstChild(node, "TEXT_NODE");
 
-
}
 
-
 
-
function getNextSibling(node, filter){
 
-
  for(var sibling = node.nextSibling; sibling != null; sibling = sibling.nextSibling){
 
-
    if(checkNode(sibling, filter)) return sibling;
 
-
  }
 
-
  return null;
 
-
}
 
-
function getNextSiblingByElement(node){
 
-
        return getNextSibling(node, "ELEMENT_NODE");
 
-
}
 
-
 
-
// Menu Functions & Properties
 
-
 
-
var activeMenu = null;
 
-
 
-
function showMenu() {
 
-
  if(activeMenu){
 
-
    activeMenu.className = "";
 
-
    getNextSiblingByElement(activeMenu).style.display = "none";
 
-
  }
 
-
  if(this == activeMenu){
 
-
    activeMenu = null;
 
-
  } else {
 
-
    this.className = "active";
 
-
    getNextSiblingByElement(this).style.display = "block";
 
-
    activeMenu = this;
 
-
  }
 
-
  return false;
 
-
}
 
-
 
-
function initMenu(){
 
-
  var menus, menu, text, a, i;
 
-
  menus = getChildrenByElement(document.getElementById("menu"));
 
-
  for(i = 0; i < menus.length; i++){
 
-
    menu = menus[i];
 
-
    text = getFirstChildByText(menu);
 
-
    a = document.createElement("a");
 
-
    menu.replaceChild(a, text);
 
-
    a.appendChild(text);
 
-
    a.href = "#";
 
-
    a.onclick = showMenu;
 
-
    a.onfocus = showMenu;
 
-
  }
 
-
}
 
-
 
-
if(document.createElement) window.onload = initMenu;
 
-
 
-
</script>
 
-
/*a.onfocus = function(){this.blur()};*/
 
</head>
</head>
<body><table><tr><td>
<body><table><tr><td>

Revision as of 15:30, 6 October 2009