Interval
Maja
- javascript
0 Cheatah0 Marcus
0 Jürgen Berkemeier0 wahsaga
Hallo, habe folgendes kleines Script:
<script type="text/javascript">
<!--
function Interval() {
var aktiv = window.setInterval("Wechsel()",2000);
}
function Wechsel() {
document.write(eee);
eee = eee + 1;
var Eingabe
Eingabe=confirm("Weiter?");
if(Eingabe==true)
{Ende();}
}
function Ende() {
window.clearInterval(aktiv);
}
//-->
</script>
<script type="text/javascript">
var eee = 0;
Interval();
</script>
Es soll eigentlich nur eine Zhl solange hochzählen bis die Antwort nicht weiterzählen kommt. Leider kommt das Prompt nur einmal. Was habe ich hier falsch gemacht?
Hi,
Leider kommt das Prompt nur einmal. Was habe ich hier falsch gemacht?
Du hast nicht beachtet, dass ein auf ein fertiges Dokument[1] angewendetes document.write() das bestehende Dokument vernichtet.
Cheatah
[1] Bei einem Interval oder Timeout ist davon auszugehen.
Hi,
ausserdem solltest Du das document öffnen vor dem schreiben und danach wieder schliessen.
Gruss
Marcus
Hallo mAJA,
function Interval() {
var aktiv = window.setInterval("Wechsel()",2000);
aktiv ist lokale Variable und nur in dieser Funktion bekannt. Aktiv muss außerhalb der Funktionen als globale Variable deklariert werden.
}
function Wechsel() {
document.write(eee);
wie Cheatah schon schrieb, wird das Ganze Dokument neu geschrieben. Hier könntest Du z.B. mit DOM-Methoden die Zahl in ein DIV oder ein SPAN schreiben.
eee = eee + 1;
var Eingabe
Eingabe=confirm("Weiter?");
if(Eingabe==true)
{Ende();}}
function Ende() {
window.clearInterval(aktiv);
aktiv ist hier und jetzt unbekannt!
}
//-->
</script><script type="text/javascript">
var eee = 0;
Interval();
</script>
Gruß, Jürgen
hi,
Eingabe=confirm("Weiter?");
if(Eingabe==true)
{Ende();}
Leider kommt das Prompt nur einmal. Was habe ich hier falsch gemacht?
ergänzend zu den antworten, die die anderen schon gegeben haben:
wenn die frage "weiter?" mit OK beantwortet wird, liefert prompt true zurück - und in diesem falle brichst du dann durch aufruf von Ende() dein interval ab.
wahrscheinlich hast du es genau anders herum gemeint.
gruss,
wahsaga