carsten schlichting: window.setTimeout

Beitrag lesen

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