Bonjour à tous
Voila j'ai decidé de mettre un peut les mains dans le cambuit :)
et déja j'ai un petit soucis qui je pense dois etre tres simple a regler pour la majorité des gens qui frequente ce forum.
utilisateur depuis quelques temps du script http://www.javascriptfr.com/code.aspx?ID=16244
neige en hiver, feuille en automne ... j'aurais aimé modifié les evenements non plus par saison mais par certain evenement bien precis (noel, nouvel an, fêtes des meres, st valentin etc...)
jusqu'ici pas trop de soucis :)
mais mon probleme est que entre deux evenements j'aimerai qu'il ne se passe rien.
là dans l'etat actuel des choses entre deux evenement j'ai des carré vides qui descendent de l'ecran :( (javascript/neige3/gif/undefined1.gif)
Pour un peut plus de clarté de mes propos je vous joins une copie du script que je modifie.
Merci d'avance pour votre aide.
<SCRIPT LANGUAGE="javascript1.2">
<!--- hide script from old browsers
var nbimg = 18;
var typeimg;
var coordx=new Array(nbimg);
var coordy=new Array(nbimg);
var vity=new Array(nbimg);
var temx=new Array(nbimg);
var decx=new Array(nbimg);
var img=1;
var date=new Date();
var jour=date.getDate();
var mois=date.getMonth()+1;
// si on est le 27 novembre et le avant le 28 novembre
if (((jour>=27) && (mois==11))&&((jour<=30) && (mois==11))) {typeimg="noel";}
// PROBLEME entre le 30 novembre et le 20 decembre j'ai des images vides qui apparaisse a l'ecran !!! :(
if (((jour>=20) && (mois==12))&&((jour<=27) && (mois==12))) {typeimg="soleil";}
// if (condition réalisé) { liste d'instructions }
// else { autre série d'instructions }
// exemple pour le printemps= if (((mois==3) && (jour>=20)) || ((mois==6) && (jour<20)) || ((mois>3) && (mois<6))) {typeimg="fleur";}
// evenement a programmer :
// noel du 20 au 27 decembre
if (((jour>=20) && (mois==12))&&((jour<=27) && (mois==12))) {typeimg="noel";}
// nouvel an du 30 decembre au 7 janvier
if (((jour>=30) && (mois==12))&&((jour<=7) && (mois==1))) {typeimg="an";}
// st valentin le
if (((jour>=13) && (mois==2))&&((jour<=15) && (mois==2))) {typeimg="coeur";}
// fetes des meres du au & peres du au
if (((jour>=25) && (mois==5))&&((jour<=30) && (mois==5))) {typeimg="mam";}
if (((jour>=15) && (mois==6))&&((jour<=20) && (mois==6))) {typeimg="padre";}
// 14 juillet le
if (((jour>=13) && (mois==7))&&((jour<=15) && (mois==7))) {typeimg="nation";}
// halloween
if (((jour>=5) && (mois==11))&&((jour<=10) && (mois==11))) {typeimg="citrouille";}
// sainte catherine le
if (((jour>=24) && (mois==11))&&((jour<=27) && (mois==11))) {typeimg="fleur";}
function InitNeige()
{
if ((document.all)||(document.getElementById)
{
/*pour ceux qui veulent que l'élément(neige, feuille, soleil, fleur) aille jusqu'a la fin de la page
(dans le cas ou on a une page plus grande que la taille du client(partie visible) => tailley = document.body.clientHeight)
quand on a le scrollBar qui s'affiche, c'est de recalculer la taille en remplacant
document.body.clientHeight
par
(Math.max(document.body.scrollHeight, document.body.offsetHeight))
j'ai laissé volontairement les parenthèse de début et de fin pour rajouter une opération
sois -X (ou X est une valeur décimal ou réelle, pour que ca s'arrete a X de la fin de page)
ou +X (pour que ca s'arrete apres la page ce qui fera agrandir le scrollBar) soit :
(Math.max(document.body.scrollHeight, document.body.offsetHeight)) - 10
ou
(Math.max(document.body.scrollHeight, document.body.offsetHeight)) + 10*/
// ou (Math.max(document.body.scrollHeight, document.body.offsetHeight)) ou document.body.clientHeight;
tailley = (Math.max(document.body.scrollHeight, document.body.offsetHeight)) - 350
taillex = document.body.clientWidth;
offsety = document.body.scrollTop;
offsetx = document.body.scrollLeft;
var vara="DIV ID";
var varb="/DIV";
var styl='style="position:absolute;left:0px;top:0px;width:1px;height:1px;visibility:visible;"';
}
else
{
tailley = window.innerHeight;
taillex = window.innerWidth;
offsety = window.pageYOffset;
offsetx = window.pageXOffset;
var vara="LAYER NAME";
var varb="/LAYER";
var styl="";
}
for (i=0;i<nbimg;i++)
{
// chaine='<'+vara+'="image'+i+'" '+styl+'><img src="( ICI JE M'est le chemin ou est mon repertoire image) gif/'+typeimg+img+'.gif"><'+varb+'>';
chaine='<'+vara+'="image'+i+'" '+styl+'><img src="gif/'+typeimg+img+'.gif"><'+varb+'>';
document.write(chaine);
coordx[i]=80+(Math.random()*taillex-160);
coordy[i]=i*(tailley/(nbimg-1));
vity[i]=img; temx[i]=(Math.random()*19);
decx[i]=0;
img+=1;
if (img>3)
{
img=1;
}
}
}
function neige()
{
for (i=0;i<nbimg;i++)
{
if (document.getElementById) { //IE5 et NS6
eval('document.getElementById("image"+i).style.top ='+ coordy[i]+';');
eval('document.getElementById("image"+i).style.left ='+ coordx[i]+';');
}
if ((document.all)&&(!document.getElementById)) { //IE4 seulelement
eval ('document.all.image'+i+'.style.top = coordy[i];');
eval ('document.all.image'+i+'.style.left = coordx[i];');
}
if (document.layers) { //NS4.X seulement
eval('document.layers["image"+i].top=top;');
}
temx[i]+=1
if (temx[i]>20)
{
decx[i]=1-(Math.random()*2);
temx[i]=0;
}
coordx[i]+=decx[i];
coordy[i]+=vity[i];
maxi=tailley+offsety;
if (coordy[i]>maxi) {coordx[i]=80+(Math.random()*taillex-160);coordy[i]=-100;}
}
tempo = setTimeout("neige()", 50);
}
// end hiding --->
</script>
<BODY onload="neige()">
<script>InitNeige()</script>
</BODY>
PS: je ne c'est pas si j'ai bien posté dans la bonne section si ce n'est pas le cas désolé, qu'un modo le deplace dans la section approprié.