Zum Inhalt springen

Layer-Menü bleibt nach onMouseOut ausgeklappt

Erstellt am 5. Februar 2009 · 2 Antworten · letzte Antwort am 27. August 2009

Tags: JavaScript & AJAX, Frage

intensivstation ·

Ich weiss nicht, ob das Problem schon immer da war, aber meine Layer-Menüs bleiben nach dem onMouseOut ausgeklappt (wenn man zu einem anderen Menüpunkt wechselt, nicht immer).
Das soll natürlich nicht so sein. Die 2. und 3. Ebene soll wieder unsichtbar werden.
Das 1. was mir aufgefallen ist: es gibt einen JavaScript-Fehler. Und zwar folgenden:

T3_onloadWrapper is not defined

Ich habe etwas gegoogled und nehme nun an, dass diese Funktion durchaus für das Layer-Menü von Bedeutung sein könnte.
Frage: wieso wird diese JavaScript-Funktion nicht eingebunden, wenn sie doch benötigt wird?
Wo befindet sie sich?
Falls es doch nicht daran liegen sollte, so sieht ein Code aus:

subparts.HAUPT = HMENU
subparts.HAUPT {
  excludeUidList = 2
  1 = TMENU_LAYERS
  1 {
      layerStyle = position:absolute; visibility:hidden;
      lockPosition = y
      yPosOffset = 20
      relativeToTriggerItem = 1
      freezeMouseover = 1
      hideMenuWhenNotOver = 20
      leftOffset = 110
      topOffset = 16
      noBlur = 1
      expAll = 1
      wrap = |
      NO {
      allWrap = <tr><td>|</td></tr>
      ATagParams = class="level1"
      }
      ACT < .NO
      ACT=1
      ACT.ATagParams = class="level1act"
      CUR < .ACT
      CUR=1
  }
}
subparts.HAUPT.2 = TMENU
subparts.HAUPT.2 {
      noBlur = 1
      wrap = <table cellpadding="0" cellspacing="0" class="layer">|</table>
       NO {
      allWrap = <tr><td>|</td></tr>
      }
}

Oder liegt es vielleicht daran, dass 2 Layer-Menüs auf der Website benutzt werden?
Halte ich allerdings für unwahrscheinlich, da nur die o.g. JS-Fehlermeldung erscheint und die Menüs ja IDs haben.

intensivstation ·

Also ich habe das Problem gelöst. Es lag tatsächlich an fehlendem JavaScript-Code.
Schuld daran war dieses Typoscript:

config.removeDefaultJS = 1

Keine Ahnung wie das rein kam...

intensivstation ·

Also das wars noch nicht ganz gewesen. Aber das hier war auch Schuld:

hideMenuWhenNotOver = 20

Stattdessen muss es so heissen:

hideMenuWhenNotOver = 1
hideMenuTimer=200