Comment changer de feuille *.css selon les fêtes

Résolu/Fermé
ygeronimi - 10 déc. 2015 à 12:03
 ygeronimi - 11 déc. 2015 à 11:29
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.
A voir également:

1 réponse

Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 524
Modifié par Pitet le 10/12/2015 à 12:25
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
0
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/
0
@ 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)....

???...
0
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 524
11 déc. 2015 à 11:12
0
ygeronimi > Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022
11 déc. 2015 à 11:29
Merci pour cette précision Pitet.
Je garde ton lien en favori pour apprendre.
0