Problème javascript Else If

Résolu
monster-fr Messages postés 606 Statut Membre -  
Exileur Messages postés 1621 Date d'inscription   Statut Membre Dernière intervention   -
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. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
     
    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. monster-fr Messages postés 606 Statut Membre 389
       
      Merci beaucoup !
      0
  2. Exileur Messages postés 1621 Date d'inscription   Statut Membre Dernière intervention   150
     
    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