Faire traverser le blog par des images animées

Publié le par Lavande

C'est Halloween et envie de faire traverser votre blog par des chauves souris?


sorcier_002

Alors le script est sensiblement le même que celui pour faire tomber de la neige mais avec un passage de gauche à droite. Fabrice de Over-blog m'a gentiment aidé pour vous proposer cette animation adaptée. Qu'il en soit remercié :-)

Je n'ai pas percé tous les secrets de ce script, je vous laisse faire si le cœur vous en dit. Je mets juste en rouge l'endroit où vous devez mettre vos images.

Donc le script est le suivant :

<script>//Snow - http://www.btinternet.com/~kurt.grigg/javascript

if  ((document.getElementById) &&
window.addEventListener || window.attachEvent){

(function(){
var num = 2;   //Nombre de flocons
var timer = 100; //Vitesse de descente
var enableinNS6 = 1 //La vitesse varie selon les navigateurs. (1=yes, 0=no).
//Adresse des gifs ci-dessous
var url_gif = new Array();

url_gif[0]= "votreimage.gif"; // chauve-souris

url_gif[1]= "votreimage.gif";

nb_floc = 2; // Nombre de d'images différentes

//End.

var y = [];
var x = [];
var fall = [];
var theFlakes = [];
var sfs = [];
var step = [];
var currStep = [];
var h,w,r;
var d = document;
var pix = "px";
var domWw = (typeof window.innerWidth == "number");
var domSy = (typeof window.pageYOffset == "number");
var idx = d.getElementsByTagName('div').length;

if (d.documentElement.style &&
typeof d.documentElement.style.MozOpacity == "string")
num = 12;

for (i = 0; i < num; i++){
sfs[i] = 15; // Math.round(1 + Math.random() * 1);

document.write('<div id="flake'+(idx+i)+'" style="position:absolute;top:0px;left:0px;width:"><img src="'+url_gif[i%(nb_floc-1)]+'"><\/div>');

currStep[i] = 0;
fall[i] = (sfs[i] == 1)?
Math.round(2 + Math.random() * 2): Math.round(3 + Math.random() * 2);
step[i] = (sfs[i] == 1)?
0.05 + Math.random() * 0.1 : 0.05 + Math.random() * 0.05 ;
}

if (domWw) r = window;
else{
  if (d.documentElement &&
  typeof d.documentElement.clientWidth == "number" &&
  d.documentElement.clientWidth != 0)
  r = d.documentElement;
else{
  if (d.body &&
  typeof d.body.clientWidth == "number")
  r = d.body;
}
}

function winsize(){
var oh,sy,ow,sx,rh,rw;
if (domWw){
  if (d.documentElement && d.defaultView &&
  typeof d.defaultView.scrollMaxY == "number"){
  oh = d.documentElement.offsetHeight;
//  sy = d.defaultView.scrollMaxY;
  ow = d.documentElement.offsetWidth*0.95;
//  sx = d.defaultView.scrollMaxX;
  rh = oh; //-sy;
  rw = ow; //-sx;
}
else{
  rh = r.innerHeight;
  rw = r.innerWidth*0.95;
}
h = rh - 2; 
w = rw - 2;
}
else{
h = r.clientHeight - 2;
w = r.clientWidth*0.80;
}
}



function scrl(yx){
var y,x;
if (domSy){
y = r.pageYOffset;
x = r.pageXOffset;
}
else{
y = r.scrollTop;
x = r.scrollLeft;
}
return (yx == 0)?y:x;
}



function snow(){
var dy,dx;

for (i = 0; i < num; i++){
dx = fall[i];
dy = fall[i] * Math.cos(currStep[i]);

y[i]+=dy;
x[i]+=dx;

if (x[i] >= w || y[i] >= h){
  y[i] = -10;
  x[i] = Math.round(Math.random() * w);
  fall[i] = (sfs[i] == 1)?
  Math.round(2 + Math.random() * 2): Math.round(3 + Math.random() * 2);
  step[i] = (sfs[i] == 1)?
  0.05 + Math.random() * 0.1 : 0.05 + Math.random() * 0.05 ;
}

theFlakes[i].top = y[i] + scrl(0) + pix;
theFlakes[i].left = x[i] + scrl(1) + pix;

currStep[i]+=step[i];
}
setTimeout(snow,timer);
}

function init(){
winsize();
for (i = 0; i < num; i++){
theFlakes[i] = document.getElementById("flake"+(idx+i)).style;
y[i] = Math.round(Math.random()*h);
x[i] = Math.round(Math.random()*w);
}
snow();
}

if (window.addEventListener){
window.addEventListener("resize",winsize,false);
window.addEventListener("load",init,false);

else if (window.attachEvent){
window.attachEvent("onresize",winsize);
window.attachEvent("onload",init);
}

})();
}//End.
</script>

Le script est à coller dans un texte libre en haut ou en base de page (dans la colonne l'animation reste coincée dans la colonne).

Allez booooh!

Publié dans Over-Blog

Pour être informé des derniers articles, inscrivez vous :
Commenter cet article
C
<br /> Bonjour<br /> <br /> Je n'y connais rien du tout mais,<br /> J'ai réussi du premier coup, excellente explication et superbe animation.<br /> <br /> J'ai ajouter le code et surtout votre logo sur mon blog en article.<br /> Merci encore.<br /> <br /> Pour ma part j'ai pris un gif anim de Michael Jackson.<br /> merci<br /> Bonne journe.<br /> Byebye<br /> <br /> <br />
Répondre
I
Superbe cette petite animation, mais n'est pas possible pour les mode Confiance.<br /> Quel dommage !!!
Répondre
L
<br /> oui Ob est assez nul pour ça !<br /> <br /> <br />
M
hELLO!<br /> Merci de tous ces conseils et précieux renseignements..mais si je veux autre chose qu'une chauve-souris, où dois-je aller pour en trouver?<br /> mERci
Répondre
L
<br /> le mieux est de fouiller sur le net ;-)<br /> <br /> <br />
M
bonjour, bientôt les vacances et je vais "décorer" mon blog (index en images par ex) et là, je voudrais "faire tomber de la neige" mais j'ai RIEN COMPRIS DU TOUT : où dois-je trouver les images (écrit en rouge dans le script) ? Et le script est à coller dans "nouveau message" ? Merci
Répondre
L
<br /> les images c'est à toi de les trouver sur le net. Le script est à mettre en mode avancé dans le script des pages (sauf la feuille de style)<br /> <br /> <br />