Mini calendrier objet

Soyez le premier à donner votre avis sur cette source.

Vue 56 176 fois - Téléchargée 3 171 fois

Description

Voici un petit calendrier instanciable pour une aproche objet.
Il utilise une fonction de rappel pour réaliser un traitement lors d'un clic sur une des cases du calendrier.
Le code est minimaliste. Il n'est pas interdit de l'améliorer, ni de le critiquer.
Il fonctionne bien sur IE.
Je vous invite à donner des retours, des conseils.
Toute ressemblance avec un autre code est strictement involontaire.

J'ai fait celà avec mes connaissances limitées.

Conclusion :


Je remercie tous les sites de javascripts que j'ai pu visionner sur le net, notemment http://www.Le-webmestre.net, et codesource, et les auteurs du livre JavaScript professionnel de wrox de m'avoir permis de comprendre une petite partie du javascript.

Il y a un bug lorsque l'on revient avant 2000 : on passe à 99 et lorsque remonte ça repasse à 100. Le bug de l'an 2000, ... Savez vous comment l'éviter ?
Il y en a surement d'autre

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
8
Date d'inscription
dimanche 17 mars 2002
Statut
Membre
Dernière intervention
28 février 2007

Bonjour,

Pour corriger le problème de date, il suffit de remplacer toutes les occurences du mot 'getYear'par 'getFullYear' dans le fichier .js.
Il n'y aura plus de saut au passage des années précédant l'an 2000.
Messages postés
11
Date d'inscription
lundi 6 mars 2006
Statut
Membre
Dernière intervention
9 février 2009

Salut,

à mon avis, il y a un problème avec le changement d'année.
On arrive tout de suite dans les -1700 quelque soit le bouton sur lequel on appuie pour avancer ou reculer d'une année.
A corriger

@+
Sayann
Messages postés
8
Date d'inscription
dimanche 17 mars 2002
Statut
Membre
Dernière intervention
28 février 2007

J'ai oublié les années bisextiles :
Pour corriger cet oubli, il suffit d'ajouter en première ligne de la fonction "minicalendrier_maj()" du fichier minicalendrier.js la ligne suivante :

this.moisnbjours[1]=(!(this.a.getYear()%4) && (this.a.getYear()%100)||!((this.a.getYear()%100)||(this.a.getYear()%400)))?29:28;

Explications :
les mois divisibles par 4 sont bisextilles sauf s'il sont séculaire et indivisibles par 400 :cf calendrier grégorien
a%b renvois 0 si a est divisible par b
soit "dv" pour divisible et "ndv" pour non divisible
si a dv 4 et !(a dv 100) ou (a dv 100 et a dv 400)
comme l'opérateur % agit comme vrai pour "non divisible", on obtient
si !(a ndv 4) et a ndv 100 ou (! (a ndv 100) et ! (a ndv 400))
avec l'équivalence : !a & !b <=> !(a||b)
si !(a ndv 4) et a ndv 100 ou !(a ndv 100 ou a ndv 400)

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.