CALENDRIER ANNUEL UNIVERSEL AVEC SAINTS DU CALENDRIER ET FÊTES MOBILES

engelein Messages postés 3 Date d'inscription dimanche 31 juillet 2005 Statut Membre Dernière intervention 4 février 2011 - 4 févr. 2011 à 10:47
boscoauhunier Messages postés 6 Date d'inscription lundi 10 novembre 2003 Statut Membre Dernière intervention 18 mars 2010 - 9 nov. 2012 à 13:48
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/52778-calendrier-annuel-universel-avec-saints-du-calendrier-et-fetes-mobiles

boscoauhunier Messages postés 6 Date d'inscription lundi 10 novembre 2003 Statut Membre Dernière intervention 18 mars 2010
9 nov. 2012 à 13:48
Un exemple concret est bien plus simple
Si quelqu'un a une idée pour aligner le tout , alors allez y par un exemple.
Quelques lignes de commentaires pour afficher le numéro de la semaine.
A+ Bosco Bon courage

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang= "fr">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE">
<title>Calendrier</title>
<style type="text/css">
body {margin:0;padding:0;font:12px/13px Arial,Courier,monospace}
h1 {margin:20px;padding:0;font:16px/20px;text-align:center;}
hr {
border: 0;
width: 100%;
color: #F7B109;
background-color: #F7B109;
height: 1px;
}
a {text-decoration:none;color:#F7B109;}
.mst {font-size:16px}
.dim { background-color:#F7B109; padding:0px; margin:0px; }
.jannee { background-color:#d3d3d3; padding:0px; margin:0px; }
#cal {display:block;position:relative;margin: 0 auto;width:1140px;height:900px;overflow:hidden;}
//.clc {display:block;position:absolute;border: 1px dotted red;top:0px;width:190px;padding:0px;background:#fff;}
.clc {display:block;position:absolute;top:0px;width:190px;padding:0px;background:#fff;}

</style>
</head>


["javascript:newAnn(-20)" title="Recul rapide - 20 ans"> ««« «« « Calendrier » »»

<script type="text/javascript">
var mos='Janvier|Février|Mars|Avril|Mai|Juin|Juillet|Août|Septembre|Octobre|Novembre|Décembre'.split(/\|/g);
var tSt="Jour de l'An|Basile|Geneviève|Odilon|Edouard|Mélaine|Raymond|Lucien|Alix|Guillaume|Paulin|Tatiana|Yvette|Nina|Rémi|Marcel|Roseline|Prisca|Marius|Sébastien|

Agnès|Vincent|Barnard|François de Sales|Apollos|Paule|Angèle|Thomas d'Aquin|Gildas|Martine|Marcelle|Ella|Théophane|Blaise|Véronique|Agathe|Gaston|Eugénie|Jacqueline|

Apolline|Arnaud|ND de Lourdes|Félix|Béatrice|Valentin|Claude|Julienne|Alexis|Bernadette|Gabin|Aimée|Damien|Isabelle|Lazare|Modeste|Roméo|Nestor|Honorine|Romain|

Auguste|Aubin|Jaouen|Guénolé|Casimir|Olive|Colette|Félicité|Jean de Dieu|Françoise|Vivien|Rosine|Justine|Rodrigue|Mathilde|Louise|Bénédicte|Patrick|Cyrille|Joseph|

Herbert|Clémence|Léa|Victorien|Karine|Annonciation|Lara|Habib|Gontran|Gwladys|Amédée|Benjamin|Hugues|Sandrine|Richard|Isidore|Irène|Marcellin|Jean-Baptiste|Julie|

Gautier|Fulbert|Stanislas|Jules|Ida|Maxime|Paterne|Benoît-Joseph|Anicet|Parfait|Emma|Odette|Anselme|Alexandre|Georges|Fidèle|Marc|Alida|Zita|Valérie|Catherine|Robert|

Jérémie / Fête du Travail|Boris|Philippe|Sylvain|Judith|Prudence|Gisèle|Désiré|Pacôme|Solange|Estelle|Achille|Rolande|Matthias|Denise|Honoré|Pascal|Eric|Yves|

Bernardin|Constantin|Emile|Didier|Donatien|Sophie|Bérenger|Augustin|Germain|Aymard|Ferdinand|Perrette|Justin|Blandine|Kevin|Clotilde|Igor|Norbert|Gilbert|Médard|

Diane|Trinité|Barnabé|Guy|Antoine|Elisée|Germaine|Régis|Hervé|Léonce|Romuald|Silvère|Rodolphe|Alban|Audrey|Yann|Prosper|Anthelme|Fernand|Irénée|Pierre / Paul|Martial|

Thierry|Martinien|Thomas|Florent|Antoine|Mariette|Eliane|Thibaud|Amandine|Ulric|Benoît|Olivier|Henri / Joël|Camille / Fête Nationale|Donald|Carmen|Charlotte|Frédéric|

Arsène|Marina|Victor|Marie-Madeleine|Brigitte|Christine|Jacques|Anne|Nathalie|Samson|Marthe|Juliette|Ignace|Alphonse|Julien|Lydie|Jean-Marie|Abel|Octavien|Gaétan|

Dominique|Amour|Laurent|Claire|Clarisse|Hippolyte|Evrard|Marie / Assomption|Armel|Hyacinthe|Hélène|Jean-Eudes|Bernard|Christophe|Fabrice|Rose|Barthélémy|Louis|

Natacha|Monique|Augustin|Sabine|Fiacre|Aristide|Gilles|Ingrid|Grégoire|Rosalie|Raïssa|Bertrand|Reine|Adrien|Alain|Inès|Adelphe|Apollinaire|Aimé|Materne|Roland|Edith|

Renaud|Nadège|Emilie|Davy|Matthieu|Maurice|Constant|Thècle|Hermann|Côme / Damien|Vincent de Paul|Venceslas|Sts Michel|Jérôme|Thérèse|Léger|Gérard|François|Fleur|

Bruno|Serge|Pélagie|Denis|Ghislain|Firmin|Wilfrid|Géraud|Juste|Thérèse|Edwige|Baudouin|Luc|René Goupil|Adeline|Céline|Elodie|Jean de Capistran|Florentin|Crépin|

Dimitri|Emeline|Simon|Narcisse|Bienvenue|Quentin|Toussaint|Défunts|Hubert|Charles|Sylvie|Bertille|Carine|Geoffroy|Théodore|Léon|Martin / Admistice 1918|Christian|

Brice|Sidoine|Albert|Marguerite|Elisabeth|Aude|Tanguy|Edmond|Présentation de Marie|Cécile|Clément|Flora|Catherine|Delphine|Séverin|Jacques de la Marche|Saturnin|

André|Florence|Viviane|Xavier|Barbara|Gérald|Nicolas|Ambroise|Frida|Pierre Fourier|Romaric|Daniel|Chantal|Lucie|Odile|Ninon|Alice|Gaël|Gatien|Urbain|Théophile|Pierre

Canisius|Françoise-Xavière|Armand|Adèle|Noël|Etienne|Jean|Gaspard|David|Roger|Sylvestre".split(/\|/g);
var annee=new Date().getFullYear();
var mois=new Date().getMonth();
var jour=new Date().getDate();

function edtCal(a){

var chn='',ms=-1,bs=0,s=Math.floor(a/100),pl=(15-Math.floor(s/4)+s-Math.floor(((s<<3)+13)/25)+19*(a%19))%30,pj,pq,cn,pq,as,pn;
if (pl==28) if (10<(a%19)) pl--;else pl++;
pj=pl;if (pl!=29 || new Date(a,2,pl).getDay()) pj=pl-new Date(a,2,pl).getDay()+7;
mg=new Date(a,2,pj-26).valueOf();ra=new Date(a,2,pj+14).valueOf();
cn=new Date(a,2,pj-25).valueOf();pq=new Date(a,2,pj+21).valueOf();
as=new Date(a,2,pj+60).valueOf();pn=new Date(a,2,pj+70).valueOf();
lpq=new Date(a,2,pj+22).valueOf();lpn=new Date(a,2,pj+71).valueOf();
for (i=1;;i++){cd=new Date(a,0,i);

for (x=1;;x++) { plundi=new Date(a,0,x);
if (plundi.getDay()==1) break ;}
for (x=1;;x++) { pjeudi=new Date(a,0,x);
if (pjeudi.getDay()==4) break ;}

//calcul numero semaine et style affichage

sem=Math.ceil((cd.getTime()-plundi.getTime()+86400*1000)/(86400*1000*7));
if (plundi>=pjeudi) sem+=1;
sem+=' ';
if (sem<=10) sem+='S';
if (cd.getDay()!=3 && cd.getDay()!=4) sem='S   ';

if (cd.getFullYear()!=a) break;
if (cd.getMonth()!=ms) {ms=cd.getMonth();
if (chn) chn+='
';
chn+='
<hr> '+mos[ms]+ ' <hr>'}
if (i == 60 && cd.getMonth()==2) bs++;

y=z=' ';if (!cd.getDay()) {
if ("DiLuMaMeJeVeSa".substr(2*cd.getDay(),2) == "Di") y='';z='

';}
else {z='
'};
jy=jz=' ';if (a==annee && cd.getDate()==jour && cd.getMonth()== mois){jy=' ';jz='

';}
else {jz='
'};

//chn+=cd.getDate()+' '+ cd.getMonth()+ ' ' +a+' ' +jour+' ' +mois+' ' +annee+' ' ;

//Affichage semaine Sem ou S et colorisation

sem2=(" "+sem+" ")

if (cd.valueOf() == mg) chn+=sem2+jy+'Ma '+cd.getDate()+' '+tSt[i-1+bs]+' Mardi Gras '+jz;
else if (cd.valueOf() == cn) chn+=sem2 +jy+ 'Me '+cd.getDate()+' '+tSt[i-1+bs]+' Cendres '+jz;
else if (cd.valueOf() == ra) chn+=' S Di '+cd.getDate()+' '+tSt[i-1+bs]+' Rameaux

';else if (cd.getMonth() 0 && cd.getDate() 1) chn+=''+y+sem2+"DiLuMaMeJeVeSa".substr(2*cd.getDay(),2)+' 1 Jour de l\'An'+z+' ';else if (cd.getMonth() 4 && cd.getDate() 1) chn+=''+y+sem2+"DiLuMaMeJeVeSa".substr(2*cd.getDay(),2)+' 1 Jérémie Fête du

Travail'+z+'';else if (cd.getMonth() 4 && cd.getDate() 8) chn+=''+y+sem2+"DiLuMaMeJeVeSa".substr(2*cd.getDay(),2)+' 8 Désiré Victoire

1945'+z+'';else if (cd.getMonth() 6 && cd.getDate() 14) chn+=''+y+sem2+"DiLuMaMeJeVeSa".substr(2*cd.getDay(),2)+' 14 Camille Fête

Nationale'+z+'';else if (cd.getMonth() 7 && cd.getDate() 15) chn+=''+y+sem2+"DiLuMaMeJeVeSa".substr(2*cd.getDay(),2)+' 15 Marie

Assomption'+z+'';else if (cd.getMonth() 10 && cd.getDate() 1) chn+=''+y+sem2+"DiLuMaMeJeVeSa".substr(2*cd.getDay(),2)+' 1 Toussaint'+z+' ';else if (cd.getMonth() 10 && cd.getDate() 11) chn+=''+y+sem2+"DiLuMaMeJeVeSa".substr(2*cd.getDay(),2)+' 11 Martin Admistice

1918'+z+'';else if (cd.getMonth() 11 && cd.getDate() 25) chn+=''+y+sem2+"DiLuMaMeJeVeSa".substr(2*cd.getDay(),2)+' 25 Noël '+z+' ';

else if (cd.valueOf() == pq) chn+='S Di '+cd.getDate()+' '+tSt[i-1+bs]+'

Pâques

';
else if (cd.valueOf()==lpq) chn+='S Lu '+cd.getDate()+' '+tSt[i-1+bs]+' Lundi Pâques
';

else if (cd.valueOf() == lpq) chn+='S Lu '+cd.getDate()+' Marc
';
else if (cd.valueOf() == as) chn+='S Je '+cd.getDate()+' '+tSt[i-1+bs]+' Ascension
';
else if (cd.valueOf() ==pn) chn+=' S Di '+cd.getDate()+' '+tSt[i-1+bs]+'

Pentecôte

';
else if (cd.valueOf()==lpn) chn+='S Lu '+cd.getDate()+' '+tSt[i-1+bs]+' Lundi

Pentecôte
';
else if (a==annee && cd.getDate()==jour && cd.getMonth()== mois) chn+=jy+' S '+"DiLuMaMeJeVeSa".substr(2*cd.getDay(),2)+'

'+cd.getDate()+' '+tSt[i-1+bs]+''+jz;

//Affichage semaine Sem +sem2+

else chn+=y +sem2+ "DiLuMaMeJeVeSa".substr(2*cd.getDay(),2)+' '+cd.getDate()+' '+tSt[i-1+bs]+ z ;}
chn+='
';

document.getElementById('ida').innerHTML=a;
document.getElementById('cal').innerHTML=chn;
}
edtCal(new Date().getFullYear());
function newAnn(d){var a=document.getElementById('ida').innerHTML;edtCal(parseInt(a)+d);}

</script>

</html>
jtoto Messages postés 29 Date d'inscription lundi 2 janvier 2006 Statut Membre Dernière intervention 23 février 2009
14 mars 2011 à 15:11
voici une variante du très bon programme développé par 007julien si cela peut rendre service à quelqu'un je le joint:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang= "fr">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="generator" content="PSPad editor, www.pspad.com">
<title>Calendrier</title>
<style type="text/css">
body {margin:0;padding:0;font:12px/13px Arial,Courier,monospace}
h1 {margin:20px;padding:0;font:16px/20px;text-align:center;}
a {text-decoration:none;color:#909;}
.mst {font-size:16px}
.dim { background-color:yellow; padding:0px; margin:0px; }
.jannee { background-color:#d3d3d3; padding:0px; margin:0px; }
#cal {display:block;position:relative;margin: 0 auto;width:1140px;height:900px;overflow:hidden;}
//.clc {display:block;position:absolute;border: 1px dotted red;top:0px;width:190px;padding:0px;background:#fff;}
.clc {display:block;position:absolute;top:0px;width:190px;padding:0px;background:#fff;}
</style>
</head>

["javascript:newAnn(-20)" title="Recul rapide - 20ans)">«« « Calendrier »
var mos='Janvier|Février|Mars|Avril|Mai|Juin|Juillet|Août|Septembre|Octobre|Novembre|Décembre'.split(/\|/g);
var tSt="Jour de l'An|Basile|Geneviève|Odilon|Edouard|Mélaine|Raymond|Lucien|Alix|Guillaume|Paulin|Tatiana|Yvette|Nina|Rémi|Marcel|Roseline|Prisca|Marius|Sébastien|Agnès|Vincent|Barnard|François de Sales|Apollos|Paule|Angèle|Thomas d'Aquin|Gildas|Martine|Marcelle|Ella|Théophane|Blaise|Véronique|Agathe|Gaston|Eugénie|Jacqueline|Apolline|Arnaud|ND de Lourdes|Félix|Béatrice|Valentin|Claude|Julienne|Alexis|Bernadette|Gabin|Aimée|Damien|Isabelle|Lazare|Modeste|Roméo|Nestor|Honorine|Romain|Auguste|Aubin|Jaouen|Guénolé|Casimir|Olive|Colette|Félicité|Jean de Dieu|Françoise|Vivien|Rosine|Justine|Rodrigue|Mathilde|Louise|Bénédicte|Patrick|Cyrille|Joseph|Herbert|Clémence|Léa|Victorien|Karine|Annonciation|Lara|Habib|Gontran|Gwladys|Amédée|Benjamin|Hugues|Sandrine|Richard|Isidore|Irène|Marcellin|Jean-Baptiste|Julie|Gautier|Fulbert|Stanislas|Jules|Ida|Maxime|Paterne|Benoît-Joseph|Anicet|Parfait|Emma|Odette|Anselme|Alexandre|Georges|Fidèle|Marc|Alida|Zita|Valérie|Catherine|Robert|Jérémie / Fête du Travail|Boris|Philippe|Sylvain|Judith|Prudence|Gisèle|Désiré|Pacôme|Solange|Estelle|Achille|Rolande|Matthias|Denise|Honoré|Pascal|Eric|Yves|Bernardin|Constantin|Emile|Didier|Donatien|Sophie|Bérenger|Augustin|Germain|Aymard|Ferdinand|Perrette|Justin|Blandine|Kevin|Clotilde|Igor|Norbert|Gilbert|Médard|Diane|Trinité|Barnabé|Guy|Antoine|Elisée|Germaine|Régis|Hervé|Léonce|Romuald|Silvère|Rodolphe|Alban|Audrey|Yann|Prosper|Anthelme|Fernand|Irénée|Pierre / Paul|Martial|Thierry|Martinien|Thomas|Florent|Antoine|Mariette|Eliane|Thibaud|Amandine|Ulric|Benoît|Olivier|Henri / Joël|Camille / Fête Nationale|Donald|Carmen|Charlotte|Frédéric|Arsène|Marina|Victor|Marie-Madeleine|Brigitte|Christine|Jacques|Anne|Nathalie|Samson|Marthe|Juliette|Ignace|Alphonse|Julien|Lydie|Jean-Marie|Abel|Octavien|Gaétan|Dominique|Amour|Laurent|Claire|Clarisse|Hippolyte|Evrard|Marie / Assomption|Armel|Hyacinthe|Hélène|Jean-Eudes|Bernard|Christophe|Fabrice|Rose|Barthélémy|Louis|Natacha|Monique|Augustin|Sabine|Fiacre|Aristide|Gilles|Ingrid|Grégoire|Rosalie|Raïssa|Bertrand|Reine|Adrien|Alain|Inès|Adelphe|Apollinaire|Aimé|Materne|Roland|Edith|Renaud|Nadège|Emilie|Davy|Matthieu|Maurice|Constant|Thècle|Hermann|Côme / Damien|Vincent de Paul|Venceslas|Sts Michel|Jérôme|Thérèse|Léger|Gérard|François|Fleur|Bruno|Serge|Pélagie|Denis|Ghislain|Firmin|Wilfrid|Géraud|Juste|Thérèse|Edwige|Baudouin|Luc|René Goupil|Adeline|Céline|Elodie|Jean de Capistran|Florentin|Crépin|Dimitri|Emeline|Simon|Narcisse|Bienvenue|Quentin|Toussaint|Défunts|Hubert|Charles|Sylvie|Bertille|Carine|Geoffroy|Théodore|Léon|Martin / Admistice 1918|Christian|Brice|Sidoine|Albert|Marguerite|Elisabeth|Aude|Tanguy|Edmond|Présentation de Marie|Cécile|Clément|Flora|Catherine|Delphine|Séverin|Jacques de la Marche|Saturnin|André|Florence|Viviane|Xavier|Barbara|Gérald|Nicolas|Ambroise|Frida|Pierre Fourier|Romaric|Daniel|Chantal|Lucie|Odile|Ninon|Alice|Gaël|Gatien|Urbain|Théophile|Pierre Canisius|Françoise-Xavière|Armand|Adèle|Noël|Etienne|Jean|Gaspard|David|Roger|Sylvestre".split(/\|/g);
var annee=new Date().getFullYear();
var mois=new Date().getMonth();
var jour=new Date().getDate();

function edtCal(a){

var chn='',ms=-1,bs=0,s=Math.floor(a/100),pl=(15-Math.floor(s/4)+s-Math.floor(((s<<3)+13)/25)+19*(a%19))%30,pj,pq,cn,pq,as,pn;
if (pl==28) if (10<(a%19)) pl--;else pl++;
pj=pl;if (pl!=29 || new Date(a,2,pl).getDay()) pj=pl-new Date(a,2,pl).getDay()+7;
mg=new Date(a,2,pj-26).valueOf();ra=new Date(a,2,pj+14).valueOf();
cn=new Date(a,2,pj-25).valueOf();pq=new Date(a,2,pj+21).valueOf();
as=new Date(a,2,pj+60).valueOf();pn=new Date(a,2,pj+70).valueOf();
lpq=new Date(a,2,pj+22).valueOf();lpn=new Date(a,2,pj+71).valueOf();
for (i=1;;i++){cd=new Date(a,0,i);

if (cd.getFullYear()!=a) break;
if (cd.getMonth()!=ms) {ms=cd.getMonth();
if (chn) chn+='
';
chn+='
'+mos[ms]+' <hr>'}
if (i == 60 && cd.getMonth()==2) bs++;
y=z=' ';if (!cd.getDay()) {
if ("DiLuMaMeJeVeSa".substr(2*cd.getDay(),2) == "Di") y='';z='

';}
else {z='
'};
jy=jz=' ';if (a==annee && cd.getDate()==jour && cd.getMonth()== mois){jy='';jz='

';}
else {jz='
'};

//chn+=cd.getDate()+' '+ cd.getMonth()+ ' ' +a+' ' +jour+' ' +mois+' ' +annee+' ' ;

if (cd.valueOf()==mg) chn+=jy+'Ma '+cd.getDate()+' '+tSt[i-1+bs]+' / Mardi Gras '+jz;
else if (cd.valueOf()== cn) chn+=jy+'Me '+cd.getDate()+' '+tSt[i-1+bs]+' / Cendres '+jz;
else if (cd.valueOf()== ra) chn+='Di '+cd.getDate()+' '+tSt[i-1+bs]+' / Rameaux

';else if (cd.getMonth() 0 && cd.getDate() 1) chn+=' '+y+"DiLuMaMeJeVeSa".substr(2*cd.getDay(),2)+' 1 Jour de l\'An'+z+' ';else if (cd.getMonth() 4 && cd.getDate() 1) chn+=' '+y+"DiLuMaMeJeVeSa".substr(2*cd.getDay(),2)+' 1 Jérémie / Fête du Travail'+z+' ';else if (cd.getMonth() 4 && cd.getDate() 8) chn+=' '+y+"DiLuMaMeJeVeSa".substr(2*cd.getDay(),2)+' 8 Désiré / Victoire 1945'+z+' ';else if (cd.getMonth() 6 && cd.getDate() 14) chn+=' '+y+"DiLuMaMeJeVeSa".substr(2*cd.getDay(),2)+' 14 Camille / Fête Nationale'+z+' ';else if (cd.getMonth() 7 && cd.getDate() 15) chn+=' '+y+"DiLuMaMeJeVeSa".substr(2*cd.getDay(),2)+' 15 Marie / Assomption'+z+' ';else if (cd.getMonth() 10 && cd.getDate() 1) chn+=' '+y+"DiLuMaMeJeVeSa".substr(2*cd.getDay(),2)+' 1 Toussaint'+z+' ';else if (cd.getMonth() 10 && cd.getDate() 11) chn+=' '+y+"DiLuMaMeJeVeSa".substr(2*cd.getDay(),2)+' 11 Martin / Admistice 1918'+z+' ';else if (cd.getMonth() 11 && cd.getDate() 25) chn+=' '+y+"DiLuMaMeJeVeSa".substr(2*cd.getDay(),2)+' 25 Noël'+z+' ';
else if (cd.valueOf() == pq) chn+='Di '+cd.getDate()+' '+tSt[i-1+bs]+' / Pâques

';
else if (cd.valueOf()==lpq) chn+=' Lu '+cd.getDate()+' Marc
';
else if (cd.valueOf() == as) chn+=' Je '+cd.getDate()+' '+tSt[i-1+bs]+' / Ascension
';
else if (cd.valueOf() == pn) chn+='Di '+cd.getDate()+' '+tSt[i-1+bs]+' / Pentecôte

';
else if (cd.valueOf()==lpn) chn+=' Lu '+cd.getDate()+' Antoine
';
else if (a == annee && cd.getDate()==jour && cd.getMonth()== mois) chn+=jy+' '+"DiLuMaMeJeVeSa".substr(2*cd.getDay(),2)+' '+cd.getDate()+' '+tSt[i-1+bs]+' '+jz;

else chn+ =y+"DiLuMaMeJeVeSa".substr(2*cd.getDay(),2)+' '+cd.getDate()+' '+tSt[i-1+bs]+z;}
chn+='
';
document.getElementById('ida').innerHTML=a;
document.getElementById('cal').innerHTML=chn;
}
edtCal(new Date().getFullYear());
function newAnn(d){var a=document.getElementById('ida').innerHTML;edtCal(parseInt(a)+d);}

</script>

</html>
LeFauve42 Messages postés 239 Date d'inscription vendredi 20 octobre 2006 Statut Membre Dernière intervention 20 avril 2009
14 mars 2011 à 12:45
Bonjour,

Est-ce que quelqu'un aurait mis ce script en ligne quelque part, afin qu'on puisse voir a quoi ca ressemble ?

Eric
PETITCLIC Messages postés 3 Date d'inscription vendredi 15 juin 2007 Statut Membre Dernière intervention 28 février 2011
28 févr. 2011 à 20:31
Désolé,
soustrayez 1 à mes numéros de lignes dans mes derniers commentaires.
PETITCLIC Messages postés 3 Date d'inscription vendredi 15 juin 2007 Statut Membre Dernière intervention 28 février 2011
28 févr. 2011 à 20:24
Je voulais afficher le numéro de semaine, et je propose cette solution en m'inspirant de la solution de Marmotte86 (http://www.javascriptfr.com/codes/CALENDRIER-MOIS-ANNEE-AVEC-AFFICHAGE-NUMEROS-SEMAINE_32185.aspx)

Ligne 24 : déclaration de 3 variables supplémentaires : plundi (premier lundi de l'année); pjeudi (premier jeudi de l'année); et sem (pour le numéro de semaine).

Insertion de 4 lignes après la ligne 28 :
for (x=1;;x++) { plundi=new Date(a,0,x);
if (plundi.getDay()==1) break ;}
for (x=1;;x++) { pjeudi=new Date(a,0,x);
if (pjeudi.getDay()==4) break ;}

Insertion de 5 lignes après la ligne 34 ("if (i==60 && cd.getMonth()==2) bs++;") qui est devenu 38 :
sem=Math.ceil((cd.getTime()-plundi.getTime()+86400*1000)/(86400*1000*7));
if (plundi>pjeudi) sem+=1;
sem+=' ';
if (sem<10) sem+=' ';
if (cd.getDay()!=3 && cd.getDay()!=4) sem=' ';

Enfin ne pas oublier d'inclure sem en début de chaine dans les lignes suivantes concernant les jours fériés (question d'esthétique).

Et biensûr dernière ligne : else chn+=y+sem+"DiLuMa......etc
Voilà, j'espère que mes explications ne sont pas trop brouillonnes, et surtout qu'il n'y a pas d'erreur.
PETITCLIC Messages postés 3 Date d'inscription vendredi 15 juin 2007 Statut Membre Dernière intervention 28 février 2011
28 févr. 2011 à 19:55
Bonjour, j'ose mon premier post. C'est surtout pour avoir vos critiques et améliorer mon niveau amateur.
Tout d'abord, pour la largeur des colonnes mois, j'ai remplacé 960px par 1200px (ligne13).
Puis en ligne 32 : (160*ms)%960 par (200*ms)%1200, car 6x200=1200.
on fait ainsi varier la largeur par des multiples de 6.
A bientôt,
Et merci 007Julien, ce calendrier est très intéressant.
007Julien Messages postés 276 Date d'inscription mercredi 22 septembre 2010 Statut Membre Dernière intervention 8 janvier 2014 4
8 févr. 2011 à 01:34
Peut-être pourrait-on faire en sorte, avec un z-index, que les mois «prennent le dessus» au passage de la souris de manière à autoriser la lecture des lignes dans leur intégralité ? Encore conviendrait-il de régler le sort des mois de juin et décembre ?
007Julien Messages postés 276 Date d'inscription mercredi 22 septembre 2010 Statut Membre Dernière intervention 8 janvier 2014 4
8 févr. 2011 à 01:03
En toute hypothèse, Il sera difficile d'afficher l'intégralité des lignes telles que St Camille/Fête Nationale. Peut-être conviendra-t-il d'opérer des choix...

Sinon, la classe clc est complétée par l'attribut style (ligne 32) qui définit la position de chaque (container de) mois à l'intérieur du container cal.

Ainsi les mois, dont la largeur (200px) doit être suffisante pour éviter les retours à la ligne, se chevauchent avec des décalages latéraux plus faibles (140px). La largeur limitée du container cal 6x140=840px, avec un overflow:heidden, masque les débordements des mois de juin et décembre.

Sur la verticale, le décalage de 450 px qui intervient à partir du mois de juillet (avec la condition 'top:'+((140*ms<820)?0:450)+'px' qui pourrait être simplifiée en 'top:'+((ms<6)?0:450)+'px) et la hauteur totale du container (le double) doivent être adaptés à la hauteur de ligne de 13px (font:10px/13px sur la ligne 8) de manière à dégager de l'ordre de 34 lignes (34x13=452) pour la hauteur totale des mois.

Ces indications devraient permettre toutes adaptations liées au changement de nature ou de taille de la police de caractère...
jtoto Messages postés 29 Date d'inscription lundi 2 janvier 2006 Statut Membre Dernière intervention 23 février 2009
7 févr. 2011 à 23:36
je ne suis pas un pro de javascript je souhaiterais espacer les différents mois mais je ne voi spas comment faire avec le .clc {display:block;position:absolute;.... car en fait les mois se chevauchent quand on augmente la police de caractères. quelqu'un peut il m'indiquer la solution pour augmenter la police et avoir le texte complet!!! merci pour votre aide
007Julien Messages postés 276 Date d'inscription mercredi 22 septembre 2010 Statut Membre Dernière intervention 8 janvier 2014 4
7 févr. 2011 à 10:52
C'est vrai, le calendrier en téléchargement est à rectifier en ce qui concerne le mercredi des Cendres.

Maintenant pour les accents, le jeu de caractère annoncé étant utf-8 (voir le charset à la fin de la ligne n°4), il convient d'enregistrer ce fichier avec ce même jeu de caractères pour retrouver les accents ou bien encore de modifier le charset en conséquence).

Quant à la modification effectuée elle visait à remplacer non pas les accents typographiques (encore une erreur de ma part) mais les seules apostrophes typographiques...

Enfin, de bons graphistes pourraient sans doute améliorer la présentation de ce calendrier.
tefa24600 Messages postés 30 Date d'inscription samedi 4 août 2007 Statut Membre Dernière intervention 21 février 2012
7 févr. 2011 à 10:16
Très bon code (pour l'avoir testé en avant première !) :p

Je ne mets pas 10 car un code n'est jamais parfait (sinon on s'em....rait) !
francislulu Messages postés 5 Date d'inscription mardi 10 octobre 2006 Statut Membre Dernière intervention 7 février 2011
7 févr. 2011 à 09:40
bonjour, apparemment en téléchargement c'est toujours le calendrier non rectifié, sans les accents !!!!!
007Julien Messages postés 276 Date d'inscription mercredi 22 septembre 2010 Statut Membre Dernière intervention 8 janvier 2014 4
4 févr. 2011 à 11:12
Effectivement, j'avais laissé passer cette coquille... Je viens de rectifier le script proposé. Merci cette aimable attention et participation.
engelein Messages postés 3 Date d'inscription dimanche 31 juillet 2005 Statut Membre Dernière intervention 4 février 2011
4 févr. 2011 à 10:47
bonjour,
pour que le mercredi des cendres tombe à la bonne date, il faut remplacer dans la ligne 26: cn=new Date(a,2,pj-35).valueOf();par: cn=new Date(a,2,pj-25).valueOf();
bonne journée
Rejoignez-nous