Countdown von 10 und wiederholen Sie es, wenn der timer reagiert hat 0
Möchte ich ein count-down von 10 Sekunden auf 0. Wenn Sie es erreicht haben, 0 die DIV wird dann neu geladen und der timer wird erneut gestartet. Ich habe diese Funktion, die es erlaubt, genau das zu tun, wie ich wollte, aber das problem ist, dass wenn der countdown erreicht haben, 0 und 10, es zählt -1 reload -2 reload -3 reload -4 reload und so weiter. Das ist nicht wie ich es will! 🙂
Hier ist mein code:
var time = setInterval(countdown, 1000);
function countdown() {
var count = 10;
countdown = setInterval(function() {
$('#countdown').html(count + ' sekunder kvar');
if(count == 0) {
$('#weather-data').load('jquery-fetch/fetch-weatherdata.php?place=' + myplace);
clearInterval(countdown);
}
count--;
}, 1000);
}
Wie kann ich das beheben also mein problem ist der timer zählt rückwärts von 10 auf 0 und wiederholen Sie, dass der countdown für immer?
Vielen Dank im Voraus.
BEARBEITEN
Wenn diese Funktion erreicht hat, 0 für die erste Zeit und beginnt, es zählt wie das: 10, 9, 8, 10, 7, 6, 5, 4, 3, 2, 1, 10, 9, 8, 7, 10, 6, 5, 4, 3, 2, 1, 10, 9, 8, 10, 7, 6, und so weiter. Warum muss es so handeln, das mit diesem code?
function countdown() {
var count = 10;
var timerId = setInterval(function() {
$('#countdown').html(count + ' sekunder kvar');
count--;
if(count == 0) {
$('#weather-data').load('jquery-fetch/fetch-weatherdata.php?place=' + myplace);
clearInterval(timerId);
countdown();
}
}, 1000);
}
countdown();
Vielen Dank im Voraus!
-
im name einer Funktion? 😮NÖ. das ist illegal syntax. es wäre wie gesehen " - Funktion count minus (down)".
Ich fügte hinzu, die
-
wenn ich schrieb hier meine Frage. Nicht getestet, die Funktion, die aufgerufen count-down
bis nach meiner Frage.Warum verwenden Sie nicht nur ein Intervall von 10 Sekunden?
Wie kann ich erreichen, dass? Wie ich schon sagte, ich bin neu in
setInterval
InformationsquelleAutor Erik | 2012-04-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sehe ich eine Menge Probleme in Ihrem Skript... Also nicht sicher, wie Sie Sie auch bekommen, zu arbeiten..
name der Funktion nicht haben, können-
, so dass der Aufruf nicht funktioniert :Scountdown
ist eine Globale variable innerhalb Ihrerfunction countdown()
das ist das gleiche wie Ihre name der Funktion, die praktisch eincountdownception
Interval
jeder Sekunde, die Sie anrufencountdown
Zu erreichen, was Sie wollen, versuchen die einfachere:
http://jsfiddle.net/Xrbm5/13/
Warum würden Sie halten Einstellung ein Intervall und clearing? Jedes mal, wenn Sie nennen es, du bist unnötig anlegen einer neuen Schließung. Warum nicht einfach halten Sie den Intervall gehen und das zurücksetzen des Zählers? So konnte Sie halten eine externe Zeiger, um das Intervall zu löschen/stoppen, falls erforderlich.
sorry, kann dich nicht, ich habe nur call
setInterval
einmal, und rufen Siecountdown()
einmal nachcount
erreicht0
, könnten Sie das klären? 😮ooooh, ich sehe, was du meinst.. Bearbeiten. Danke!
Viel einfacher zu benutzen Sie einfach ein Intervall von 10 Sekunden.
InformationsquelleAutor Andreas Wong
Werfen Sie einen Blick auf, was Ihr code tut.
Legen Sie ein Intervall zu laufen, jede Sekunde. Das ist in Ordnung.
Was nicht fein ist, daß jedes zweite Intervall ist die Schaffung einer NEUEN Intervall an, das individuell nach unten zählt ab dem 10.
Auch, Sie setzen
countdown
als eine Globale variable. Also, wenn Sie Ihre ersten Zähler null erreicht, wird es tatsächlich löscht die LETZTE timer verlassen, der erste, der munter weiter in den negativen zahlen, alle die, während Sie laichen neue Intervalle.Insgesamt ist es eine Katastrophe.
count-down
- Funktion und verschachtelte scopes.Sehr wahr! Danke 🙂 Wie sollte die Funktion aussieht, wie dann? Ich bin irgendwie Anfänger mit
setInterval
.Warum war das downvoted? 🙁
InformationsquelleAutor Niet the Dark Absol
Wenn Sie wollen einfach nur die Seite aktualisiert sich alle 10 Sekunden, dann:
Wenn Sie möchten, eine count-down, dann wieder nur der Zähler bei jeder geraden Anzahl von 10. Die folgende fügt start-und Stopp-Funktionen, re-Statistiken aus, wo es aufgehört hat. Auch, wenn ausgeführt wird, klicken Sie auf start nicht anderen starten.
Und einige Tasten, damit es funktioniert (oder starten Sie es, wenn die Seite geladen wird):
Beachten Sie, dass die Funktion nur ausgeführt wird, bei über jede Sekunde, wenn das system ausgelastet ist wird es nicht laufen auf Zeit und wird langsam Driften, aber nicht viel jedes mal, so ist es wahrscheinlich egal.
InformationsquelleAutor RobG