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.

War es hilfreich?

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();
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top