Countdown-Timer mit Moment js
Mache ich ein countdown-timer für eine event-Seite, die ich verwendet, moment js.
Hier ist fiddle.
Ich bin die Berechnung der Zeitdifferenz zwischen Ereignis-Datum und aktuellen Datum (Zeitstempel), dann mit "Dauer" - Methode von moment js. Aber die Zeit kommt nicht wie erwartet.
Erwartet - 00:30m:00s
Tatsächlichen - 5h:59m:00s
Code :
<script>
$(document).ready(function(){
var eventTime = '1366549200';
var currentTime = '1366547400';
var time = eventTime - currentTime;
var duration = moment.duration(time*1000, 'milliseconds');
var interval = 1000;
setInterval(function(){
duration = moment.duration(duration.asMilliseconds() - interval, 'milliseconds');
$('.countdown').text(moment(duration.asMilliseconds()).format('H[h]:mm[m]:ss[s]'));
}, interval);
});
</script>
Lese ich die momentjs Dokumentation, um das problem herauszufinden, aber kein Glück.
Vielen Dank für Ihre Zeit.
Update :
Ich am Ende dabei, wie dieser :
<script>
$(document).ready(function(){
var eventTime = '1366549200';
var currentTime = '1366547400';
var leftTime = eventTime - currentTime;//Now i am passing the left time from controller itself which handles timezone stuff (UTC), just to simply question i used harcoded values.
var duration = moment.duration(leftTime, 'seconds');
var interval = 1000;
setInterval(function(){
//Time Out check
if (duration.asSeconds() <= 0) {
clearInterval(intervalId);
window.location.reload(true); #skip the cache and reload the page from the server
}
//Otherwise
duration = moment.duration(duration.asSeconds() - 1, 'seconds');
$('.countdown').text(duration.days() + 'd:' + duration.hours()+ 'h:' + duration.minutes()+ 'm:' + duration.seconds() + 's');
}, interval);
});
</script>
InformationsquelleAutor der Frage Arpit Rawat | 2013-04-21
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
In die Letzte Anweisung, die Sie konvertieren die Dauer an Zeit, die auch der Auffassung der Zeitzone. Ich gehe davon aus, dass Sie Ihre Zeitzone ist +530, also 5 Stunden und 30 Minuten Hinzugefügt wird, 30 Minuten. Sie können tun, wie unten angegeben.
InformationsquelleAutor der Antwort Diode
Überprüfen Sie heraus dieses plugin:
moment-countdown
Wie es funktioniert?
InformationsquelleAutor der Antwort Leniel Maccaferri
Zeitzonen. Sie haben, um mit Ihnen umzugehen, indem
getTimezoneOffset()
wenn Sie möchten, dass Ihre Besucher aus der ganzen Welt um die gleiche Zeit.Versuchen, diese http://jsfiddle.net/cxyms/2/es funktioniert für mich, aber ich bin mir nicht sicher, wird es mit anderen Zeitzonen.
InformationsquelleAutor der Antwort Lemurr
Folgenden auch erfordert die moment-Dauer-format-plugin:
Beispiel:
InformationsquelleAutor der Antwort Stephen R