Poldi: Timeout löschen?#

Hi!

Eine wirklich blöde Frage: Kann man einen gesetzten Timeout auch wieder löschen, bevor er auftritt?

Folgendes Problem habe ich nämlich: Es geht um aufpoppende Untermenüs. Wenn man also mit der Maus
über einen Menüpunkt fährt, so erscheint das Untermenü. Fährt man zum nächsten Menüpunkt verschindet das erste Untermenü und das nächste erscheint. Kennt man ja ...
Wenn ich nun mit "onMouseout" das Untermenü wieder verschwinden lasse, dann kann man nie etwas auswählen, weil es ja immer wieder verschwindet sobald man von dem Button runtergeht, der es ausgelöst hat. Also lasse ich erst verschwinden, wenn der User über den nächsten Button streicht oder wenn im Untermenü etwas angeklickt wird. Tut der User aber keines von beiden, dann bleibt das Untermenü stehen bis zum jüngsten Tag. Um das zu verhindern setze ich einen Timeout von ca 4000 (4 Sekunden), nachdem die Funktion zum Schließen des Menüs wieder aufgerufen wird. Das klappt auch, macht aber neue Probleme: Öffnet sich ein Menü und der User geht nach 3 Sekunden zum nächsten Menü, dann klappt das erste Menü zu, aber der Timeout kommt nach einer Sekunde und klappt das neue Menü gleich wieder zu, nachdem es geöffnet wurde. Hier wäre es praktisch, den gesetzten Timeout einfach wieder löschen zu können. Wenn das nicht geht muss ich mir wohl was anderes einfallen lassen, oder hat vieleicht jemand eine Idee ..?

Vielen Dank im Voraus und Grüße

Poldi.

  1. <../../tecb.htm#a23>

    1. DANKE!

      ... da hätte ich auch wirklich selber draufkommen können. Sorry ...

      Grüße

      Poldi.

  2. Hi Poldi,
    ich habe in meinem Menü folgende Funktionen zum Laden von Bullets und zum gleichzeitigen Aktivieren zweier Frames (Navigation und Inhalt).

    ....
    <script language="JavaScript">
    function imgOn(img_name,img_src){document[img_name].src=img_src;}

    function imgOff(img_name,img_src){document[img_name].src=img_src;}

    function load(i){if(i=="0"){href="main_navi.htm";}
            else if(i==1){href="testframe.htm";}
            parent.verweise.location=href;
            }
    </script>

    <tr><td>
    <A href="link.htm" target="main" onclick="load(1)" onMouseOver="imgOn('img1', 'gif/bulletover.gif');{window.status=''; return true;}"
    onMouseOut="imgOff('img1', 'gif/bullet.gif');{window.status=''; return true;}"><font face="Arial" size="2"><b>Menüpunkt1</b></font></A>
    </td>
    </tr>

    Gruß Andreas

  3. Hallo Poldi!

    Hatte auch mal ein ähnliches Problem, hab es so gelöst:

    Nun, unter den Hauptlinks (wo sich die Untermenüs öffnen) hab ich einen Layer gelegt. Für den Layer hab ich ein onmouseover definiert. Sobald man vom Untermenü runtergeht und den Layer berührt, wird die Schließfunktion ausgelöst und das Menü verschwindet.

    Gruß, Jan

    PS: Auf http://www.bits.co.at/webtrader/ kannst Dir das Menü anschauen, läuft sowohl auf IE als auch auf NS.