Foros del Web » Programando para Internet » Javascript »

Navidad = Efecto Nieve

Estas en el tema de Navidad = Efecto Nieve en el foro de Javascript en Foros del Web. Buenas. Hace timepo cojí de este foro un código para simular la caida de la nieve. Funciona genial, el tema es que no se nada ...
  #1 (permalink)  
Antiguo 09/12/2009, 05:47
 
Fecha de Ingreso: octubre-2008
Mensajes: 180
Antigüedad: 15 años, 6 meses
Puntos: 1
Navidad = Efecto Nieve

Buenas.
Hace timepo cojí de este foro un código para simular la caida de la nieve.
Funciona genial, el tema es que no se nada de JS y no sé que líneas tengo que modificar para hacer que el efecto nieve, llegue hasta abajo de la página.
¿Alguien me puede echar un cable?
Gracias

Código PHP:
var snowsrc="imagenesweb/snow3.gif"
// Configure below to change number of snow to render
var no 10;

var 
ns4up = (document.layers) ? 0// browser sniffer
var ie4up = (document.all) ? 0;
var 
ns6up = (document.getElementById&&!document.all) ? 0;

var 
dxxpyp// coordinate and position variables
var amstxsty// amplitude and step variables
var idoc_width 800doc_height 2000;

if (
ns4up||ns6up) {
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();

for (
0no; ++ i) { 
dx[i] = 0// set coordinate variables
xp[i] = Math.random()*(doc_width-50); // set position variables
yp[i] = Math.random()*doc_height;
am[i] = Math.random()*20// set amplitude variables
stx[i] = 0.02 Math.random()/10// set step variables
sty[i] = 0.7 Math.random(); // set step variables
if (ns4up) { // set layers
document.write("<layer name=\"dot"+"\" left=\"15\" top=\"15\" visibility=\"show\"><img src='"+snowsrc+"' border=\"0\"><\/layer>");
} else if (
ie4up||ns6up) {
document.write("<div id=\"dot"+"\" style=\"POSITION: absolute; Z-INDEX: "+"; VISIBILITY: visible; TOP: 15px; LEFT: 15px;\"><img src='"+snowsrc+"' border=\"0\"><\/div>");
}
}

function 
snowNS() { // Netscape main animation function
for (0no; ++ i) { // iterate for every 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();
doc_width self.innerWidth;
doc_height self.innerHeight;
}
dx[i] += stx[i];
document.layers["dot"+i].top yp[i];
document.layers["dot"+i].left xp[i] + am[i]*Math.sin(dx[i]);
}
setTimeout("snowNS()"10);
}

function 
snowIE_NS6() { // IE and NS6 main animation function
for (0no; ++ i) { // iterate for every 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();
doc_width ns6up?window.innerWidth document.body.clientWidth;
doc_height ns6up?window.innerHeight document.body.clientHeight;
}
dx[i] += stx[i];
if (
ie4up){
document.all["dot"+i].style.pixelTop yp[i];
document.all["dot"+i].style.pixelLeft xp[i] + am[i]*Math.sin(dx[i]);
}
else if (
ns6up){
document.getElementById("dot"+i).style.top=yp[i];
document.getElementById("dot"+i).style.left=xp[i] + am[i]*Math.sin(dx[i]);

}
setTimeout("snowIE_NS6()"10);
}

if (
ns4up) {
snowNS();
} else if (
ie4up||ns6up) {
snowIE_NS6();

  #2 (permalink)  
Antiguo 09/12/2009, 08:09
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Navidad = Efecto Nieve

dudo que alguien tenga animos de ajustar el codigo, o al menos yo no lo tengo. en todo caso, si buscas en el foro encontraras multiples temas de lo mismo. http://www.forosdelweb.com/f13/copos-nieve-754943/

[suggestion]
los moderadores tendran que hacer un sticky note de algun tema acerca de este efecto mientras estemos en la temporada de navidad.
[/suggestion]
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 09/12/2009, 12:20
 
Fecha de Ingreso: octubre-2008
Mensajes: 180
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: Navidad = Efecto Nieve

Está visto que tu no tienes ánimos, pero igual otra persona si.
De todas formas gracias por tu repuesta.
A ver si alguien con extra de ánimos puede resolver el enigma.
Gracias
  #4 (permalink)  
Antiguo 09/12/2009, 12:23
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Navidad = Efecto Nieve

¿ya viste el enlace que te puse? ahi tienes un ejemplo que te puedes descargar y funciona en todos los navegadores.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #5 (permalink)  
Antiguo 09/12/2009, 12:27
 
Fecha de Ingreso: octubre-2008
Mensajes: 180
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: Navidad = Efecto Nieve

Si lo vi, pero me ha dado pereza cambiar el que tengo instalado ya en mi web...
No soy programador ni nada por el estilo, y muchas veces me he peleado con códigos para obtener algo medio decente, y la verdad, se me ponen los pelos de punta viento tanto código.
Aun así, te voy a hacer caso y voy a probar esto que me recomiendas.
Gracias señor/a
  #6 (permalink)  
Antiguo 09/12/2009, 13:04
 
Fecha de Ingreso: septiembre-2009
Mensajes: 111
Antigüedad: 14 años, 7 meses
Puntos: 3
De acuerdo Respuesta: Navidad = Efecto Nieve

Cita:
Iniciado por Xematick Ver Mensaje
Si lo vi, pero me ha dado pereza cambiar el que tengo instalado ya en mi web...
MMM como que el Desanimado es otro no??... Gracias ZEROKILLED tu Link me ha servido bastante para unas invitaciones Navideñas...

SALUDOS.. y de nada por el KARMA!
__________________
Si caminas por la Senda del Conocimiento... y una Luz en la Oscuridad Ilumina tu Camino... No seas cu#$r@ y compártela.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:57.