Problème javascript Else If

Résolu/Fermé
monster-fr Messages postés 548 Date d'inscription dimanche 22 avril 2007 Statut Membre Dernière intervention 3 novembre 2017 - Modifié par monster-fr le 19/12/2015 à 23:30
Exileur Messages postés 1475 Date d'inscription mercredi 31 août 2011 Statut Membre Dernière intervention 16 décembre 2022 - 20 déc. 2015 à 11:33
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

jordane45 Messages postés 38314 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 novembre 2024 4 705
20 déc. 2015 à 01:13
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
monster-fr Messages postés 548 Date d'inscription dimanche 22 avril 2007 Statut Membre Dernière intervention 3 novembre 2017 389
20 déc. 2015 à 11:32
Merci beaucoup !
0
Exileur Messages postés 1475 Date d'inscription mercredi 31 août 2011 Statut Membre Dernière intervention 16 décembre 2022 150
20 déc. 2015 à 11:33
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