da ist grundsätzlich Quark im Artikel oder in den Beispielen.
Ja, das ist – aus heutiger Sicht wahrscheinlich noch mehr als aus meinem rückständigen Wissensstand – für ein Lehrbeispiel ziemlich unschön..
Zum Beispiel die Verwendung von <span> als Ausgabe statt <output> und Zuweisung des Wertes mit innerHTML statt textContent; die Verwendung von <b> statt <strong>, die Verwendung von parseInt() ohne Radix und diverse andere Dinge.
Der Bereich
if (tage < 0) {
label_resultierend.innerHTML = "vor " + (-1) * tage + " Tagen: ";
if (tage == -1) {
label_resultierend.innerHTML = "gestern: ";
}
} else if (tage > 0) {
label_resultierend.innerHTML = "in " + tage + " Tagen: ";
if (tage == 1) {
label_resultierend.innerHTML = "morgen: ";
}
} else {
label_resultierend.innerHTML = "heute: "
}
ist auch unschön, weil es schlechter Programmierstil ist.
tage == -1
und tage == 1
gehören auf die gleiche Ebene wie die Anderen 'if', sonst wir der Wert doppelt geschrieben (erst in den < 0 bzw > 0 Bereichen und direkt danach noch mal in den spezifischen Abfragen).
Ich würde hier auch noch den Text einer Variable zuweisen und einmalig am Schluss in das Zielelement schreiben (ich belasse es hier erst mal beim ursprünglichen innerHTML, damit es nicht zu verwirrend wird). Damit muß man nur an einer Stelle ändern, wenn sich das Element ändert.
Man kann das alles natürlich noch viel besser und eleganter machen als ich auf die Schnelle, aber zur Zeit ist selbige für mich etwas limitiert 😉
let txt;
if (tage == -1) {
txt = "gestern: ";
} else if (tage == 1) {
txt = "morgen: ";
} else if (tage < 0) {
txt = "vor " + (-1) * tage + " Tagen: ";
} else if (tage > 0) {
txt = "in " + tage + " Tagen: ";
} else {
txt = "heute: "
}
label_resultierend.innerHTML = txt;
…
Stur lächeln und winken, Männer!