Frage

Ich versuche, den aktuellen Monat zu bekommen und dann den Monat in eine DIV zu legen.

function checkmaand()
{
var datum = new Date();
var maand = datum.getMonth();
switch (maand)
{   
    case 0: document.getElementById("maand").innerHTML = "Januari";
    case 1: document.getElementById("maand").innerHTML = "Februari";
    case 2: document.getElementById("maand").innerHTML = "Maart";
    case 3: document.getElementById("maand").innerHTML = "April";
    case 4: document.getElementById("maand").innerHTML = "Mei";
    case 5: document.getElementById("maand").innerHTML = "Juni";
    case 6: document.getElementById("maand").innerHTML = "Juli";
    case 7: document.getElementById("maand").innerHTML = "Augustus";
    case 8: document.getElementById("maand").innerHTML = "September";
    case 9: document.getElementById("maand").innerHTML = "Oktober";
    case 10: document.getElementById("maand").innerHTML = "November";
    case 11: document.getElementById("maand").innerHTML = "December";
}
}

Aber aus irgendeinem Grund ist die Ausgabe Dezember (es ist jetzt November für die Menschen in Zukunft)

Meine Frage ist also, warum es das macht und wie kann ich es beheben?

Noch etwas: Ich muss es mit JavaScript schaffen.

War es hilfreich?

Lösung 4

switch (expr) {
  case "Oranges":
    document.write("Oranges are $0.59 a pound.<br>");
    break;
  case "Apples":
    document.write("Apples are $0.32 a pound.<br>");
    break;

Im Beispiel von HC_ .

Die Pause ist optional, aber wie die Erklärung zeigt:

Die optionale Break -Anweisung, die jeder Fallbezeichnung zugeordnet ist, stellt sicher, dass das Programm aus dem Switch ausbricht, sobald die angepasste Anweisung ausgeführt wurde und die Ausführung bei der Anweisung nach dem Switch fortsetzt. Wenn Break weggelassen wird, setzt das Programm die Ausführung bei der nächsten Anweisung in der Switch -Anweisung fort.

Andere Tipps

Sie müssen a hinzufügen break; Am Ende jedes Falles, damit es nicht mit dem nächsten fortfährt.

function checkmaand()
{
var datum = new Date();
var maand = datum.getMonth();
switch (maand)
{   
    case 0: document.getElementById("maand").innerHTML = "Januari";
        break;
    case 1: document.getElementById("maand").innerHTML = "Februari";
        break;
   ...
}
}

usw

Sie vermissen die "Pause" am Ende eines jeden Falls.

Wie andere erwähnt haben, ist das Problem, weil Sie vergessen haben, a hinzuzufügen break; am Ende jeder Ihrer Fallanweisungen.

Als Vorschlag können Sie Ihren Code wie vereinfachen Dies:

function checkmaand() {
    document.getElementById("maand").innerHTML = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'][new Date().getMonth()];
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top