NEIGE FIREFOX/IE

Zizouh Messages postés 2 Date d'inscription samedi 9 décembre 2006 Statut Membre Dernière intervention 10 décembre 2006 - 10 déc. 2006 à 10:01
frogline Messages postés 15 Date d'inscription lundi 23 janvier 2006 Statut Membre Dernière intervention 5 juillet 2014 - 23 déc. 2010 à 21:29
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/40637-neige-firefox-ie

frogline Messages postés 15 Date d'inscription lundi 23 janvier 2006 Statut Membre Dernière intervention 5 juillet 2014
23 déc. 2010 à 21:29
bonjour, je suis complètement perdue!
je n'y connais RIEN en javascript, j'ai été parachutée administratrice d'un forum en phpBB2 et j'aimerais mettre de la neige sur mon écran.....

quelqu'un(e) peut-il m'aider en me détaillant la marche à suivre?
j'ai essayé de mettre le script ci-dessus en place avec toutes les indications et çe ne fonctionne pas!

merci d'avance!
cs_droopi68 Messages postés 2 Date d'inscription mercredi 8 février 2006 Statut Membre Dernière intervention 24 décembre 2008
24 déc. 2008 à 13:42
Si moi ça marche sur IE7 sans problème !
cs_oceane751 Messages postés 150 Date d'inscription jeudi 23 décembre 2004 Statut Membre Dernière intervention 20 décembre 2012
19 déc. 2008 à 12:01
marche pas sur ie7
cs_droopi68 Messages postés 2 Date d'inscription mercredi 8 février 2006 Statut Membre Dernière intervention 24 décembre 2008
15 déc. 2008 à 10:37
Merci pour ce script sympa, et merci à FREMYCOMPANY de l'avoir modifié, pour ma part il fonctionne correctement sous IE et FF,

j'ai collé le script modifié par FREMYCOMPANY dans un fichier Noel.js à la racine de mon site.

Dans ce fichier au niveau des lignes suivantes...
var snowflake1 = "images/noel/floc.gif"; // Nom de votre image
var snowflake2 = "images/noel/floc2.gif"; // Nom de votre image
var snowflake3 = "images/noel/floc3.gif"; // Nom de votre image
var snowflake4 = "images/noel/floc4.gif"; // Nom de votre image
j'ai indiqué le chemin vers les images (pour ma part: images/noel/..), c'est là ou je l'es ai collé !

Ensuite dans ma page html, juste avant j'ai fais une insertion de la ligne suivante:
<script type="text/javascript" language="javascript" src="Noel.js"></script>

et c'est magique !! :o)

voilà j'espère que ces dernières indication pourrons être utiles à d'autres ;o)
NeoO56 Messages postés 1 Date d'inscription mardi 21 août 2007 Statut Membre Dernière intervention 3 décembre 2007
3 déc. 2007 à 19:06
idem, sous IE7 ca ne marche pas, le script n'apparait meme pas dans la source de la page... je ne sais pas comment faire...
Utilisateur anonyme
25 nov. 2007 à 19:13
je n'arrive pas a le faire fonctionner sous IE7 .....
TrybalSpirit Messages postés 5 Date d'inscription vendredi 21 juillet 2006 Statut Membre Dernière intervention 3 janvier 2007
3 janv. 2007 à 07:53
Salut à tous et merci à toi pour ce code, je confirme qu'il fonctionne très bien sous FF, serait t'il possible de mettre les images dans le cache du navigateur pour rendre l'animation plus fluide ?
jsfabsolu Messages postés 1 Date d'inscription samedi 23 décembre 2006 Statut Membre Dernière intervention 23 décembre 2006
23 déc. 2006 à 17:45
j'arrive pas à le faire marcher sur FF sur un fichier index_body.tpl de forum
ifebo Messages postés 181 Date d'inscription jeudi 10 mars 2005 Statut Membre Dernière intervention 28 décembre 2006
22 déc. 2006 à 04:42
Bonjour.
IL est bien ce script mais finalement je lui préfère celui-là :
http://www.javascriptfr.com/code.aspx?ID=35228
Pour plusieurs raisons :
1 - Les multiples choix de police
2 - La possibilité d'appliquer plusieurs couleurs aux flocons.
3 - La légèreté du fait de l'abscence de gif ou jpg
4 - On peut, avec le jeux des couleurs créer un effet de chute de neige en 3D. (Effet de profondeur de champ)
Pour parfaire, il faudrait encore qu'un champion en javascript nous fasse un ajout permettant une accumulation aléatoire de flocons en bas de page, sur une hauteur prédéfinie et là alors...! Bon je dis ça au cas où ? ;-)
Bonnes fêtes et bonne neige à tous et toutes.
FREMYCOMPANY Messages postés 276 Date d'inscription jeudi 12 janvier 2006 Statut Membre Dernière intervention 22 décembre 2008
21 déc. 2006 à 21:24
Voici une version du script améliorée qui tient compte de la taille réele du document, même une fois la neige "remontée" :

<<

function generateSnow() {
var no = (window.ActiveXObject?75:200); // nombre de flocon
var speed = 75; // Vitesse ou tombe les flocons
var snowflake1 = "http://www.septentrion-game.com/IMAGE/noel/floc.gif"; // Nom de votre image
var snowflake2 = "http://www.septentrion-game.com/IMAGE/noel/floc2.gif"; // Nom de votre image
var snowflake3 = "http://www.septentrion-game.com/IMAGE/noel/floc3.gif"; // Nom de votre image
var snowflake4 = "http://www.septentrion-game.com/IMAGE/noel/floc4.gif"; // Nom de votre image
var nb=4;

var ns4up = (document.layers) ? 1 : 0; // Version de netscape
var ie4up = (document.all) ? 1 : 0; // Version d' Internet Exploreur
var dx, xp, yp; // Coordonnées de positionnement
var am, stx, sty; // amplitude and step variables
var i, doc_width 1024, doc_height 768;
if (ns4up)
{
doc_width = self.innerWidth;
doc_height = self.innerHeight;
}
else if (ie4up)
{
doc_width = document.body.clientWidth;
doc_height = document.body.clientHeight;
}

dx = new Array();
xp = new Array();
yp = new Array();
am = new Array();
stx = new Array();
sty = new Array();
var i=0;

for (i = 0; i < no; ++ i)
{
dx[i] = Math.floor(Math.random() * 1100)+20; // définition du coordonné
if(dx[i]>doc_width-30) dx[i] = dx[i]-50;
xp[i] = 5; // définition de la position
am[i] = Math.random()*1;
yp[i] = Math.random()*200-200;
stx[i] = 0.02 + Math.random()/10; // set step variables
sty[i] = 0.7 + Math.random(); // set step variables

if (i == 0)
{
document.write("

");
if(typefloc==2) document.write(snowflake2 + "" border="0">
");
if(typefloc==3) document.write(snowflake3 + "" border="0">
");
if(typefloc==4) document.write(snowflake4 + "" border="0">
");
}
else
{
document.write("

");
if(typefloc==2) document.write(snowflake2 + "" border="0">
");
if(typefloc==3) document.write(snowflake3 + "" border="0">
");
if(typefloc==4) document.write(snowflake4 + "" border="0">
");
}
}

function snowIE()
{ // Définition de l'animation pour Internet Exploreur
doc_width = document.body.clientWidth;
doc_height = document.body.clientHeight;
for (i = 0; i < no; ++ i)
{
//deplacement vertical
sty[i] = 0.2 + Math.random()*5;
yp[i] += sty[i];

//deplacement horizontal
stx[i] = 0.08 + Math.random()/10;
dx[i] += stx[i] + am[i]*Math.sin(dx[i]);

test=Math.floor(Math.random()*(doc_height-(yp[i])));

//tant que dans la page

if (yp[i] < doc_height && test>1)
{
document.getElementById("dot"+i).style.top = Math.floor(yp[i])+"px";
if (dx[i] < doc_width-5) document.getElementById("dot"+i).style.left = dx[i]+"px";
}
else //sinon on le remet en haut
{
yp[i]=0;
dx[i] = 50 + Math.floor(Math.random() * doc_width)+5;
}

}
setTimeout(snowIE, speed);
}

snowIE();
}
generateSnow();
setTimeout(function() {
document.write=function(t) {
document.getElementById("endPage").innerHTML+=t;
}
},0)


>>
cs_manonette Messages postés 1 Date d'inscription vendredi 24 février 2006 Statut Membre Dernière intervention 20 décembre 2006
20 déc. 2006 à 17:03
Bonjour,

J'ai essayé ce script très sympa. Il y a juste le problème des flocons qui descende à gauche et pas à droite sur mon écran (résolution 1280 x 1024). Même avec la modification de barbapapaz, ceci va marché pendant les premières secondes (4 ou 5 flocons) mais par la suite aucun flocons ne tombent à droite de mon écran alors que sur la gauche, oui ?? si une personne calé pouvait nous aider, merci.

Cordialement Olivier
cs_Wells Messages postés 1 Date d'inscription samedi 15 novembre 2003 Statut Membre Dernière intervention 20 décembre 2006
20 déc. 2006 à 10:50
Je vais changer le nom des images sur mon site. Je fait ça car si vous ne modifiez pas votre script je vais avoir 50 sites qui pointe sur mes images et ça va écrouler ma bande passante. :)

Wells
misslol06 Messages postés 5 Date d'inscription jeudi 21 septembre 2006 Statut Membre Dernière intervention 19 décembre 2006
19 déc. 2006 à 20:45
re
j'ai fais ce qu'a dit Barbapapaz...et ça marche.....un gros bisou pour lui ;)

merci a tous pour ce script, et de votre sympathie

Doux Noël à tous et toutes, a bientôt
misslol
misslol06 Messages postés 5 Date d'inscription jeudi 21 septembre 2006 Statut Membre Dernière intervention 19 décembre 2006
19 déc. 2006 à 20:33
coucou,

ben la neige font avant d'arrivée en bas de page lol
j'ai fais la modif mais ça ne marche pas!!
tant pis

misslol
cs_Haricotbleu Messages postés 1 Date d'inscription jeudi 14 décembre 2006 Statut Membre Dernière intervention 19 décembre 2006
19 déc. 2006 à 18:33
Barbapapaz ta mods pour avoir des flocons sur toute la hauteur de page ne fonctionne pas sous firefox... et je ne suis pas convaincu que la prise en compte de la largeur de page fonctionne davantage.

Bravo Wells pour ce script.
Mister Ki Messages postés 1 Date d'inscription mercredi 15 juin 2005 Statut Membre Dernière intervention 19 décembre 2006
19 déc. 2006 à 17:47
Bonsoir,

Bravo pour ce site, et bravo à Wells pour ce script
installé en 5 mn il a fonctionné tout de suite.

L'effet avec une gif de neige empilé est très sympa !
misslol06 Messages postés 5 Date d'inscription jeudi 21 septembre 2006 Statut Membre Dernière intervention 19 décembre 2006
18 déc. 2006 à 11:14
merci vais essayer de suite

vous êtes formidables

misslol
ifebo Messages postés 181 Date d'inscription jeudi 10 mars 2005 Statut Membre Dernière intervention 28 décembre 2006
18 déc. 2006 à 10:46
Bonjour. Ceux et celles pour qui ça ne marche pas, je pense à Gaby124, devraient peut-être essayer de placer l'appel du JS externe en fin de page juste avant la balise là ça doit marcher. lorsqu'il y a plusieurs js sur une page il faut changer leurs positions jusqu'à trouver celles ou ils fonctionnent tous.
Cette technique concerne surtout les gens comme moi qui ne s'y connaissent pas suffisemment pour pouvoir déterminer cette position rien qu'en regardant le script.
barbapapaz Messages postés 2 Date d'inscription dimanche 30 novembre 2003 Statut Membre Dernière intervention 17 décembre 2006
17 déc. 2006 à 22:41
voilà mes modifications pour une meilleur répartition des flocons sur toute la page.

tout d'abord il faut savoir que la taille de la page est déjà récupérer automatiquement dans le if de la ligne 25 donc le changement cité plus haut ne sert à rien.

par contre "dx[i] = Math.floor(Math.random() * 1100)+20;" remplacé par "dx[i] = Math.floor(Math.random() * doc_width)+20;" permet de prendre en compte la vraie largeur de page du visiteur.

enfin "if (yp[i] < 600 && test>1)" remplacé par "if (yp[i] < doc_height && test>1)" permet d'avoir des flocons sur toutes la hauteur de page.
barbapapaz Messages postés 2 Date d'inscription dimanche 30 novembre 2003 Statut Membre Dernière intervention 17 décembre 2006
17 déc. 2006 à 22:26
pour modifier la hauteur de tomber ça se passe à la ligne 93
if (yp[i] < 850 && test>1)

la valeur 850 corresponds à la hauteur mets 6000 par contre il va te falloir mettre beaucoup de flocons pour couvrir toutes la page.

Sinon malgrés les modifs cité plus haut les flocon ne tombent pas souvent à droite chez moi

merci pour le script c'est le seul que j'ai trouvé marchant desuite sous ie et firefox
misslol06 Messages postés 5 Date d'inscription jeudi 21 septembre 2006 Statut Membre Dernière intervention 19 décembre 2006
17 déc. 2006 à 17:10
merci pour ce script, mais que dois-je faire pour que les flocons tombent jusqu'en bas de la page qui fait 1000X6000 merci
misslol06 Messages postés 5 Date d'inscription jeudi 21 septembre 2006 Statut Membre Dernière intervention 19 décembre 2006
17 déc. 2006 à 16:33
mille merci pour le script sympa juste pour moi débutante...impec, juste un tout petit soucis, moi c'est pas en largeur mais en hauteur, mes pages web font 1000sur 6000 de haut, que dois-je modifier et j'aimerai que la neige tombe plus et un peu plus vite, si on ne peut pas je laisse comme ça c'est trop mignon.....
misslol 44ans
cs_bigbull Messages postés 3 Date d'inscription lundi 8 novembre 2004 Statut Membre Dernière intervention 12 avril 2009
16 déc. 2006 à 10:56
C'est bon j'ai reussi à trouvé d'où venait l'erreur. Tout fonctionne bien sous Firefox 2 et sous Internet Explorer 7.
Encore merci pour le code. ;-).
gabi124 Messages postés 4 Date d'inscription dimanche 22 octobre 2006 Statut Membre Dernière intervention 23 avril 2009
15 déc. 2006 à 19:23
sa marche pas cette source quelqu'un pourrait m'aider
cs_bigbull Messages postés 3 Date d'inscription lundi 8 novembre 2004 Statut Membre Dernière intervention 12 avril 2009
14 déc. 2006 à 11:12
Salut,
Merci pour ce script. Il fonctionne très bien sous Firefox 2 mais j'ai des soucis sous Internet Explorer 7.
Il me dit qu'il y a une erreur dans le script ligne : 33 caract : 3 - objet requis.
Je suis débutant en javascript.
Si quelqu'un peut me donner un coup de main.
Merci à tous d'avance.
cs_wizad Messages postés 355 Date d'inscription samedi 30 octobre 2004 Statut Membre Dernière intervention 14 avril 2009
11 déc. 2006 à 17:08
Pour la largeur de l'écran ne serait-il pas plutot possible de récupérer la valeur dynamiquen à partir de la config du client.
cs_Thomas46 Messages postés 123 Date d'inscription samedi 29 novembre 2003 Statut Membre Dernière intervention 11 mars 2007
11 déc. 2006 à 14:37
Hello,

Merci pour ce script. Très réussi.
Et merci à Zizouh pour comm permettant de modifier en cas d'écran large :)
Zizouh Messages postés 2 Date d'inscription samedi 9 décembre 2006 Statut Membre Dernière intervention 10 décembre 2006
10 déc. 2006 à 10:01
Bonjour,
Vraiment très bien ce script !
Je veux juste apporter une précision.
Pour ceux qui ont un site centré sur un ecran large : la neige ne tombe pas à droite de l'écran
exemple : sur www.septentrion-game.com
j'ai modifier:
ligne 24 : var i, doc_width 1024, doc_height 768; en var i, doc_width = 1680, doc_height = 1050;
ligne 46 : dx[i] = Math.floor(Math.random() * 1100)+20; en dx[i] = Math.floor(Math.random() * 2000)+20;
chez moi ça marche...
Encore merci à Wells
Rejoignez-nous