Domanda

Sto cercando di ottenere il mese in corso e poi mettere il mese in un div.

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";
}
}

Ma per qualche motivo la produzione è dicembre (è nov in questo momento per le persone in futuro)

Quindi la mia domanda è perché lo fa e come posso risolverlo?

Un'altra cosa: devo farlo con JavaScript.

È stato utile?

Soluzione 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;

Nell'esempio di HC_ .

La pausa è facoltativa ma come mostrerà la spiegazione:

L'istruzione di interruzione opzionale associata a ciascuna etichetta del caso garantisce che il programma si interrompa dall'interruttore una volta eseguita l'istruzione corrispondente e continui l'esecuzione nell'istruzione seguente. Se la pausa viene omessa, il programma continua l'esecuzione nella dichiarazione successiva nell'istruzione switch.

Altri suggerimenti

Devi aggiungere un break; Alla fine di ogni caso in modo che non continui a quello successivo.

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;
   ...
}
}

e così via

Ti manca la "pausa" alla fine di ogni caso.

Come altri hanno già detto, il problema è perché hai dimenticato di aggiungere un break; Alla fine di ciascuna delle dichiarazioni del caso.

Come suggerimento, puoi semplificare il tuo codice come questo:

function checkmaand() {
    document.getElementById("maand").innerHTML = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'][new Date().getMonth()];
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top