Question

J'essaie d'obtenir le mois en cours, puis de mettre le mois dans une 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";
}
}

Mais pour une raison quelconque, la production est en décembre (c'est en ce moment pour les gens dans le futur)

Donc ma question est de savoir pourquoi cela fait cela et comment puis-je le réparer?

Encore une chose: je dois le faire avec JavaScript.

Était-ce utile?

La solution 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;

Dans l'exemple de Hc_ .

La pause est facultative mais comme l'explication le montrera:

L'instruction de rupture facultative associée à chaque étiquette de cas garantit que le programme sort de Switch une fois l'instruction correspondante exécutée et continue l'exécution à l'instruction suivante. Si la rupture est omise, le programme continue l'exécution à l'instruction suivante dans l'instruction Switch.

Autres conseils

Vous devez ajouter un break; À la fin de tous les cas afin qu'il ne continue pas à la suivante.

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

etc

Vous manquez la "pause" à la fin de chaque cas.

Comme d'autres l'ont mentionné, le problème est parce que vous avez oublié d'ajouter un break; à la fin de chacune de vos déclarations de cas.

Comme suggestion, vous pouvez simplifier votre code comme cette:

function checkmaand() {
    document.getElementById("maand").innerHTML = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'][new Date().getMonth()];
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top