Javascript

Dieser Javascript-Text muss nach der Steuersequenz <?tcl dropdown ?> aufgerufen werden:

// Zählvariable
var i=0;
while (1) {
   i += 1;
   var menuhead = "menuhead" + i.toString();
   var menubody = "menubody" + i.toString();
   // properties
   if (document.all) {
      var menuheadstr = "document.all." + menuhead;
      var menubodystr = "document.all." + menubody;
   } else if (document.getElementById) {
      var menuheadstr="document.getElementById('"+menuhead+"')";
      var menubodystr="document.getElementById('"+menubody+"')";
   } else {
      break
   }
   // no more menuhead
   if (!(eval(menuheadstr))) {
      break;
   }
   // no menu body here
   if (!(eval(menubodystr))) {
      continue;
   }
   // local vars
   var hidefunc = new Function 
      (menubodystr + ".style.visibility = 'hidden'");
   var showfunc = new Function 
      (menubodystr + ".style.visibility = 'visible'");
   // events
   eval(menuheadstr).onmouseover = showfunc;
   eval(menuheadstr).onmouseout = hidefunc;
   eval(menubodystr).onmouseover = showfunc;
   eval(menubodystr).onmouseout = hidefunc;
}

Erläuterung:

Die Steuersequenz <?tcl dropdown ?> produziert Elemente <div> mit den IDs menuhead1, menubody1, menuhead2, ..., die das Javascript nun ermittelt, wobei menuhead1 usw. die „Schalter“ und menubody1 usw. die „Glühbirnen“ sind.

  1. // Zählvariable – das Javascript benutzt die Zählvariable i, um das HTML-Dokument nach Vorkommen von IDs der Form menuhead1 ... und menubody1 ... abzusuchen.
  2. // properties – je nach Fähigkeit des Interpreters wird das Objekt document.all oder die Methode document.getElementById verwendet.
  3. // no more menuhead – Wenn keine passende ID menuheadi gefunden wurde, hört die Wiederholschleife auf (break).
  4. // no menu body here – Wenn keine passende ID menubodyi gefunden wurde, dann gab es kein Untermenü, und es geht gleich in die nächste Runde (continue).
  5. // local vars – Andernfalls werden die Variablen showfunc und hidefunc mit anonymen Funktionen belegt, die für Zeigen und Verstecken von menubodyi zuständig sind;
  6. // events für menuheadi und menubodyi werden die Mausereignisse onmouseover und onmouseout so eingestellt, dass sie mit den Funktionen showfunc und hidefunc das Menü sichtbar oder unsichtbar machen.

No Software Patents

© Wolf Busch | Home | Inhalt | A-Z