Ich bin neu in JavaScript. Ich führe meinen Code aus, der basierend auf der Eingabe berechnet, wie lange ein Benutzer am Leben war. Wenn Sie möchten, dass der Code ausgeführt wird, ist er auf meinem Klassen-Testserver unter here verfügbar.setInterval() funktioniert nicht richtig
Das Problem mit meinem Code ist, dass setInterval() nicht richtig funktioniert. Aus meiner Sicht sollte meine HTML-Seite alle 1000ms (1s) mit der neuesten Zeit aktualisiert werden, aber es tut nichts, es wird nicht aktualisiert.
Ich habe setInterval() zuvor auf einem ähnlichen Projekt, das die Anzahl der Sekunden seit der Epoche angezeigt und es hat gut funktioniert. Es aktualisiert die Sekunden wie es sollte. Vielleicht gibt es etwas anderes in meinem Code, damit es nicht funktioniert? Ich habe meinen Code durch jslint und jshint ausgeführt und kann den Fehler nicht finden, den ich mache.
Vielen Dank im Voraus!
function getUserBirthday(myEpoch) {
"use strict";
var unixEpoch = new Date()/1000.0;
var secondSince = unixEpoch - myEpoch;
var leftOrAlive = "";
if (secondSince < 0) {
leftOrAlive = ": Seconds Left";
secondSince = secondSince * -1;
} else {
leftOrAlive = ": Seconds Alive";
}
document.getElementById("secondsAlive").innerHTML = secondSince + leftOrAlive;
var years = secondSince/31556926;
secondSince = secondSince % 31556926;
var months = secondSince/2629743;
secondSince = secondSince % 2629743;
var days = secondSince/86400;
secondSince = secondSince % 86400;
var hours = secondSince/3600;
secondSince = secondSince % 3600;
var minutes = secondSince/60;
secondSince = secondSince % 60;
var seconds = secondSince;
//Convert Variables To String
years = years.toString();
months = months.toString();
days = days.toString();
hours = hours.toString();
minutes = minutes.toString();
seconds = seconds.toString();
//Remove Trailing Decimal Places
var yearStr = years.slice(0, (years.indexOf(".")));
var monthStr = months.slice(0, (months.indexOf(".")));
var dayStr = days.slice(0, (days.indexOf(".")));
var hourStr = hours.slice(0, (hours.indexOf(".")));
var minuteStr = minutes.slice(0, (minutes.indexOf(".")));
var secondStr = seconds.slice(0, (seconds.indexOf(".")));
//Show Results
document.getElementById("years").innerHTML = yearStr + ": Years";
document.getElementById("months").innerHTML = monthStr + ": Months";
document.getElementById("days").innerHTML = dayStr + ": Days";
document.getElementById("hours").innerHTML = hourStr + ": Hours";
document.getElementById("minutes").innerHTML = minuteStr + ": Minutes";
document.getElementById("seconds").innerHTML = secondStr + ": Second
}
function updateTimeSinceEpoch() {
"use strict";
var strDate = prompt("Enter your birthday: ex. November 12, 1996 00:00:00");
document.getElementById("birthday").innerHTML = strDate;
var myDate = new Date(strDate); // Your timezone!
var myEpoch = myDate.getTime()/1000.0;
var runFunction = getUserBirthday(myEpoch);
setInterval(runFunction, 1000);
}
Sie haben einen Syntaxfehler mit der letzten Zeile von getUserBirthday. – Blauharley