11488 sujets

JavaScript, DOM et API Web HTML5

Bonjours à tous j'utilise un script pour déterminer la saison en js j'avais trouver un plutôt bien mais qui s' arrêtais au mois. j'ai donc fais une modif pour que changement se fasse après le 21 c'est une moyenne . mais vu mon niveau je voudrais savoir si selon vous ça vas marcher.

var currentTime = new Date()
var month = currentTime.getMonth() + 1
var total = month;
var day = currentTime.getDate()
var doc
doc=document.location.href.split("?")


// Summer
if ( day >=21 & total >=6 && total <= 8)
{
document.write("<img src='monsite/saison/ete/ete_" + parseInt(Math.random()*4) + ".png'  />");
}
// Autumn
else if ( day >=21 & total >=9 && total <= 11)
{
document.write("<img src='monsite/saison/automne/aut_" + parseInt(Math.random()*4) + ".png'  />");
}
// Winter
else if ( day >=21 & total ==12 || total == 1 || total == 2)
{
document.write("<img src='monsite/saison/hivers/hiv_" + parseInt(Math.random()*4) + ".png'  />"); 

  
}
// Spring
else if ( day >=21 & total >=3 && total <= 6)
{
document.write("<img src='monsite/saison/printemps/pri_" + parseInt(Math.random()*4) + ".png'  />");
}

else
{
document.write("<b><br>Error!</b>");
}
Je ne pense pas, parce que tu dois vérifier le jour uniquement si tu es dans le mois où la saison change.

En revanche, le plus simple, c'est de comparer directement les objets dates, non ?

Un truc comme ça (non vérifié) :

var today = new Date();
var spring = new Date(today.getFullYear(), 2, 21);
var summer = new Date(today.getFullYear(), 5, 21);
var autumn = new Date(today.getFullYear(), 8, 21);
var winter = new Date(today.getFullYear(), 11, 21);

if (today < spring && today >= winter) {
  // code pour hiver
}

etc.


Doc de l'objet Date : https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Date

cependant, ce serait sans doute mieux pour l'accessibilité si tu le faisais côté serveur; quel est l'intérêt de le faire en JS ?
Modifié par julienw (23 Mar 2010 - 11:52)
pour moi je l'ai fait en js parce que c'est tout ce que j'ai trouvé .
et que ca me permet de mettre le random images ...

mais si vous avez d'autres pistes je suis ouvert!
Salut,

en PHP on pourrait faire quelque chose comme ça :
function retrouverSaison() {
	$jour_annee = date("z");
	if($jour_annee >=79 && $jour_annee < 171) {
		return 'printemps';
	} elseif($jour_annee >=171 && $jour_annee < 265) {
		return 'été';
	} elseif($jour_annee >=265 && $jour_annee < 355) {
		return 'automne';
	} else {
		return 'hiver';
	}
}

echo '<p>Saison en cours : '.retrouverSaison().'</p>';
Mais c'est une approximation puisque les dates changent chaque année. Donc pour faire quelque chose de plus précis il faudrait se baser par exemple sur le code JavaScript de cette page. Smiley lol
en effet mais c'est déjà bien mieux que le 1er script qui ne gérais que les mois. et ça se joue sur 3 jours.

voila les statistique pour le prochain millénaire:

Mar 19 : 94

Mar 20 :723

Mar 21: 183

src:astro

Dans tous les cas merci je vais tester tout ça!