Problème javascript Else If

Résolu
bonjour,
J'ai un petit soucis avec mon code, j'utilise la fonction d.getDay pour essayer de établir un iframe différent selon le jour actuel.
Le problème c'est que a n == 6, la fonction refuse de fonctionner et m'affiche le résultat de n == 3.
Si quelqu'un peu m'aider je ne vois pas ou il y a l'erreur.

<script language="javascript">
var d = new Date();
var n = d.getDay();
function pos()
{
if (n == 3) {
iframe = document.createElement ("iframe");
iframe.setAttribute ("src", "http://hello1.fr;
iframe.style.width = 400+"px";
iframe.style.height = 300+"px";
document.body.appendChild(iframe);
}
else if (n == 5 || 4 || 2 || 1 || 0) {
iframe = document.createElement ("iframe");
iframe.setAttribute ("src", "http://hello2.fr");
iframe.style.width = 400+"px";
iframe.style.height = 300+"px";
document.body.appendChild(iframe);
}
else if (n == 6) {
iframe = document.createElement ("iframe");
iframe.setAttribute ("src", "http://hello3.fr");
iframe.style.width = 400+"px";
iframe.style.height = 300+"px";
document.body.appendChild(iframe);
}
}
</script>

2 réponses

  1. Modérateur
    Bonjour,

    Ton problème se trouve déjà au niveau du :
     else if (n == 5 || 4 || 2 || 1 || 0) {
    


    ..... il faut l'écrire comme ceci :
     else if (n == 5 || n == 4 || n == 2 || n == 1 || n == 0) {
    


    Maintenant... il serait plus propre (je pense) d'utiliser un SWITCH plutôt que des enchainements de if / else if...

    et puis.. certaines parties de ton code n'ont pas besoin d'être "dupliquées" et répétées à chaque fois ...

    Par exemple :

    var src ="";
    switch(n){
     case 3:
       src = "http://hello1.fr";
      break;
     case 0:
     case 4:
     case 5:
     case 1:
     case 2:
       src = "http://hello2.fr";
      break;
     case 6:
       src = "http://hello3.fr";
      break;
    }
    
    iframe = document.createElement ("iframe");
    iframe.setAttribute ("src", src );
    iframe.style.width = 400+"px";
    iframe.style.height = 300+"px";
    document.body.appendChild(iframe);
    
    


    2
    1. Merci beaucoup !
      0
  2. Salut,
    il en soit, si la valeur de n n'est ni 0,1,2,3,4,5 c'est quelle est égal a 6 non ? ou autre valeur ?

    else {
    iframe = document.createElement ("iframe");
    iframe.setAttribute ("src", "http://hello3.fr");
    iframe.style.width = 400+"px";
    iframe.style.height = 300+"px";
    document.body.appendChild(iframe);
    }

    Ou alors

    else if (n == 6) { /* ton code*/}
    else{ alert("erreur");}

    Voila voila
    -1