Christian: Juhu, es klappt! Fehler lag bei JavaScript in der Fensterhöhenberechnung

Beitrag lesen

Hi,

Juhu es funktioniert im IE 5.x

Fehler war: Der IE 5.x hatte eingentlich fast alles richtig gemacht, nur hatte es im negativen Bereich positioniert.
Die Position berechne ich nämlich aus der Fenstergröße u.a. und irgendwie hat der IE diese auf 0 gesetzt.

Wisst ihr vielleicht woran es liegt?

Habe im <head> bereich eine Funktion, die die Fenstergröße ermittelt:

function getInnerHeight()
{
var iHeight = window.innerHeight;
if(browser.ie)
{
  iHeight = window.document.body.clientHeight;
}
return iHeight;
}

Und irgendwie scheint der das dann nicht mitzukriegen.

Schreibe ich im Menu-Skript direkt document.body.clientHeight statt getInnerHeight(), dann hat er die richtige Fensterhöhe.
Mit der Breite hab ich es analog gemacht, da gehts.

Idee? Liegts daran, dass die Höhe des Body 0 ist, weil ich nur absolute Elemente im <body> hab?

Alleine den potentielle Verlust eines Kunden deswegen finde ich schon nicht tragbar.

Naja, der Kunde soll sich mal nicht so anstellen, das Menu funktioniert ja prinzipiell.

Aber ne einfache Lösung wäre, einen Timer zu setzen, und beim mouseover erst nach einer kurzen Zeit das neue Untermenu aufzurufen.
Nein. Wie ich sehe, hast Du das eingebaut. Funktioniert aber nicht, wenn die Maus auf dem Weg einen weiteren Menüpunkt der aktuellen Ebene überfährt.

Ich hatte es nicht eingebaut, jetzt aber! Ist nur noch nicht ganz optimal... hab ich nur schnell gemacht, um zu zeigen das es geht:
< http://www.abi01-wrg.de/menu/menu.html>

Erst nach 1 Sek wird das Untermenu gestartet.

Ich schon. Davon abgesehen ist Dein Menü so winzig, daß viele ihre Schrift vergrößern müssen. Und dann wird es auch unbrauchbar.

Also die Schriftgröße und so lässt sich ja nun wirklich mit Leichtigkeit schnell anpassen (Im Skript). Das solltest du doch wissen.
Das sind Sachen, die nicht zur Grundfunktionalität gehören. Erstmal muss das Menu funktionieren, dann kann ich mich um die Feinheiten kümmern.

Gruß
Christian