Comment changer de feuille *.css selon les fêtes [Résolu/Fermé]

Signaler
-
 ygeronimi -
Bonjour,

Trèsnovice en javascript, j' ai écris ceci :

<HTML>
<HEAD>
<script SCRIPT LANGUAGE="JavaScript">

var jour = new Date()
var mois = new Date()
var an = new Date()
jour=jour.getDate();
mois=mois.getMonth()+1;
an =an.getYear();
if (an<1000)
an = an+1900;

switch(mois){
case 1:
var Style = "style_1.css"
break;
case 2:
var Style = "style_2.css"
break;
case 3:
var Style = "style_3.css"
break;
case 4:
var Style = "style_4.css"
break;
case 5:
var Style = "style_5.css"
break;
case 6:
var Style = "style_6.css"
break;
case 7:
var Style = "style_7.css"
break;
case 8:
var Style = "style_8.css"
break;
case 9:
var Style = "style_9.css"
break;
case 10:
var Style = "style_10.css"
break;
case 11:
var Style = "style_11.css"
break;
case 12:
var Style = "style_12.css"
if (jour > 8)
{
var fete ="noel"
}
else
if (jour > 9)
{
var fete="paques"
}
else
if (jour > 10)
{
var fete ="trinite"
}
break;
}
document.write ("<link rel=\"stylesheet\" type=\"text/css\" media=\"screen\" href=\"",Style,"\" />")
document.write("<small><font color='#ffffff' face='Arial'><b>date : ",jour,"/",mois,"/",an," - ",fete,"</b></font></small>")
</script>
</HEAD>
<BODY>
<div id="mondiv">
</div>
</BODY>
</HTML>


Si quelqu' un peut me corriger, je lui en serai reconnaissant.

1 réponse

Messages postés
2371
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
13 janvier 2021
444
Salut,

Une solution possible :
var date = new Date();
var jour = date.getDate();
var mois = date.getMonth()+1;
var an = date.getFullYear();

var style = "style_" + mois + ".css";
var fete = "";

if (mois == 12) {
 if (jour > 8) {
  fete = "noel";
 } 
 if (jour > 9) {
  fete= "paques";
 } 
 if (jour > 10) {
  fete = "trinite";
 }  
}

document.write("<link rel=\"stylesheet\" type=\"text/css\" media=\"screen\" href=\"" + style + "\" />");
document.write("<small><font color='#ffffff' face='Arial'><b>date : " + jour + "/" + mois + "/" + an + " - " + fete + "</b></font></small>");


Remarques :
- un seul objet Date suffit
- plus simple d'utiliser getFullYear() à la place de getYear()
- le mot clé 'var' est utilisé pour déclarer une variable seulement la première fois
- le switch est répétitif, on peu le remplacer directement par var style = "style_" + mois + ".css";
- il faut enchainer les blocs 'if' à la place des 'else if' si on veut que chaque condition soit vérifiées

Bonne journée
Merci à toi pour ta réponse Pitet.
Je teste cela en rentrant chez moi ce soir.
J' essai de rendre un site un peu plus attractif et je dois me mettre au javascript.
c' est dur mais je ne désespère pas.

Le site que j' essai d' améliorer : http://www.panoramiclemag.webege.com/
@ Pitet,

Encore merci, cela fonctionne bien.
Juste une petite question, pourquoi si j' écris :
if (mois = 10).... 

la variable prend 10 pour valeur au lieu vérifier l' égalité ?...
Je vois dans tes lignes:
if (mois == 12)....

???...
Messages postés
2371
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
13 janvier 2021
444
>
Messages postés
2371
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
13 janvier 2021

Merci pour cette précision Pitet.
Je garde ton lien en favori pour apprendre.