carsten schlichting: window.setTimeout

hallo

habe mit javaScript verschiedene Funktionen geschrieben, die mit mouseover aktiviert werden und verschieden Dinge tun und auch super funktionieren.

Eine Schaltfläche soll bei einem mouseover allerdings eine kleine diashow  starten, die ich mit window.setTimeout realisiert habe. ungefähr so.

window.setTimeout("BiWetrsshvorab(1)",1800);
window.setTimeout("BiWetrsshvorab(2)",3600);
window.setTimeout("BiWetrsshvorab(3)",5400);
window.setTimeout("BiWetrsshvorab(4)",7200);

jetzt wollte ich, dass wenn eine andere schaltfläche überfahren wird, die diashow anhält. und habe folgendes versucht:

in der funktion BiWetrsshvorab() steht eine if-Anweisung ....ungefähr so

if(diashowon ==1 ).....wechsle Bild....;

wenn ich über eine andere schaltfläche fahre, wird nun die variable diashowon =0 gesetzt und die DiaShow unterbrochen.

Müßte doch eigentlich funktionieren... Tut es aber nicht, da  window.setTimeout("BiWetrsshvorab(1)",1800); anscheinend schon die Funktion BiWetrsshvorab sofort durchläuft und dann nach 1800 millisekunden nur den schon fertig generierten Code ausführt. diashow  ist zwar dann in dem Moment == 0 , aber zu dem zeitpunkt von window.setTimeout("BiWetrsshvorab(1)",1800); war diashowon ==1 und dies scheint für JS relevant zu sein und nicht der Wert von diashowon nach 1800 ms.

Denke ich hier richtig und hat jemand eine Idee, wie ich dieses Problem lösen könnte.

habt vielen Dank

und viele Grüße

carsten schlichting

  1. Moin,

    Denke ich hier richtig und hat jemand eine Idee, wie ich dieses Problem lösen könnte.

    wie wäre es denn, wenn du statt der diashow-Variable einfach die ClearTimeOut-Funktion benutzt.

    Grüsse,
      Juan

    1. Moin,

      Denke ich hier richtig und hat jemand eine Idee, wie ich dieses Problem lösen könnte.

      wie wäre es denn, wenn du statt der diashow-Variable einfach die ClearTimeOut-Funktion benutzt.

      Grüsse,
        Juan

      danke schön

      habe einfach nicht gewußt, dasse sowas gibt. weißt du manchmal denke ich, ich komme erst selbst auf diesen Gedanken, wenn ich mit jemanden in Kontakt bin, der den gedanken praktisch vordenkt.

      also Danke
      carsten

      1. Moin,

        habe einfach nicht gewußt, dasse sowas gibt. weißt du manchmal denke ich, ich komme erst selbst auf diesen Gedanken, wenn ich mit jemanden in Kontakt bin, der den gedanken praktisch vordenkt.

        das entspricht ja dem Gedanken von SelfHTML, also alles im Lot :-)

        Grüsse,
          Juan

  2. < http://de.selfhtml.org/javascript/objekte/window.htm#clear_timeout>

    hier habe ich schon eine Lösung gefunden:

    window.clearTimeout

    mich würde aber trotzdem interessieren, ob JS tatsächlich so wie im ersten posting beschrieben setTimeout benutzt.

    viele Grüße von mir

    carsten