maren: Pulldown Menu

Beitrag lesen

Hallo, bitte dringend um Hilfe!!

Ich benötige für eine Seite ein Pulldown Menu und habe nach einigen Recherchen auch eines gefunden, das ich einsetzen kann. Problem hierbei: Das Script ist so ausgelegt, dass jeder Menüpunkt Unterpunkte hat. Das ist aber bei meiner Site nicht der Fall, d.h. es kommt höchstens in zwei Fällen vor. Die anderen Menüpunkte sind ohne pulldown.

Bei folgender Programmierung bekomme ich aber immer Fehlermeldungen, wenn ich mit der Maus über die Menüpunkte ohne Pulldown fahre. Wer kennt die Lösung?

Vielen Dank Maren

<html> <head> <style> all.clsMenuItemNS, .clsMenuItemIE{text-decoration: none; font: normal 10pt Arial; color: 333399; cursor: hand; z-index:100} #MainTable A:hover {color: CC0033;} </style>

<script language="JavaScript">

//Top Nav Bar I v2- By Constantin Kuznetsov Jr. (script@esolutiononline.com)

var keepstatic=1 //specify whether menu should stay static 0=non static (works only in IE4+) var menucolor="#B3B8BB" //specify menu color var submenuwidth=250 //specify sub menus' color

</script>

<title>Welcome to Homepage</title> </head>

<body marginwidth="0" marginheight="0" leftmargin="0" topmargin="0">

<script language="JavaScript"> if (document.all)    {n=0;ie=1;ns6=0;fShow="visible";fHide="hidden";} if (document.getElementById&&!document.all)    {n=0;ie=0;ns6=1;fShow="visible";fHide="hidden";} if (document.layers) {n=1;ie=0;ns6=0;fShow="show";fHide="hide";}

//Top Nav bar script v2- http://www.dynamicdrive.com/dynamicindex1/sm/index.htm

opr6=ie&&navigator.userAgent.indexOf("Opera")!=-1

//window.onerror=new Function("return true") //////////////////////////////////////////////////////////////////////////// // Function Menu()                                                        // //////////////////////////////////////////////////////////////////////////// rightX = 0; function Menu() {  this.bgColor     = menucolor;  if (ie) this.menuFont = "normal 10pt Arial";  if (n)  this.menuFont = "normal 10pt Arial";  this.fontColor   = "333399";

this.addItem    = addItem;  this.addSubItem = addSubItem;  this.showMenu   = showMenu;  this.mainPaneBorder = 0;  this.subMenuPaneBorder = 0;

this.subMenuPaneWidth = submenuwidth;

lastMenu = null;

rightY = 0;  leftY = 0;  leftX = 0;

HTMLstr = "";  HTMLstr += "<!-- MENU PANE DECLARATION BEGINS -->\n";  HTMLstr += "\n";  if (ie||ns6) HTMLstr += "<div id='MainTable' style='position:relative;top:0'>\n"; // if (n)  HTMLstr += "<layer name='MainTable'>\n";  HTMLstr += "<table width='493' bgcolor='"+this.bgColor+"' border='"+this.mainPaneBorder+"'>\n";  HTMLstr += "<tr>";  if (n) HTMLstr += "<td> ";  HTMLstr += "<!-- MAIN MENU STARTS -->\n";  HTMLstr += "<!-- MAIN_MENU -->\n";  HTMLstr += "<!-- MAIN MENU ENDS -->\n";  if (n) HTMLstr += "</td>";  HTMLstr += "</tr>\n";  HTMLstr += "</table>\n";  HTMLstr += "\n";  HTMLstr += "<!-- SUB MENU STARTS -->\n";  HTMLstr += "<!-- SUB_MENU -->\n";  HTMLstr += "<!-- SUB MENU ENDS -->\n";  HTMLstr += "\n";  if (ie||ns6) HTMLstr+= "</div>\n"; // if (n)  HTMLstr+= "</layer>\n";  HTMLstr += "<!-- MENU PANE DECALARATION ENDS -->\n"; }

function addItem(idItem, text, hint, location, altLocation) {  var Lookup = "<!-- ITEM "+idItem+" -->";  if (HTMLstr.indexOf(Lookup) != -1)  {   alert(idParent + " already exist");   return;  }  var MENUitem = "";  MENUitem += "\n<!-- ITEM "+idItem+" -->\n";  if (n)  {   MENUitem += "<ilayer name="+idItem+">";   MENUitem += "<a href='.' class=clsMenuItemNS onmouseover="displaySubMenu('"+idItem+"')" onclick="return false;">";   MENUitem += "| ";   MENUitem += text;   MENUitem += "</a>";   MENUitem += "</ilayer>";  }  if (ie||ns6)  {   MENUitem += "<td>\n";   MENUitem += "<div id='"+idItem+"' style='position:relative; font: "+this.menuFont+";'>\n";   MENUitem += "<a ";   MENUitem += "class=clsMenuItemIE "; //  MENUitem += "style='text-decoration: none; font: "+this.menuFont+"; color: "+this.fontColor+"; cursor: hand;' ";   if (hint != null)    MENUitem += "title='"+hint+"' ";   if (location != null)   {    MENUitem += "href='"+location+"' ";    MENUitem += "onmouseover="hideAll()" ";   }   else   {    if (altLocation != null)     MENUitem += "href='"+altLocation+"' ";    else     MENUitem += "href='.' ";    MENUitem += "onmouseover="displaySubMenu('"+idItem+"')" ";    MENUitem += "onclick="return false;" "   }   MENUitem += ">";   MENUitem += "| \n";   MENUitem += text;   MENUitem += "</a>\n";   MENUitem += "</div>\n";   MENUitem += "</td>\n";  }  MENUitem += "<!-- END OF ITEM "+idItem+" -->\n\n";  MENUitem += "<!-- MAIN_MENU -->\n";

HTMLstr = HTMLstr.replace("<!-- MAIN_MENU -->\n", MENUitem); }

function addSubItem(idParent, text, hint, location) {  var MENUitem = "";  Lookup = "<!-- ITEM "+idParent+" -->";  if (HTMLstr.indexOf(Lookup) == -1)  {   alert(idParent + " not found");   return;  }  Lookup = "<!-- NEXT ITEM OF SUB MENU "+ idParent +" -->";  if (HTMLstr.indexOf(Lookup) == -1)  {   if (n)   {    MENUitem += "\n";    MENUitem += "<layer id='"+idParent+"submenu' visibility=hide bgcolor='"+this.bgColor+"'>\n";    MENUitem += "<table border='"+this.subMenuPaneBorder+"' bgcolor='"+this.bgColor+"' width="+this.subMenuPaneWidth+">\n";    MENUitem += "<!-- NEXT ITEM OF SUB MENU "+ idParent +" -->\n";    MENUitem += "</table>\n";    MENUitem += "</layer>\n";    MENUitem += "\n";   }   if (ie||ns6)   {    MENUitem += "\n";    MENUitem += "<div id='"+idParent+"submenu' onmouseout=operahide() style='position:absolute; visibility: hidden; z-index:100; width: "+this.subMenuPaneWidth+"; font: "+this.menuFont+"; top: -300;'>\n";    MENUitem += "<table border='"+this.subMenuPaneBorder+"' bgcolor='"+this.bgColor+"' width="+this.subMenuPaneWidth+">\n";    MENUitem += "<!-- NEXT ITEM OF SUB MENU "+ idParent +" -->\n";    MENUitem += "</table>\n";    MENUitem += "</div>\n";    MENUitem += "\n";   }   MENUitem += "<!-- SUB_MENU -->\n";   HTMLstr = HTMLstr.replace("<!-- SUB_MENU -->\n", MENUitem);  }

Lookup = "<!-- NEXT ITEM OF SUB MENU "+ idParent +" -->\n";  if (n)  MENUitem = "<tr><td><a class=clsMenuItemNS title='"+hint+"' href='"+location+"'>"+text+"</a><br></td></tr>\n";  if (ie||ns6) MENUitem = "<tr><td><a class=clsMenuItemIE title='"+hint+"' href='"+location+"'>"+text+"</a><br></td></tr>\n";  MENUitem += Lookup;  HTMLstr = HTMLstr.replace(Lookup, MENUitem);

}

function showMenu() {  document.writeln(HTMLstr); }

//////////////////////////////////////////////////////////////////////////// // Private declaration function displaySubMenu(idMainMenu) {  var menu;  var submenu;  if (n)  {   submenu = document.layers[idMainMenu+"submenu"];   if (lastMenu != null && lastMenu != submenu) hideAll();   submenu.left = document.layers[idMainMenu].pageX;   submenu.top  = document.layers[idMainMenu].pageY + 25;   submenu.visibility = fShow;

leftX  = document.layers[idMainMenu+"submenu"].left;   rightX = leftX + document.layers[idMainMenu+"submenu"].clip.width;   leftY  = document.layers[idMainMenu+"submenu"].top+    document.layers[idMainMenu+"submenu"].clip.height;   rightY = leftY;  } else if (ie||ns6) { //alert(document.getElementById(idMainMenu+"submenu").id)   menu = ie? eval(idMainMenu) : document.getElementById(idMainMenu);   submenu = ie? eval(idMainMenu+"submenu.style") : document.getElementById(idMainMenu+"submenu").style;   submenu.left = calculateSumOffset(menu, 'offsetLeft'); //  submenu.top  = calculateSumOffset(menu, 'offsetTop') + 30;   submenu.top  = menu.style.top+23;   submenu.visibility = fShow;   if (lastMenu != null && lastMenu != submenu) hideAll();

leftX  = ie? document.all[idMainMenu+"submenu"].style.posLeft : parseInt(document.getElementById(idMainMenu+"submenu").style.left);   rightX = ie? leftX + document.all[idMainMenu+"submenu"].offsetWidth : leftX+parseInt(document.getElementById(idMainMenu+"submenu").offsetWidth);

leftY  = ie? document.all[idMainMenu+"submenu"].style.posTop+    document.all[idMainMenu+"submenu"].offsetHeight : parseInt(document.getElementById(idMainMenu+"submenu").style.top)+parseInt(document.getElementById(idMainMenu+"submenu").offsetHeight);   rightY = leftY;  }  lastMenu = submenu; }

function hideAll() {  if (lastMenu != null) {lastMenu.visibility = fHide;lastMenu.left = 0;} }

function calculateSumOffset(idItem, offsetName) {  var totalOffset = 0;  var item = eval('idItem');  do  {   totalOffset += eval('item.'+offsetName);   item = eval('item.offsetParent');  } while (item != null);  return totalOffset; }

function updateIt(e) {  if (ie&&!opr6)  {   var x = window.event.clientX;   var y = window.event.clientY;

if (x > rightX || x < leftX) hideAll();   else if (y > rightY) hideAll();  }  if (n||ns6)  {   var x = e.pageX;   var y = e.pageY;

if (x > rightX || x < leftX) hideAll();   else if (y > rightY) hideAll();  } }

function operahide(){         if (opr6){         if (!MainTable.contains(event.toElement))         hideAll() } }

if (ie||ns6) {  document.body.onclick=hideAll;  document.body.onscroll=hideAll;  document.body.onmousemove=updateIt; } if (document.layers) {  window.captureEvents(Event.MOUSEMOVE);  window.captureEvents(Event.CLICK);  window.onmousemove=updateIt;  window.onclick=hideAll; }

</script> <script language="JavaScript">

function showToolbar() { // AddItem(id, text, hint, location, alternativeLocation); // AddSubItem(idParent, text, hint, location);

menu = new Menu();  menu.addItem("homeid", "Home", "Home",  null, null);  menu.addItem("erfolgid", "Erfolgsziele", "Erfolgsziele",  null, null);  menu.addItem("potenzid", "Potenziale", "Potenziale",  null, null);  menu.addItem("realisid", "Realisierung", "Realisierung",  null, null);  menu.addItem("innovid", "Innovationen", "Innovationen",  null, null);

menu.addSubItem("innovid", "Adaptronik im Massenmarkt Verkehrstechnik", "Adaptronik im Massenmarkt Verkehrstechnik",  "verkehr.htm");  menu.addSubItem("innovid", "Adaptronik stabilisiert Cabrios", "Adaptronik stabilisiert Cabrios",  "cabrio.htm");  menu.addSubItem("innovid", "Technologiepartner Maschinenbau", "Technologiepartner Maschinenbau", "maschine.htm");  menu.addSubItem("innovid", "Stop the noise", "Stop the noise",  "noise.htm");  menu.addSubItem("innovid", "Adaptronik für Medzintechnik", "Adaptronik für Medizintechnik");  menu.addSubItem("innovid", "Adaptronik mit Zukunftsperspektive", "Adaptronik mit Zukunftsperspektive");  menu.addSubItem("innovid", "Raumfahrt-Erkenntnisse", "Raumfahrt-Erkenntnisse");

menu.showMenu(); } </script> <script language="JavaScript"> showToolbar(); </script> <script language="JavaScript"> function UpdateIt(){ if (ie&&keepstatic&&!opr6) document.all["MainTable"].style.top = document.body.scrollTop; setTimeout("UpdateIt()", 200); } UpdateIt(); </script>