Frage
Ich versuche, einen Countdown mit Hilfe von Javascript zu erstellen. Ich habe einige Code von hier und modifiziert es slighly.
<script type="text/javascript">
var c=10, t;
function timedCount() {
document.getElementById('txt').value=c;
c=c-1;
t=setInterval("timedCount()",1000);
}
function stopCount() {
clearInterval(t);
}
</script>
Ich brauche einen Countdown wiederholt aufrufen, bis der Benutzer auf einen Link klickt. Es sollte von 10 bis 1 jede Sekunde (10,9,8,7,6 ... 0) Countdown, bis der Link geklickt wird, aber es funktioniert nicht. Kann mir jemand helfen?
EDIT: Wer weiß, wie der Countdown Neustart zu machen, wenn es 0 Treffer?
Vielen Dank im Voraus.
Lösung
<script type="text/javascript">
var c=10;
var t;
function timedCount()
{
document.getElementById('txt').value=c;
c=c-1;
}
function startCount()
{
if (!t) t=setInterval("timedCount()",1000);
}
function stopCount()
{
clearInterval(t);
t=null;
}
</script>
Anruf startCount()
in onload (oder was auch immer), wenn Sie den Zähler gestartet werden sollen. Beachten Sie meine startCount und stopCount nicht mehrere Intervall-Timer erstellen.
Auch das Element mit id = txt muss eine <input>
oder <textarea>
Box für Ihren Code zu arbeiten. Wenn es eine Spanne ist, sollten Sie document.getElementById('txt').innerHTML=c;
verwenden
Schließlich möchten Sie vielleicht timedCount (), um stopCount (), wenn c unter Null geht. Das ist einfach genug:
if (c <= 0) stopCount();