Sea-Bass: setTimeout in einem Frame, clearTimeout in einem anderen

Beitrag lesen

Hallo!

Ich habe folgendes Problem (es geht zunächt einmal nur um die Realisiertung im IE5):

Ich habe ein Frameset. Im Frame "oben" möchte ich gerne mit einem mouseover-Event ein kleines Menü im Frame "haupt" erscheinen lassen. Ich habe das mouseout-Event mit einem setTimeout versehen, so dass das Menü mit Verzögerung verschwindet.

Im "haupt"-Frame befindet sich mein <div id="navmenu">, welches per mouseover-Event das setTimeout stoppen soll, damit das Menü sichtbar bleibt. Allerdings befinden sich die beiden Frames sehr dicht zusammen, und wenn ich von meiner Grafik im "oben"-Frame auf das "navmenu" fahren, dann scheint es, als ob das mouseover-Event mit dem clearTimeout vom "navmenu" zuerst aufgerufen wird und danach erst das mouseout-Event mit meinem setTimeout. Daher kommt es, dass die setTimeout-Variable noch gar nicht bekannt ist bzw. das noch nicht gestartete setTimeout auch nicht unterbrochen werden kann. (Wenn ich einen großen Abstand zwischen der Grafik und dem "navmenu" lasse und ich langsam vom einen aufs andere fahre, dann funktioniert es.

Das ganze sieht übrigens ungefähr so aus (Überflüssiges weggelassen):

function Zu()
{
parent.haupt.document.all.navmenu.style.visibility="hidden";
}

function Auf()
{
parent.haupt.document.all.navmenu.style.visibility="visible";
}

function OpenMenu()
{
if (tm)
{
  parent.oben.clearTimeout(parent.oben.tm);
}
else { Auf(); }
}

function CloseMenu()
{  
tm = setTimeout("Zu()",500)
}

Für Hilfe bzw. Tips wäre ich sehr dankbar...