[recherche] script neige compatible !

HTML5, CSS3, Javascript, support des mobiles... Que penser de votre site ? Vous manquez d'informations pour la construction d'un site qui puisse s'afficher correctement partout ? C'est un problème simple, un peu complexe ? Venez ici !
PierreFox
Iguane
Messages : 501
Inscription : 28 sept. 2004, 21:54

[recherche] script neige compatible !

Message par PierreFox »

Bonjour,

Je suis à la recherche d'un script qui fait tomber de la neige, j'en avais trouvé un l'année dernière mais je me suis apercu qu'il ne fonctionnait pas sous firefox donc j'aimerais savoir si vous n'en aurez pas un à la fois jolie (car on trouve de tout pour les script de la neige) mais surtout qu'il soit compatible avec firefox !



Merci
jv2759
Tyrannosaurus Rex
Messages : 4161
Inscription : 12 févr. 2004, 14:29

Message par jv2759 »

j'ai déjà vue une telle demande passer il y as quelque semaine...
Inscrit sur la liste des abonner absent...
PierreFox
Iguane
Messages : 501
Inscription : 28 sept. 2004, 21:54

Message par PierreFox »

jv2759 a écrit :j'ai déjà vue une telle demande passer il y as quelque semaine...
J'ai trouvé ceci avec la recherche :
http://www.geckozone.org/forum/viewtopi ... ight=neige

Mais ca me tente pas trop :s
PsyDk
Lézard à collerette
Messages : 317
Inscription : 23 sept. 2003, 09:41

Message par PsyDk »

J'en avais programmé un l'année dernière mais je n'en étais pas satisfait. Je vais peut-être le reprendre quand même cette année...

Le soucis c'est que c'était lent et y'avait des artefacts visuels pas très beaux sous Gecko. Opera s'en tirait pas mal. Sous IE le soucis c'est le position: fixed qui n'est pas reconnu.

Je vais voir si je fais un truc en position: absolute même si c'est moins sympa (genre le flocon qui part à côté influence la scrollbar du navigateur, bof bof).
jv2759
Tyrannosaurus Rex
Messages : 4161
Inscription : 12 févr. 2004, 14:29

Message par jv2759 »

sinon recupérer l'exemple et l'apéliorer...
Inscrit sur la liste des abonner absent...
PierreFox
Iguane
Messages : 501
Inscription : 28 sept. 2004, 21:54

Message par PierreFox »

J'avais celui ci qui était simple, bien et donc pas trop lourd pour la page, seulement il n'est pas compatible avec firefox :(

Code : Tout sélectionner

<style>
.drop { position: absolute; width: 3;  filter: flipV(), flipH(); font-size: 40; color: blue }
</style>
<script language=javascript>
snow = true; // false pour la pluie;   true pour la neige
snowsym = " * "
rainsym = " ' "
howmany = 50
if(snow){sym = snowsym; speed=1; angle=10; drops=howmany}
else{sym = rainsym; speed=50; drops=howmany; angle=6}
movex = -speed/angle; movey = speed; count = 0;
function moverain(){
for(move = 0; move < drops; move++){
xx[move]+=movex;  yy[move]+=mv[move];
hmm = Math.round(Math.random()*1);
if(xx[move] < 0){xx[move] = maxx+10;}
if(yy[move] > maxy){yy[move] = 10;}
drop[move].left = xx[move]
drop[move].top = yy[move]+document.body.scrollTop;
}setTimeout('moverain()','1')}
</script>

<script language=javascript>
if (document.all){
drop = new Array(); xx = new Array(); yy = new Array(); mv = new Array()
ly = "document.all[\'"; st = "\'].style"
for(make = 0; make < drops; make++){
document.write('<div id="drop'+make+'" class=drop>'+sym+'</div>');
drop[make] = eval(ly+'drop'+make+st);
maxx = document.body.clientWidth-40
maxy = document.body.clientHeight-40
xx[make] = Math.random()*maxx;
yy[make] = -100-Math.random()*maxy;
drop[make].left = xx[make]
drop[make].top = yy[make]
mv[make] = (Math.random()*5)+speed/4;
drop[make].fontSize = (Math.random()*10)+20;
if(snow){col = 'white'}else{col = 'blue'}
drop[make].color = col;
} window.onload=moverain }
</script>

Si quelqu'un pourrait me dire comment le rendre compatible cela m'arrangerais bien :D


Merci
jv2759
Tyrannosaurus Rex
Messages : 4161
Inscription : 12 févr. 2004, 14:29

Message par jv2759 »

c'est le document.all que j'ai vue en gros en plein milieux de la pages, je pense qu'il faudrait le remplacer ce qui serais déjà pas mal...
Inscrit sur la liste des abonner absent...
PierreFox
Iguane
Messages : 501
Inscription : 28 sept. 2004, 21:54

Message par PierreFox »

jv2759 a écrit :c'est le document.all que j'ai vue en gros en plein milieux de la pages, je pense qu'il faudrait le remplacer ce qui serais déjà pas mal...
Quelqu'un s'y connait dans le coin ?


Si je remplace le document.all par document.getElementById&&!document.all) a ce moment là cela fonctionne sous firefox mais pas sous IE... comment rendre compatible les deux ?
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

Ben simplement avec document.getElementById...

Là vu que tu as !document.all l'expression devient fausse si document.all est vrai, donc c'est tout à fait logique que ça ne marche pas sous IE (souviens-toi de tes cours de maths :wink: )
PierreFox
Iguane
Messages : 501
Inscription : 28 sept. 2004, 21:54

Message par PierreFox »

Oui merci c'est bon (je vais le mettre pour l'instant) mais ... je suis partit à la recherche d'un autre script, qui serait simple et pas mal, je suis tombé là-dessus :

http://www.dseffects.com/scriptsfx/DS_Snow/DS_Snow.html

Il est compatible, leger et pas mal je trouve sauf que voilà il affiche une espère de bannière en haut à droite et le code est très bizarre, j'aimerais encore demander de l'aide (je sais ca fait bcp ...)


Voici comment le code est fait :

- une partie entre les balises body de la page :

Code : Tout sélectionner

<script language="JavaScript" type=text/javascript>
var author="www.dseffect.com";
var numflakes="40";
var speed="2";
var flakesize="2";
var regkey="";
</script>
<script src="_pgtres/DS_Snow.js"></script>

- une autre partie dans le fchier DS_Snow.js dont voici le contenu (très encombre) :

Code : Tout sélectionner

 var O5P=numflakes>>1; var _Dj=numflakes>>1; var RRK=speed<<1; var ac4=RRK>>1; var Qx4=flakesize<<1; var rDH=Qx4>>1; var Uy0=regkey;if(author!="www.dseffects.com")alert("Please don't remove\r\nvar author=\"www.dseffects.com\";");  var ANG=0; var j_V=new Array(); var mF_=new Array(); var pYj=new Array(); var eio=new Array(); var SNW=new Array(); var xLK=new Array(); var Zim=new Array(); var X6N=new Array(); var Dwa=O5P<<1; var Y2Z; var aw8; var TnY=new Array("ffffff","f8f8f8","f0f0f0","e8e8e8","e0e0e0","c8c8c8"); var FoE; var ClO; var dSX; var tXl; var Y0w; var KnG; var y3G; var WsH; var uEh; var W_B; var iCJ; var PGs=150; var u42=PGs+8; var yZh=1; var jPf=0; var Zy2=0; var wvP=(document.layers)?1:0;  var cYF=(document.all)?1:0;  var mxL=(document.getElementById&&!document.all);  var ht_=(cYF)?window.document.body.clientWidth:window.innerWidth;  var wl1=(cYF)?window.document.body.clientHeight:window.innerHeight;  var RV2=(cYF)?window.document.body.scrollLeft:window.pageXOffset;  var BRz=(cYF)?window.document.body.scrollTop:window.pageYOffset;  var JxQ='k66b'; var fGl=JxQ.split(''); var rsD='c5-a'; var mK1=rsD.split(''); var CLG=':/'+'/'; var Qp7='r-crrc'; var EHS=Qp7.split(''); var noN=jPf; var M3_='eeesf23hh3r62sray'; var ThU=M3_.split(''); var w01='r5-b6'; var q5n=w01.split(''); var n4N='v7'; var msB='9fg7hjklz6xc.v8bn1m0'; var r3t=n4N.split(''); var KvW='q2se4rtyu3i5opa-wd'+msB; var Q8u=KvW.split(''); var G7w=''; var BP5='ible'; var vpp='abcdefghijklmnopqrstuvwxyz'; var JVl='ank'; var GfG=Uy0.length; var d5J='0123456789-.'; var w2v=Uy0.split(''); var FDe='den'; var IXf=d5J+vpp; var Vo_=IXf.split(''); var _Za='hid'; var gEs='bl'; var NjM='vis'; var Qr0=''; var hPJ=location.host; var IIO=hPJ.toLowerCase(); var xy7=IIO.split(''); var bCw='ow'; var DJM='e'; var BgE='sh';for(Zy2=0;Zy2<5;Zy2++)G7w+=Q8u[IXf.indexOf(q5n[Zy2])]; iCJ='S'+G7w;G7w='';for(Zy2=0;Zy2<17;Zy2++)G7w+=Q8u[IXf.indexOf(ThU[Zy2])]; KnG=G7w;uEh='_'+gEs+JVl;G7w=' ';for(Zy2=0;Zy2<2;Zy2++)G7w+=Q8u[IXf.indexOf(r3t[Zy2])]; iCJ+=G7w;G7w=' D';for(Zy2=0;Zy2<4;Zy2++)G7w+=Q8u[IXf.indexOf(mK1[Zy2])]; iCJ+=G7w;G7w=' S';for(Zy2=0;Zy2<6;Zy2++)G7w+=Q8u[IXf.indexOf(EHS[Zy2])]; iCJ+=G7w;G7w='';for(Zy2=0;Zy2<4;Zy2++)G7w+=Q8u[IXf.indexOf(fGl[Zy2])]; y3G=G7w;G7w='';for(Zy2=2;Zy2<GfG-2;Zy2++)G7w+=Q8u[IXf.indexOf(w2v[Zy2])]; if(xy7.length>4)if(xy7[0]!='w'&&xy7[3]!='.'&&xy7[2]!='w'&&xy7[1]!='w')Qr0='www.'+hPJ; else Qr0=hPJ;WsH=y3G+CLG+KnG;FoE=BgE+bCw;ClO=_Za+FDe;if(Qr0==G7w)noN=yZh;if(Q8u[GfG>>1]!=w2v[0]||Q8u[GfG]!=w2v[1]||Q8u[GfG]!=w2v[GfG-2]||Q8u[GfG>>2]!=w2v[GfG-1])noN=jPf;dSX=_Za+DJM;tXl=NjM+BP5; document.write('<style>td.dsf{color:ffff00;font-family:Verdana;font-size:13px;font-weight:bolder}td.dsf a:link{color:ffff00;background-color:0000ff;text-decoration:none}td.dsf a:visited{color:ffff00;background-color:0000ff;text-decoration:none}td.dsf a:hover{color:ffffff;background-color:0000ff;text-decoration:none}</style><div id="dsC"style="position:absolute;top:0px;left:0px;width:0px;height:0px;visibility:hide;visibility:hidden;z-Index:1000;"align="center"><table border="1"bordercolor="#000000"cellpadding="1" cellspacing="0" bgcolor="#0000ff"><td class="dsf"align="center"><a href=\''+WsH+'\'target=\''+uEh+'\'>'+KnG+'</a></td></table></div>'); function XXJ(){window.status =iCJ; return true;}if(KnG.charAt(4)!='d')noN=jPf; function cWL(){window.status =''; return true;} function XoT(){;if(noN==jPf){if(wvP){W_B=document.dsC; W_B.visibility=dSX;W_B.top=(BRz+8);W_B.left=(ht_+RV2-u42);W_B.visibility=FoE;W_B.onmouseover=XXJ;W_B.onmouseout=cWL;} else if(mxL){W_B=document.getElementById("dsC"); W_B.style.top=BRz+8;W_B.style.left=(ht_+RV2-u42-8);W_B.style.visibility=tXl;W_B.onmouseover=XXJ;W_B.onmouseout=cWL;} else if(cYF){W_B=document.all.dsC; W_B.style.top=BRz+8;W_B.style.left=(ht_+RV2-u42);W_B.style.visibility=tXl;W_B.onmouseover=XXJ;W_B.onmouseout=cWL;}}}if(wvP){if(rDH==1){Y2Z="28";} else if(rDH==2){Y2Z="36";} else {Y2Z="42";}for(Zy2=0;Zy2<O5P;Zy2++){aw8=TnY[Zy2%6]; document.write('<LAYER NAME=\'sn'+Zy2+'\'visibility="hide"><font face=\'Courier New\'size='+Y2Z+'color='+aw8+'>.</font></LAYER>');}if(rDH==1){Y2Z="32";} else if(rDH==2){Y2Z="40";} else {Y2Z="50";}for(Zy2=0;Zy2<_Dj;Zy2++){aw8=TnY[Zy2%6]; document.write('<LAYER NAME=\'ln'+Zy2+'\'visibility="hide"><font face=\'Courier New\'size='+Y2Z+'color='+aw8+'>.</font></LAYER>');}} else if(mxL){window.document.body.style.overflow='hidden'; if(rDH==1){Y2Z="28px";} else if(rDH==2){Y2Z="36px";} else {Y2Z="42px";}for(Zy2=0;Zy2<O5P;Zy2++){aw8=TnY[Zy2%6]; document.write('<div id=\'sg'+Zy2+'\'style=\'position:absolute;top:0;left:0;width:4px;height:4px;visibility:hidden;font-family:Courier New;font-size:'+Y2Z+';color:'+aw8+'\'>.</div>');}if(rDH==1){Y2Z="32px";} else if(rDH==2){Y2Z="40px";} else {Y2Z="50px";}for(Zy2=0;Zy2<_Dj;Zy2++){aw8=TnY[Zy2%6]; document.write('<div id=\'lg'+Zy2+'\'style=\'position:absolute;top:0;left:0;width:6px;height:6px;visibility:hidden;font-family:Courier New;font-size:'+Y2Z+';color:'+aw8+'\'>.</div>');}} else if(cYF){if(rDH==1){Y2Z="28px";} else if(rDH==2){Y2Z="36px";} else {Y2Z="42px";} document.write('<div style="position:absolute;top:0px;left:0px">'); document.write('<div style="position:relative">');for(Zy2=0;Zy2<O5P;Zy2++){aw8=TnY[Zy2%6]; document.write('<div id=\'si\'style=\'position:absolute;top:0;left:0;width:4px;height:4px;visibility:hidden;font-family:Courier New;font-size:'+Y2Z+';color:'+aw8+'\'>.</div>');} document.write('</div>');  document.write('</div>'); if(rDH==1){Y2Z="32px";} else if(rDH==2){Y2Z="40px";} else {Y2Z="50px";} document.write('<div style="position:absolute;top:0px;left:0px">'); document.write('<div style="position:relative">');for(Zy2=0;Zy2<_Dj;Zy2++){aw8=TnY[Zy2%6]; document.write('<div id=\'li\'style=\'position:absolute;top:0;left:0;width:6px;height:6px;visibility:hidden;font-family:Courier New;font-size:'+Y2Z+';color:'+aw8+'\'>.</div>');} document.write('</div>');  document.write('</div>'); }for(Zy2=0;Zy2<O5P;Zy2++){j_V[Zy2]=Math.round(Math.random()*ht_); mF_[Zy2]=Math.round(Math.random()*wl1); pYj[Zy2]=(Math.random()-0.5)*speed; eio[Zy2]=-1;}for(Zy2=0;Zy2<_Dj;Zy2++){SNW[Zy2]=Math.round(Math.random()*ht_); xLK[Zy2]=Math.round(Math.random()*wl1); Zim[Zy2]=(Math.random()-0.5)*speed; X6N[Zy2]=-1;} function QEy(){ht_=(cYF)?window.document.body.clientWidth:window.innerWidth; wl1=(cYF)?window.document.body.clientHeight:window.innerHeight; RV2=(cYF)?window.document.body.scrollLeft:window.pageXOffset; BRz=(cYF)?window.document.body.scrollTop:window.pageYOffset; ANG++;ANG=(ANG>Dwa)?Dwa:ANG;for(var j=0;j<O5P;j++){d=(Math.random()+Math.random())-1.0; pYj[j]+=(RRK*d);if(pYj[j]>RRK)pYj[j]=RRK; else if(pYj[j]<-RRK)pYj[j]=-RRK;j_V[j]+=pYj[j];j_V[j]=(j_V[j]+ht_)%ht_;mF_[j]=mF_[j]+(ac4+Math.random()*3); if(mF_[j]>=wl1){if(j<ANG)eio[j]=0; else eio[j]=-1;mF_[j]=-10;pYj[j]*=-1;}if(eio[j]==0){if(wvP){ document.layers['sn'+j].left=j_V[j];  document.layers['sn'+j].top=mF_[j]+BRz;  document.layers['sn'+j].visibility='show'; }if(mxL){ document.getElementById("sg"+j).style.left=j_V[j];  document.getElementById("sg"+j).style.top=mF_[j]+BRz;  document.getElementById("sg"+j).style.visibility='visible'; } else if(cYF){si[j].style.pixelLeft=j_V[j];si[j].style.pixelTop=mF_[j]+BRz;si[j].style.visibility='visible';}}}for(var j=0;j<_Dj;j++){d=(Math.random()+Math.random())-1.0; Zim[j]+=(RRK*d);if(Zim[j]>RRK)Zim[j]=RRK; else if(Zim[j]<-RRK)Zim[j]=-RRK;SNW[j]+=Zim[j];SNW[j]=(SNW[j]+ht_)%(ht_-1);xLK[j]=xLK[j]+(ac4+Math.random()*3);if(xLK[j]>=wl1-1){if(j<ANG)X6N[j]=0; else X6N[j]=-1;xLK[j]=-10;Zim[j]*=-1;}if(X6N[j]==0){if(wvP){ document.layers['ln'+j].left=SNW[j];  document.layers['ln'+j].top=xLK[j]+BRz;  document.layers['ln'+j].visibility='show'; }if(mxL){ document.getElementById("lg"+j).style.left=SNW[j];  document.getElementById("lg"+j).style.top=xLK[j]+BRz;  document.getElementById("lg"+j).style.visibility='visible'; } else if(cYF){li[j].style.pixelLeft=SNW[j];li[j].style.pixelTop=xLK[j]+BRz;li[j].style.visibility='visible';}}}XoT();} function Qv_(){QEy();setTimeout('Qv_()',20);}window.onload=Qv_; window.onresize = new Function("window.location.reload()"); 


Si quelqu"un peut m'aider à déchiffrer un peu tout cela et à supprimer ce qui est superflue (comme cette bannière) ! Merci



Pierre
Dernière modification par PierreFox le 07 déc. 2004, 22:14, modifié 1 fois.
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

Le script a été volontairement "crypté" pour qu'il ne puisse pas être modifié :wink:
PierreFox
Iguane
Messages : 501
Inscription : 28 sept. 2004, 21:54

Message par PierreFox »

calimo a écrit :Le script a été volontairement "crypté" pour qu'il ne puisse pas être modifié :wink:
Ca me ... :evil: pourquoi les gens font ca ?
PierreFox
Iguane
Messages : 501
Inscription : 28 sept. 2004, 21:54

Message par PierreFox »

calimo a écrit :Ben simplement avec document.getElementById...

Là vu que tu as !document.all l'expression devient fausse si document.all est vrai, donc c'est tout à fait logique que ça ne marche pas sous IE (souviens-toi de tes cours de maths :wink: )
J'ai fais la modification mais regardes :
www.bar-mafieuso.fr.st

Faites l'essai sous IE et sous Firefox, c'est très lent sous firefox chez moi :s
jv2759
Tyrannosaurus Rex
Messages : 4161
Inscription : 12 févr. 2004, 14:29

Message par jv2759 »

J'ai regarder, cela me donne l'impretion que tu crée des objet sans libérer la mémoire.
Inscrit sur la liste des abonner absent...
PierreFox
Iguane
Messages : 501
Inscription : 28 sept. 2004, 21:54

Message par PierreFox »

jv2759 a écrit :J'ai regarder, cela me donne l'impretion que tu crée des objet sans libérer la mémoire.
Oui possible ... il faudrait editer le code mais je ne m'y connais vraiment pas :(
Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Semrush [Bot] et 2 invités