A voir également:
- (HTML & JS) image en fonction de la date
- Fonction si et - Guide
- Image iso - Guide
- Editeur html - Télécharger - HTML
- Acronis true image - Télécharger - Sauvegarde
2 réponses
Salut,
vous avez compris que l'on regarde la date dans un premier temps avec la fonction getDate();
Ensuite le programme fait des test pour voir si on doit écrire un texte.
Le test ou boucle conditionnelle if (qui veut dire si en anglais) nous permet de vérifier par exemple:
if (date == "29 février") { document.write("Bonne Fête Glinglin !"); }
// Si la date est(exprimé par == qui se traduit en logique par identique à) le 28 février on marque Bonne Fête glinglin
Pour changer une image à la place d'écrire du texte on ne va pas utiliser document.write(écrit sur mon document) mais document.image (la notation pointée indique que l'on travaille avec des objets ou classe d'objets):
document.image.src va nous permettre de changer la source(src) de l'image autrement dit son url(adresse sur le serveur qui correspond àà son nom et chemin d'accès).
Pour plus de facilité et comme il peut y avoir plusieurs images sur la page et qu'il faut indiquer laquelle doit changer on va nommer cette image afin de la repérer.
Cela se passe dans le html avec l'attribut de la balise image dans la balise image(img):
<img name="periodique" src="image1.jpg" />
// je l'ai appelé periodique pour plus de clarté mais on aurait pu l'appeler robert ou martine ça n'aurait rien changé.
Voilà une fois notre image nommée il est plus facile de la repérer:
document.image.periodique.src désigne donc la source de la balise image nommée periodique.
Le test conditionnel pourrait être "est identique" mais il faut définir les jours pour en avoir 4-5 avec la même image, ça marche mais un peu longuet et pas très bien fait au niveau logique:
Redondant et casse pied à écrire et regarder.
On pourrait faire ceci qui revient au même mais en plus propre, en utilisant l'opérateur or ( || en javascript) ce qui en français veut dire ou(de ou bien).
if(date == "1" || date == "2" || date == "3" || date == "4" ||){
document.image.periodique.src="imagedebutmois.jpg";
}
if(date == "5" || date == "6" || date == "7" || date == "8" ||){
document.image.periodique.src="image1.jpg";
}
Toujours aussi redondant et as pratique(il n'y a que 30 mois mais imaginez que vous avez un test avec 500 valeurs, il faudrait tout taper).
Donc la meilleure solution et d'utiliser l'opérateur AND (et en anglais dont le symbole en javascript est &&) :
si la date est strictement plus grande que 0(>0) et strictement plus petite que 5(<5) (ce qui revient à dire compris entre ces deux valeurs elle même étant exclues), donc les jours du mois qui sont 1,2,3,4
Ici si la date est >4 (donc à partir de 5) et inférieure à 9(jusqu'à 8) on affiche l'image image1.jpg
Rien n'empêche de rajouter une condition avec et(&&) pour tenir aussi compte du mois.
if(date>10 && date <=15 && mois=="juillet"){
//la condition s'applique pour les jours compris entre le 11 et 15 juillet uniquement)
}
vous avez compris que l'on regarde la date dans un premier temps avec la fonction getDate();
Ensuite le programme fait des test pour voir si on doit écrire un texte.
Le test ou boucle conditionnelle if (qui veut dire si en anglais) nous permet de vérifier par exemple:
if (date == "29 février") { document.write("Bonne Fête Glinglin !"); }
// Si la date est(exprimé par == qui se traduit en logique par identique à) le 28 février on marque Bonne Fête glinglin
Pour changer une image à la place d'écrire du texte on ne va pas utiliser document.write(écrit sur mon document) mais document.image (la notation pointée indique que l'on travaille avec des objets ou classe d'objets):
document.image.src va nous permettre de changer la source(src) de l'image autrement dit son url(adresse sur le serveur qui correspond àà son nom et chemin d'accès).
Pour plus de facilité et comme il peut y avoir plusieurs images sur la page et qu'il faut indiquer laquelle doit changer on va nommer cette image afin de la repérer.
Cela se passe dans le html avec l'attribut de la balise image dans la balise image(img):
<img name="periodique" src="image1.jpg" />
// je l'ai appelé periodique pour plus de clarté mais on aurait pu l'appeler robert ou martine ça n'aurait rien changé.
Voilà une fois notre image nommée il est plus facile de la repérer:
document.image.periodique.src désigne donc la source de la balise image nommée periodique.
Le test conditionnel pourrait être "est identique" mais il faut définir les jours pour en avoir 4-5 avec la même image, ça marche mais un peu longuet et pas très bien fait au niveau logique:
if(date == "1"){ document.image.periodique.src="imagedebutmois.jpg"; } if(date == "2"){ document.image.periodique.src="imagedebutmois.jpg"; } if(date == "3"){ document.image.periodique.src="imagedebutmois.jpg"; } if(date == "4"){ document.image.periodique.src="imagedebutmois.jpg"; } if(date == "5"){ document.image.periodique.src="image1.jpg"; }
Redondant et casse pied à écrire et regarder.
On pourrait faire ceci qui revient au même mais en plus propre, en utilisant l'opérateur or ( || en javascript) ce qui en français veut dire ou(de ou bien).
if(date == "1" || date == "2" || date == "3" || date == "4" ||){
document.image.periodique.src="imagedebutmois.jpg";
}
if(date == "5" || date == "6" || date == "7" || date == "8" ||){
document.image.periodique.src="image1.jpg";
}
Toujours aussi redondant et as pratique(il n'y a que 30 mois mais imaginez que vous avez un test avec 500 valeurs, il faudrait tout taper).
Donc la meilleure solution et d'utiliser l'opérateur AND (et en anglais dont le symbole en javascript est &&) :
if(date >0 && date <5){ document.image.periodique.src="imagedebutmois.jpg"; }
si la date est strictement plus grande que 0(>0) et strictement plus petite que 5(<5) (ce qui revient à dire compris entre ces deux valeurs elle même étant exclues), donc les jours du mois qui sont 1,2,3,4
if(date >4 && date <9){ document.image.periodique.src="image1.jpg"; }
Ici si la date est >4 (donc à partir de 5) et inférieure à 9(jusqu'à 8) on affiche l'image image1.jpg
Rien n'empêche de rajouter une condition avec et(&&) pour tenir aussi compte du mois.
if(date>10 && date <=15 && mois=="juillet"){
//la condition s'applique pour les jours compris entre le 11 et 15 juillet uniquement)
}