Script objets tombants

2 participants

Voir le sujet précédent Voir le sujet suivant Aller en bas

Résolu Script objets tombants

Message par @nnie Dim 26 Fév 2012 - 9:03

Bonjour,

Dans les Questions/Réponses fréquentes, j'ai trouvé le Tuto Avoir une pluie d'images sur son forum qui répondait, à priori à ma question.

Malheureusement, comme je suis archi-nulle en script, je suis loin d'avoir tout pigé et bien que j'aie suivi les recommandations du tuto, ça ne fonctionne pas sur mon forum.

Je ne vais pas recopier ici le tuto complet, c'est pour ça que j'en ai mis le lien, mais j'ai suivi cette méthode et ensuite collé le script, dûment hébergé, dans la Description de site.

Comme dit plus haut, rien ne se passe sur mon forum et j'ai donc quelques questions :

1) le code doit-il être recopié intégralement, y compris avec les indications en rouge ?
2) les seules et uniques choses à modifier sont-elles vraiment ce qui est indiqué ?
3) comme ça ne marchait pas, j'ai aussi remplacé urlflocon des lignes 47 & 49 par l'adresse de mon image => ça n'a rien changé.
4) à quoi correspondent les différentes couleurs du code ?
5) le fait que le terme "flocon" soit utilisé partout ne change rien, quelle que soit l'image utilisée ?

Je sais, ce sont des questions de profane, mais bon. Confused

J'ai testé sous Chrome et Firefox, avec un même résultat négatif.
Voici mon script sous sa forme finale :

Code:
   1.   // Indiquer l'URL de l'image du flocon :
   2.   var urlflocon="http://i40.servimg.com/u/f40/13/40/93/01/pansem10.gif"
   3.   // Ecrire le nombre de flocons :
   4.   var nombreflocons = 10;
   5.   // Indiquer si la neige doit disparaître après x secondes (0=jamais) :
   6.   var cacherflocons = 0;
   7.   // Indiquer si la neige doit être vue sur la fenêtre ou toute la page avant de disparaître ("windowheight"=la fenêtre, "pageheight"=toute la page)
   8.   var voirflocons = "pageheight";
   9.    
   10.   /////////// FIN DE LA PARTIE CONFIGURATION //////////////////////////////////
   11.    
   12.   var ie4up = (document.all) ? 1 : 0;
   13.   var ns6up = (document.getElementById&&!document.all) ? 1 : 0;
   14.    
   15.   function testIEcompatible(){
   16.   return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement :document.body
   17.   }
   18.    
   19.   var dx, xp, yp; // Variables de coordonnées et de position
   20.   var am, stx, sty; // Variables d'amplitude
   21.   var i, doc_width = 1024, doc_height = 768; // Taille de l'écran
   22.    
   23.   if (ns6up) {
   24.   doc_width = self.innerWidth;
   25.   doc_height = self.innerHeight;
   26.   } else if (ie4up) {
   27.   doc_width = testIEcompatible().clientWidth;
   28.   doc_height = testIEcompatible().clientHeight;
   29.   }
   30.    
   31.   dx = new Array();
   32.   xp = new Array();
   33.   yp = new Array();
   34.   am = new Array();
   35.   stx = new Array();
   36.   sty = new Array();
   37.    
   38.   for (i = 0; i < nombreflocons; ++ i) {
   39.   dx[i] = 0; // Variables de coordonnées
   40.   xp[i] = Math.random()*(doc_width-50); // Variables de position
   41.   yp[i] = Math.random()*doc_height;
   42.   am[i] = Math.random()*20; // Variables d'amplitude
   43.   stx[i] = 0.02 + Math.random()/10; // Variables de pas
   44.   sty[i] = 0.7 + Math.random(); // Variables de pas
   45.   if (ie4up||ns6up) {
   46.   if (i == 0) {
   47.   document.write("<div id="dot"+ i +"" style="POSITION: absolute; Z-INDEX: "+ i +"; VISIBILITY:visible; TOP: 15px; LEFT: 15px;"><img src='"+http://i40.servimg.com/u/f40/13/40/93/01/pansem10.gif+"' border="0"></div>");
   48.   } else {
   49.   document.write("<div id="dot"+ i +"" style="POSITION: absolute; Z-INDEX: "+ i +"; VISIBILITY:visible; TOP: 15px; LEFT: 15px;"><img src='"+http://i40.servimg.com/u/f40/13/40/93/01/pansem10.gif+"' border="0"></div>");
   50.   }
   51.   }
   52.   }
   53.    
   54.   function neigeIE_NS6() { // IE et NS6 : fonctions principales d'animation
   55.   doc_width = ns6up?window.innerWidth-10 : testIEcompatible().clientWidth-10;
   56.   doc_height=(window.innerHeight && voirflocons=="windowheight")? window.innerHeight : (ie4up &&voirflocons=="windowheight")? testIEcompatible().clientHeight : (ie4up && !window.opera &&voirflocons=="pageheight")? testIEcompatible().scrollHeight : testIEcompatible().offsetHeight;
   57.   for (i = 0; i < nombreflocons; ++ i) { // déplacement pour chaque point ("dot")
   58.   yp[i] += sty[i];
   59.   if (yp[i] > doc_height-50) {
   60.   xp[i] = Math.random()*(doc_width-am[i]-30);
   61.   yp[i] = 0;
   62.   stx[i] = 0.02 + Math.random()/10;
   63.   sty[i] = 0.7 + Math.random();
   64.   }
   65.   dx[i] += stx[i];
   66.   document.getElementById("dot"+i).style.top=yp[i]+"px";
   67.   document.getElementById("dot"+i).style.left=xp[i] + am[i]*Math.sin(dx[i])+"px";
   68.   }
   69.   snowtimer=setTimeout("neigeIE_NS6()", 10);
   70.   }
   71.    
   72.   function cacherneige(){
   73.   if (window.snowtimer) clearTimeout(snowtimer)
   74.   for (i=0; i<nombreflocons; i++) document.getElementById("dot"+i).style.visibility="hidden"
   75.   }
   76.    
   77.   if (ie4up||ns6up){
   78.   neigeIE_NS6();
   79.   if (cacherflocons>0)
   80.   setTimeout("cacherneige()", cacherflocons*1000)
   81.   }

Un grand merci d'avance à qui voudra bien m'aider ! Very Happy
@nnie

@nnie
****

Féminin
Messages : 496
Inscrit(e) le : 04/01/2009

http://chrono-jumeaux.forumactif.com
@nnie a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Script objets tombants

Message par missx Dim 26 Fév 2012 - 9:15

salut
ça ne fonctionne pas parce que dans ton fichier tu as coller les n° des lignes.
http://yourjavascript.com/1621922123/OBJETS_TOMBANTS.js
il faut les enlever
et ne mettre que l'adresse de l'image à la 2eme ligne.
Sur mon site, il y a un générateur de pluie d'image, si ça peut t'aider. ( voir mon profil ) .
A+
missx

missx
Membre actif

Féminin
Messages : 2895
Inscrit(e) le : 12/05/2007

missx a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Script objets tombants

Message par @nnie Dim 26 Fév 2012 - 13:01

Salut MissX,

Tout d'abord, merci d'avoir pris la peine de me répondre. Smile

Ben oui, j'ai suivi le tuto à la lettre et j'ai copié le code tel quel, donc avec les n° de lignes : comme dit plus haut, je n'y connais rien !

D'ailleurs, comment faire pour copier le code sans les n° ?
J'ai essayé mais je n'ai pas réussi ...

Bref, j'ai donc enlevé tous les numéros un par un Siffleur et j'ai remis urlflocon là où c'était ... et ça ne donne toujours rien. reflexion
Code:
   // Indiquer l'URL de l'image du flocon :
   var urlflocon="http://i40.servimg.com/u/f40/13/40/93/01/pansem10.gif"
   // Ecrire le nombre de flocons :
   var nombreflocons = 10;
   // Indiquer si la neige doit disparaître après x secondes (0=jamais) :
   var cacherflocons = 0;
   // Indiquer si la neige doit être vue sur la fenêtre ou toute la page avant de disparaître ("windowheight"=la fenêtre, "pageheight"=toute la page)
   var voirflocons = "pageheight";
   /////////// FIN DE LA PARTIE CONFIGURATION //////////////////////////////////
   var ie4up = (document.all) ? 1 : 0;
   function testIEcompatible(){
   }
   var dx, xp, yp; // Variables de coordonnées et de position
   var am, stx, sty; // Variables d'amplitude
   var i, doc_width = 1024, doc_height = 768; // Taille de l'écran
   
   if (ns6up) {
   doc_width = self.innerWidth;
   doc_height = self.innerHeight;
   } else if (ie4up) {
   doc_width = testIEcompatible().clientWidth;
   doc_height = testIEcompatible().clientHeight;
   }
   dx = new Array();
   xp = new Array();
   yp = new Array();
   am = new Array();
   stx = new Array();
   sty = new Array();
   for (i = 0; i < nombreflocons; ++ i) {
   dx[i] = 0; // Variables de coordonnées
   xp[i] = Math.random()*(doc_width-50); // Variables de position
   yp[i] = Math.random()*doc_height;
   am[i] = Math.random()*20; // Variables d'amplitude
   stx[i] = 0.02 + Math.random()/10; // Variables de pas
   sty[i] = 0.7 + Math.random(); // Variables de pas
   if (ie4up||ns6up) {
   if (i == 0) {
   document.write("<div id="dot"+ i +"" style="POSITION: absolute; Z-INDEX: "+ i +"; VISIBILITY:visible; TOP: 15px; LEFT: 15px;"><img src='"+urlflocon+"' border="0"></div>");
   } else {
   document.write("<div id="dot"+ i +"" style="POSITION: absolute; Z-INDEX: "+ i +"; VISIBILITY:visible; TOP: 15px; LEFT: 15px;"><img src='"+urlflocon+"' border="0"></div>");
   }
   }
   }
   function neigeIE_NS6() { // IE et NS6 : fonctions principales d'animation
   doc_width = ns6up?window.innerWidth-10 : testIEcompatible().clientWidth-10;
   doc_height=(window.innerHeight && voirflocons=="windowheight")? window.innerHeight : (ie4up &&voirflocons=="windowheight")? testIEcompatible().clientHeight : (ie4up && !window.opera &&voirflocons=="pageheight")? testIEcompatible().scrollHeight : testIEcompatible().offsetHeight;
   for (i = 0; i < nombreflocons; ++ i) { // déplacement pour chaque point ("dot")
   yp[i] += sty[i];
   if (yp[i] > doc_height-50) {
   xp[i] = Math.random()*(doc_width-am[i]-30);
   yp[i] = 0;
   stx[i] = 0.02 + Math.random()/10;
   sty[i] = 0.7 + Math.random();
   }
   dx[i] += stx[i];
   document.getElementById("dot"+i).style.top=yp[i]+"px";
   document.getElementById("dot"+i).style.left=xp[i] + am[i]*Math.sin(dx[i])+"px";
   }
   snowtimer=setTimeout("neigeIE_NS6()", 10);
   }
   function cacherneige(){
   if (window.snowtimer) clearTimeout(snowtimer)
   for (i=0; i<nombreflocons; i++) document.getElementById("dot"+i).style.visibility="hidden"
   }
   if (ie4up||ns6up){
   neigeIE_NS6();
   if (cacherflocons>0)
   setTimeout("cacherneige()", cacherflocons*1000)
   }

Comme tu le l'avais gentiment proposé, j'ai fait appel à ton générateur de scripts (sympa, ton site, merci !) mais hélas, le code généré ne fonctionne pas davantage ! Crying or Very sad
Testé sur Safari, Firefox et IE, ce dernier me donnant comme message "Terminé, mais il existe des erreurs sur la page", ce qui n'a peut-être aucun rapport.

Au secours !!! aidez moi

P.S. au fait, j'ai mis ce script dans la Description du site et non pas dans le body, parce que je voudrais l'avoir sur toutes les pages. Comme le script de neige qui a été donné ici pour les fêtes. Et qui fonctionnait d'ailleurs très bien sur mon site. Ce n'est pas ça qui pose problème, non ?
@nnie

@nnie
****

Féminin
Messages : 496
Inscrit(e) le : 04/01/2009

http://chrono-jumeaux.forumactif.com
@nnie a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Script objets tombants

Message par missx Dim 26 Fév 2012 - 13:18

Pour faire un .js d'après le générateur de script, il faut enlever au début :
<SCRIPT LANGUAGE="JavaScript">
et à la fin :
</SCRIPT>
c'est indiqué sur le site.
voici ton .js corrigé
https://sd-1.archive-host.com/membres/up/163144849328536723/pansement.js
à mettre entre les balises script dans la description du site ou
-dans les balises méta / lier un javascript

a+
missx

missx
Membre actif

Féminin
Messages : 2895
Inscrit(e) le : 12/05/2007

missx a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Script objets tombants

Message par @nnie Dim 26 Fév 2012 - 13:32

Yessss ! ::fete::
Merci MissX, j'ai été trop pressée et je n'avais pas lu jusqu'au bout les consignes.
C'est super, ça marche, je suis ra-vie !
:thanks: Flowers2
@nnie

@nnie
****

Féminin
Messages : 496
Inscrit(e) le : 04/01/2009

http://chrono-jumeaux.forumactif.com
@nnie a été remercié(e) par l'auteur de ce sujet.

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum