Ich habe ein Skript, Countdowns Timestamp. Es funktioniert gut, aber das Problem, es läuft weiter als 0 in den negativen Bereich. Ich möchte, dass es bei null stoppt.Zeitstempel Countdown im negativen
// $nowtime is a date in future
var startLive = new Date("<?php echo $nowtime; ?>");
var timestamp = startLive - Date.now();
timestamp /= 1000; // from ms to seconds
function component(x, v) {
return Math.floor(x/v);
}
var $div = $('.time');
timer = setInterval(function() {
timestamp--;
var days = component(timestamp, 24 * 60 * 60),
hours = component(timestamp, 60 * 60) % 24,
minutes = component(timestamp, 60) % 60,
seconds = component(timestamp, 1) % 60;
$div.html(days + " days, " + hours + ":" + minutes + ":" + seconds);
}, 1000);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
Ausgabe sieht aus wie 1 Tag, 6:10:30
Problem ist, wenn es kleiner als Null ist es in negativ wird nach wie vor. so etwas wie -3 Tage, -3: -5: -5
Wie bei 0.
Dank zu stoppen.
Dank. Arbeiten. Ich habe es selbst versucht, aber vergessen, wieder zurück zu kommen :) – Phoenix
@Phoenix du bist willkommen! Bitte vergiss nicht, als akzeptiert zu markieren – caramba
Eigentlich solltest du das Intervall mit 'clearInterval (timer) löschen; 'anstatt nur zurückzukehren, ansonsten wird das Intervall immer noch im Hintergrund aufgerufen. Wenn Sie ein 'console.log ('etwas')' in Ihrer if-Anweisung und vor der Rückkehr hinzufügen, werden Sie sehen, dass das Intervall noch immer aufgerufen wird. –