Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/03/2011, 13h00   #1
Invité régulier
 
Homme
Inscription : mars 2011
Messages : 35
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Gers (Midi Pyrénées)

Informations forums :
Inscription : mars 2011
Messages : 35
Points : 7
Points : 7
Par défaut Modifier un calendrier

Bonjour à tous,
Il y a quelques mois, j'ai téléchargé un script permettant d'afficher un calendrier.
Je l'ai modifié au mieux de mes connaissances en javascript, qui sont assez limitées à l'heure présente.

Voici un aperçu de ce calendrier :


Et voici le code :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
var d = new Date();
var dm = d.getMonth() + 1;
var dan = d.getYear();
if(dan < 999) dan+=1900;
calendrier(dm,dan);
function calendrier(mois,an) {
nom_mois = new Array
("JANVIER","FEVRIER","MARS","AVRIL","MAI","JUIN","JUILLET",
"AOUT","SEPTEMBRE","OCTOBRE","NOVEMBRE","DECEMBRE");
jour = new Array ("Lun","Mar","Mer","Jeu","Ven","Sam","Dim");
var police_entete = "Verdana,Arial";/* police entête de calendrier  */
var taille_pol_entete = 1;          /* taille de police 1-7 entête de calendrier  */
var couleur_pol_entete = "#FFFF00"; /* couleur de police entête de calendrier  */
var arrplan_entete = "#000066";     /* couleur d'arrière plan entête de calendrier  */
var police_jours = "Verdana,Arial"; /* police affichage des jours  */
var taille_pol_jours = 1;           /* taille de police 1-7 affichage des jours  */
var coul_pol_jours = "#000000";     /* couleur de police affichage des jours  */
var arrplan_jours = "#FFFFFF";      /* couleur d'arrière plan affichage des jours  */
var couleur_dim = "#000000";        /* couleur de police pour dimanches  */
var couleur_cejour = "#D1EEEE";     /* couleur d'arrière plan pour aujourd'hui  */
var WeekRef = 0; /* Numerotation des semaines*/
var maintenant = new Date();
var ce_mois = maintenant.getMonth() + 1;
var cette_annee = maintenant.getYear();
if(cette_annee < 999) cette_annee+=1900;
var ce_jour = maintenant.getDate();
var temps = new Date(an,mois-1,1);
var Start = temps.getDay();
if(Start > 0) Start--;
else Start = 6;
var Stop = 31;
if(mois==4 ||mois==6 || mois==9 || mois==11 ) --Stop;
if(mois==2) {
 Stop = Stop - 3;
 if(an%4==0) Stop++;
 if(an%100==0) Stop--;
 if(an%400==0) Stop++;
}
document.write('<table border="1" cellpadding="1" cellspacing="1">');
var entete_mois = nom_mois[mois-1] + " " + an;
inscrit_entete(entete_mois,arrplan_entete,couleur_pol_entete,taille_pol_entete,police_entete);
var nombre_jours = 1;
for(var i=0;i<=5;i++) {
  document.write("<tr>");
  for(var j=0;j<=5;j++) {
    if((i==0)&&(j < Start))
     inscrit_cellule("*",arrplan_jours,coul_pol_jours,taille_pol_jours,police_jours);
    else {
      if(nombre_jours > Stop)
        inscrit_cellule("*",arrplan_jours,coul_pol_jours,taille_pol_jours,police_jours);
      else {
        if((an==cette_annee)&&(mois==ce_mois)&&(nombre_jours==ce_jour))
         inscrit_cellule(nombre_jours,couleur_cejour,coul_pol_jours,taille_pol_jours,police_jours);
        else
         inscrit_cellule(nombre_jours,arrplan_jours,coul_pol_jours,taille_pol_jours,police_jours);
        nombre_jours++;
        }
      }
    }
    if(nombre_jours > Stop)
      inscrit_cellule("*",arrplan_jours,couleur_dim,taille_pol_jours,police_jours);
    else {
      if((an==cette_annee)&&(mois==ce_mois)&&(nombre_jours==ce_jour))
        inscrit_cellule(nombre_jours,couleur_cejour,couleur_dim,taille_pol_jours,police_jours);
      else
        inscrit_cellule(nombre_jours,arrplan_jours,couleur_dim,taille_pol_jours,police_jours);
      nombre_jours++;
    }
    document.write("<\/tr>");
  }
document.write("<\/table>");
}
function inscrit_entete(titre_mois,couleurAP,couleurpolice,taillepolice,police) {
document.write("<tr>");
document.write('<td align="center" colspan="7" valign="middle" bgcolor="'+couleurAP+'">');
document.write('<font size="'+taillepolice+'" color="'+couleurpolice+'" face="'+police+'"><b>');
document.write(titre_mois);
document.write("<\/b><\/font><\/td><\/tr>");
document.write("<tr>");
for(var i=0;i<=6;i++)
  inscrit_cellule(jour[i],couleurAP,couleurpolice,taillepolice,police);
document.write("<\/tr>");
}
function inscrit_cellule(contenu,couleurAP,couleurpolice,taillepolice,police) {
document.write('<td align="center" valign="middle" bgcolor="'+couleurAP+'">');
document.write('<font size="'+taillepolice+'" color="'+couleurpolice+'" face="'+police+'"><b>');
document.write(contenu);
document.write("<\/b><\/font><\/td>");
}
Mes connaissances étant absolument insuffisantes, je me permets de faire appel à vos compétences car je désirerais apporter 2 autres modifications dans ce code :
- 1 colonne à gauche qui afficherait le n° des semaines
- combler les cellules libres qui viennent en fin de tableau par les premiers jours du mois suivant
(avec font=grey et size=2, et sans augmenter de la taille dudit tableau, bien sûr)

Le nouveau code javascript afficherait alors ce calendrier :


Je suis conscient que cela peut vous demander un certain nombre d'efforts, et je vous en remercie par avance.
ChristiandeGranville est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/03/2011, 13h56   #2
Membre expérimenté
 
Avatar de nadox
 
Homme
Développeur
Inscription : février 2010
Messages : 360
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Calvados (Basse Normandie)

Informations professionnelles :
Activité : Développeur
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : février 2010
Messages : 360
Points : 545
Points : 545
Bonjour,

Vous souhaiter faire appel à des compétences pour faire le travail sur un forum d'ENTRAIDE ?

Vos connaissances(futures) ne viendront pas en demandant à quelqu'un d'autre de faire l'exercice à votre place... Le résultat demandé est un petit exercice de programmation des plus courants...

Je pense que vous devriez commencer par changer de script, celui date d'au moins 10 ans. ( oui je sais, les premiers résultats de google donnent ce genre de script... mais est-ce que google doit décider ce que vous allez utiliser ? )

Peut-être que commencer par un bon tutoriel sur le javascript serait une bonne piste ?
nadox est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/03/2011, 14h26   #3
Invité régulier
 
Homme
Inscription : mars 2011
Messages : 35
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Gers (Midi Pyrénées)

Informations forums :
Inscription : mars 2011
Messages : 35
Points : 7
Points : 7
Je comprends.
Merci
ChristiandeGranville est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h13.


 
 
 
 
Partenaires

Hébergement Web