Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3002 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Aide correctif pour javascript matrix sous ff

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Aide correctif pour javascript matrix sous ff

n°2238766
matrixian2
Posté le 24-09-2014 à 19:15:44  profilanswer
 

Bonjour, je suis venu ici pour solliciter votre aide afin de corriger un script qui décorait mon site internet il y a une dizaine d'années et que j'adorais, il s'agissait d'une petite pluie de matrice (seulement composé de 1 et de 0) qui se calait à droite des pages et qui coulait tout doucement indéfinement.
 
je me suis toujours débrouiller pour bidouiller le mysql, le php, le html, le design, mais je suis dans l'impasse totale pour ce qui est de corriger un javascript et le rendre compatible sous firefox
 
ce que je sais c'est qu'il peut certainement fonctionner mais qu'il est très très vieux et son codage doit être totalement infâme
 
je n'en ai jamais retrouvé l'équivalent sur le net  
 
donc voilà
 
ça donne ça avec mon aperçu d'édfiteur html (ça marche sous ie mais pas ff)
 
http://matrixemxs.cluster007.ovh.net/gni.png
http://matrixemxs.cluster007.ovh.net/gni2.png


Message édité par matrixian2 le 27-09-2014 à 19:21:57
mood
Publicité
Posté le 24-09-2014 à 19:15:44  profilanswer
 

n°2238767
matrixian2
Posté le 24-09-2014 à 19:16:40  profilanswer
 

et voilà le code contenu dans la page, je n'utilise pas de fichier .css ni defichier  js extérieur
 
(il faut le placer après la balise body pour qu'il marche)
 
J'ai essayé de comprendre et tenter de résoudre le truc moi-même mais sans succès (firebug etc...)  
 

Code :
  1. <SCRIPT language=JavaScript>
  2. if (document.all){
  3. Cols=4;
  4. Cl=20;
  5. Cs=15;
  6. Ts=14;
  7. Tc='#008800';
  8. Tc1='#00ff00';
  9. MnS=6;
  10. MxS=6;
  11. I=Cs;
  12. Sp=new Array();S=new Array();Y=new Array();
  13. C=new Array();M=new Array();B=new Array();
  14. RC=new Array();E=new Array();Tcc=new Array(0,0);
  15. document.write("<div id='Container' style='position:absolute;top:0;right:-"+Cs+"'>" );
  16. document.write("<div style='position:relative'>" );
  17. for(i=0; i < Cols; i++){
  18. S[i]=I+=Cs;
  19. document.write("<div id='A' style='position:absolute;top:0;font-family:comic sans ms;font-size:"
  20. +Ts+"px;right:"+S[i]+";width:"+Ts+"px;height:0px;color:"+Tc+";visibility:hidden'></div>" );
  21. }
  22. document.write("</div></div>" );
  23. for(j=0; j < Cols; j++){
  24. RC[j]=1+Math.round(Math.random()*Cl); 
  25. Y[j]=0;
  26. Sp[j]=Math.round(MnS+Math.random()*MxS);
  27. for(i=0; i < RC[j]; i++){
  28. B[i]='';
  29. C[i]=Math.round(Math.random()*1)+' ';
  30. M[j]=B[0]+=C[i];
  31. }
  32. }
  33. function Cycle(){
  34. Container.style.top=window.document.body.scrollTop;
  35. for (i=0; i < Cols; i++){
  36. var r = Math.floor(Math.random()*Tcc.length);
  37. E[i] = '<font color='+Tc1+'>'+Tcc[r]+'</font>';
  38. Y[i]+=Sp[i];
  39. if (Y[i] > window.document.body.clientHeight){
  40. for(i2=0; i2 < Cols; i2++){
  41. RC[i2]=1+Math.round(Math.random()*Cl); 
  42. for(i3=0; i3 < RC[i2]; i3++){
  43. B[i3]='';
  44. C[i3]=Math.round(Math.random()*1)+' ';
  45. C[Math.floor(Math.random()*i2)]=' '+' ';
  46. M[i]=B[0]+=C[i3];
  47. Y[i]=-Ts*M[i].length/1.5;
  48. A[i].style.visibility='visible';
  49. }
  50. Sp[i]=Math.round(MnS+Math.random()*MxS);
  51. }
  52. }
  53. A[i].style.top=Y[i];
  54. A[i].innerHTML=M[i]+' '+E[i]+' ';
  55. }
  56. setTimeout('Cycle()',20)
  57. }
  58. Cycle();
  59. }
  60. <!--Fin du Script-->
  61. </SCRIPT>


Message édité par matrixian2 le 24-09-2014 à 19:27:50
n°2238861
MaybeEijOr​Not
but someone at least
Posté le 25-09-2014 à 15:37:28  profilanswer
 

Regarde du côté de scrollTop et de clientHeight qui doivent poser problème sous FF.
 
Une balise <script type="text/javascript"> est aussi plus appropriée à mon avis.

n°2238913
tpierron
Posté le 25-09-2014 à 20:17:16  profilanswer
 

Hmm, il y a bien plus que ça qui merde: manque des unités dans les déclarations CSS. "document.all": même sur les versions récentes d'IE, ça ne fonctionnera pas. La table "A" automatiquement déclarée: spécifique à IE. J'ai essayé de remettre ça au propre, mais l'effet n'est pas terrible. Pour les générations futures :

Code :
  1. (function(){
  2. var Cols=4, Cl=20, Cs=15, Ts=14
  3. var Tc='#008800', Tc1='#00ff00', MnS=6, MxS=6
  4. var Sp = [], Y = [], M = [], RC = [], Tcc = [0, 1], A = []
  5. document.write("<div id='Container' style='position:fixed;top:0;right:"+Cs+"px'>" )
  6. for (var i = 1; i <= Cols; i++)
  7. {
  8.  document.write("<div style='position:absolute;top:0;font-family:sans-serif;font-size:"+
  9.    Ts+"px;right:"+(i*Cs)+"px;width:"+Ts+"px;height:0;color:"+Tc+";visibility:hidden'></div>" )
  10. }
  11. document.write("</div>" )
  12.  
  13. var root = document.getElementById("Container" )
  14.  
  15. for (i = 0; i < Cols; i++)
  16. {
  17.  Y[i]  = 0
  18.  Sp[i] = Math.round(MnS+Math.random()*MxS)
  19.  A[i]  = root.childNodes[i]
  20. }
  21.  
  22. function Cycle()
  23. {
  24.  for (var i = 0; i < Cols; i++)
  25.  {
  26.    var r = Math.floor(Math.random()*Tcc.length)
  27.    r = '<font color='+Tc1+'>'+Tcc[r]+'</font>'
  28.    Y[i]+=Sp[i]
  29.  
  30.    if (Y[i] > (window.innerHeight || document.documentElement.clientHeight))
  31.    {
  32.      M[i]=''
  33.      RC[i]=1+Math.round(Math.random()*Cl)
  34.      for (var j = 0; j < RC[i]; j++)
  35.        M[i]+=Tcc[Math.floor(Math.random()*Tcc.length)]+' '
  36.      Sp[i]=Math.round(MnS+Math.random()*MxS)
  37.      A[i].style.visibility='visible'
  38.      Y[i]=-Ts*M[i].length/1.5
  39.    }
  40.    A[i].style.top=Y[i]+"px"
  41.    A[i].innerHTML=M[i]+' '+r+' '
  42.  }
  43. }
  44. window.setInterval(Cycle, 20)
  45. })();


Message édité par tpierron le 29-09-2014 à 21:44:46
n°2238941
matrixian2
Posté le 26-09-2014 à 09:39:24  profilanswer
 

merci rien que pour vos réponses déjà pour tenter d'éclaircir le truc.
 
j'ai posté le même sujet sur d'autres forums de javascript afin de recueillir d'autres suggestions, pour l'instant on m' a dit qu'il manquait des petites choses comme les pixs et qu'il fallait supprimer la déclaration mais même après ces modifs, le script n'apparait oujours pas sous firefox
 
par contre voici une page de démo qui vous montre l'effet marchant sous ie (pour que vous ayez une idée du truc, mais pas sur firefox :/ ):  
 
http://matrixemxs.cluster007.ovh.net/matrix.php  
 

n°2238942
matrixian2
Posté le 26-09-2014 à 09:53:04  profilanswer
 

on m'a dit la même chose sur un autre topic tpierron http://codes-sources.commentcamarc [...] us-firefox
 
j'ai fait les modifs mais bon pas de changement... et j'ai posté d'autres liens de démo de scripts du meme genre si tu veux y jeter un oeil

n°2238943
matrixian2
Posté le 26-09-2014 à 09:56:58  profilanswer
 

revoici le code avec les correctifs ajoutés (mais il n'est toujours pas visible sous ff)
 
 

Code :
  1. <SCRIPT>
  2. Cols=4;
  3. Cl=20;
  4. Cs=15;
  5. Ts=14;
  6. Tc='#008800';
  7. Tc1='#00ff00';
  8. MnS=6;
  9. MxS=6;
  10. I=Cs;
  11. Sp=new Array();S=new Array();Y=new Array();
  12. C=new Array();M=new Array();B=new Array();
  13. RC=new Array();E=new Array();Tcc=new Array(0,0);
  14. document.write("<div id='Container' style='position:absolute;top:0;right:-"+Cs+"'>" );
  15. document.write("<div style='position:relative'>" );
  16. for(i=0; i < Cols; i++){
  17. S[i]=I+=Cs;
  18. document.write("<div id='A' style='position:absolute;top:0;font-family:comic sans ms;font-size:"
  19. +Ts+"px;right:"+S[i]+";width:"+Ts+"px;height:0px;color:"+Tc+";visibility:visible'></div>" );
  20. }
  21. document.write("</div></div>" );
  22. for(j=0; j < Cols; j++){
  23. RC[j]=1+Math.round(Math.random()*Cl); 
  24. Y[j]=0;
  25. Sp[j]=Math.round(MnS+Math.random()*MxS);
  26. for(i=0; i < RC[j]; i++){
  27. B[i]='';
  28. C[i]=Math.round(Math.random()*1)+' ';
  29. M[j]=B[0]+=C[i];
  30. }
  31. }
  32. function Cycle(){
  33. Container.style.top=window.document.body.scrollTop+'px';
  34. for (i=0; i < Cols; i++){
  35. var r = Math.floor(Math.random()*Tcc.length);
  36. E[i] = '<font color='+Tc1+'>'+Tcc[r]+'</font>';
  37. Y[i]+=Sp[i];
  38. if (Y[i] > window.document.body.clientHeight){
  39. for(i2=0; i2 < Cols; i2++){
  40. RC[i2]=1+Math.round(Math.random()*Cl); 
  41. for(i3=0; i3 < RC[i2]; i3++){
  42. B[i3]='';
  43. C[i3]=Math.round(Math.random()*1)+' ';
  44. C[Math.floor(Math.random()*i2)]=' '+' ';
  45. M[i]=B[0]+=C[i3];
  46. Y[i]=-Ts*M[i].length/1.5;
  47. A[i].style.visibility='visible';
  48. }
  49. Sp[i]=Math.round(MnS+Math.random()*MxS);
  50. }
  51. }
  52. A[i].style.top=Y[i]+'px';
  53. A[i].innerHTML=M[i]+' '+E[i]+' ';
  54. }
  55. setTimeout('Cycle()',20)
  56. }
  57. Cycle();
  58. <!--Fin du Script-->
  59. </SCRIPT>


 
J'en ai trouvé un qui lui ressemblait et qui fonctionne sous firefox mais il ne donne pas l'effet escompté et est buggé (lignes qui s'inversent, fenêtré, vitesse folle, apparition de scrollbar intempestive lors de la mise en place vers la droite etc...)
http://matrixemxs.cluster007.ovh.net/matrix4.htm


Message édité par matrixian2 le 26-09-2014 à 10:00:18
n°2238971
rufo
Pas me confondre avec Lycos!
Posté le 26-09-2014 à 13:01:37  profilanswer
 

Une petite remarque en passant : prévois un bouton pour arrêter l'animation. D'une part parce qu'une animation distrait le visiteur de sa lecture du site. D'autre part, l'animation peut créer des crises chez les épileptiques :/
 
Edit : donc mon avis (tout personnel) est que tu te casses la tête pour qq chose d'inutile :o


Message édité par rufo le 26-09-2014 à 13:02:26

---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2239073
matrixian2
Posté le 27-09-2014 à 19:14:24  profilanswer
 

Je comprends ton point de vue rufo , ça peut partaître inutile mais j'en suis tombé amoureux de ce script faut pas chercher à comprendre, j'ai qu'un rêve c'est de le revoir fonctionnel sur mon site car il lui "manque" le petit quelque chose qu'il avait avant sans ce javascript, comme s'il n'était pas complet et qu'une grosse partie de sa "personnalité" (oui je vais loin lol) qui faisait son charme n'était plus là :D

n°2239074
matrixian2
Posté le 27-09-2014 à 19:15:47  profilanswer
 

je suis en train de chercher des solutions sur plein d'autres forums je m'acharne d'ailleurs à trouver CELUI qui accomplira le miracle que je cherche lol :)  
 
un autre topic que j'ai posté sur le sujet et qui fait état de mes avancées de"ssus :  
 
http://www.developpez.net/forums/d [...] ost7979744

mood
Publicité
Posté le 27-09-2014 à 19:15:47  profilanswer
 

n°2239075
matrixian2
Posté le 27-09-2014 à 19:18:06  profilanswer
 

il y a un autre truc qui lui ressemble et que j'ai trouvé mais qu'il faudrait adapter car il bugge dès qu'on essaie de le bouger et il y a plein de trucs qui merdent (lignes inversés, mode fenêtré, apparition de scrollbar intempestive quand on le met à droite de la page, vitesse dix fois trop rapide etc...) mais seulement sur firefox car encore une fois sur ie il est parfait
 
page de démo : http://matrixemxs.cluster007.ovh.net/matrix4.htm
 
http://matrixemxs.cluster007.ovh.net/gni5.png
 
il faudrait que la pluie aille uniquement vers le bas et de manière toute douce et apaisante, pas comme ici ou tu te tapes un violdes yeux dès que tu le regardes :sarcastic: je cherche je cherche...


Message édité par matrixian2 le 27-09-2014 à 20:39:45
n°2239204
tpierron
Posté le 29-09-2014 à 21:46:41  profilanswer
 

Heu, chais pas si tu es au courant, mais le script que j'ai posté est sensé fonctionner avec firefox (j'ai rajouté une petite correction pour IE).
 
Bon, j'ai du déduire ce qu'il faisait parce que le code ne fonctionnait même plus dans IE8. Pas sur d'avoir tout remis comme il faut...


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Aide correctif pour javascript matrix sous ff

 

Sujets relatifs
Aide sur Rewrite et redirectionAide envois de courriel
Besoin d'aide-Montage supervisionAide menu js en php se referme à chaque rechargement
aide pour un programme en cmixer java avec javascript pour gerer les evenement sur un iframe
Aide script flash CS6Problèmes de liaisons entre Html/css/javascript
aide pour formule excelAide pour site responsive
Plus de sujets relatifs à : Aide correctif pour javascript matrix sous ff


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR