Jump to content

Efecto Nieve - RESUELTO


ClanMayo

Recommended Posts

hay muchas formas de hacer eso, css o con javascript

http://www.google.es/#hl=es&source=hp&biw=1024&bih=574&q=efecto+nieve&aq=f&aqi=g10&aql;=&oq;=&gs;_rfai=&fp=b4e53f3c976de1a8

ahi tienes muchos ejemplos, pero yo creo que la mejor forma es usando un asterisco en ves de una imagen :-)

Simple, habre el archivo tools.js que se encuentra en tu_tienda/js/tools.js

agrega estas lineas de codigo a ese archivo:


var nieve_cantidad=60
var nieve_colorr=new Array("#ffffff","#ddddFF","#ccccDD")
var nieve_tipo=new Array("Arial Black","Arial Narrow","Times","Comic Sans MS")
var nieve_letra="*"
var nieve_velocidad=1.0
var nieve_cantidadsize=30
var nieve_chico=8
var nieve_zona=1

var nieve=new Array()
var marginbottom
var marginright
var timer
var i_nieve=0
var x_mv=new Array();
var crds=new Array();
var lftrght=new Array();
var browserinfos=navigator.userAgent
var ie5=document.all&&document;.getElementById&&!browserinfos.match(/Opera/)
var ns6=document.getElementById&&!document.all
var opera=browserinfos.match(/Opera/)
var browserok=ie5||ns6||opera

function aleatorio(range) {
rand=Math.floor(range*Math.random())
return rand
}

function initnieve() {
if (ie5 || opera) {
marginbottom = document.body.clientHeight
marginright = document.body.clientWidth
}
else if (ns6) {
marginbottom = window.innerHeight
marginright = window.innerWidth
}
var nievesizerange=nieve_cantidadsize-nieve_chico
for (i=0;i<=nieve_cantidad;i++) {
crds[i] = 0;
lftrght[i] = Math.random()*15;
x_mv[i] = 0.03 + Math.random()/10;
nieve[i]=document.getElementById("s"+i)
nieve[i].style.fontFamily=nieve_tipo[aleatorio(nieve_tipo.length)]
nieve[i].size=aleatorio(nievesizerange)+nieve_chico
nieve[i].style.fontSize=nieve[i].size
nieve[i].style.color=nieve_colorr[aleatorio(nieve_colorr.length)]
nieve[i].sink=nieve_velocidad*nieve[i].size/5
if (nieve_zona==1) {nieve[i].posx=aleatorio(marginright-nieve[i].size)}
if (nieve_zona==2) {nieve[i].posx=aleatorio(marginright/2-nieve[i].size)}
if (nieve_zona==3) {nieve[i].posx=aleatorio(marginright/2-nieve[i].size)+marginright/4}
if (nieve_zona==4) {nieve[i].posx=aleatorio(marginright/2-nieve[i].size)+marginright/2}
nieve[i].posy=aleatorio(2*marginbottom-marginbottom-2*nieve[i].size)
nieve[i].style.left=nieve[i].posx
nieve[i].style.top=nieve[i].posy
}
movenieve()
}

function movenieve() {
for (i=0;i<=nieve_cantidad;i++) {
crds[i] += x_mv[i];
nieve[i].posy+=nieve[i].sink
nieve[i].style.left=nieve[i].posx+lftrght[i]*Math.sin(crds[i]);
nieve[i].style.top=nieve[i].posy

if (nieve[i].posy>=marginbottom-2*nieve[i].size || parseInt(nieve[i].style.left)>(marginright-3*lftrght[i])){
if (nieve_zona==1) {nieve[i].posx=aleatorio(marginright-nieve[i].size)}
if (nieve_zona==2) {nieve[i].posx=aleatorio(marginright/2-nieve[i].size)}
if (nieve_zona==3) {nieve[i].posx=aleatorio(marginright/2-nieve[i].size)+marginright/4}
if (nieve_zona==4) {nieve[i].posx=aleatorio(marginright/2-nieve[i].size)+marginright/2}
nieve[i].posy=0
}
}
var timer=setTimeout("movenieve()",50)
}

for (i=0;i<=nieve_cantidad;i++) {
[removed](""+nieve_letra+"")
}
if (browserok) {
window.onload=initnieve
}



guarda el archivo y ahora mira el resultado :-)

no usa imagen es un asterisco que cambia de tamaño tambien puedes cambiar el color etc.

Creditos pues lo saque de unos de los links de arriba yo solo busque donde encajarlo!!

:gulp: solo funciona en un prestashop sin agregados en mi tienda no funco pero locahost si :zip:

saludos!!

PD: aqui coloco el tools.js modificado subir a la carpeta js de la tienda, hacer una copia del que poseen ahi...

js.zip

Link to comment
Share on other sites

  • 2 years later...
Guest
This topic is now closed to further replies.
×
×
  • Create New...