Nieve navideña

Hola
En la página web Xoopiter.com está nevando...
Sabéis con qué script se puede conseguir eso, es simple curiosidad.
Muchas gracias.
Saludos :wink:
Se hace mediante un script imagino. Si alguien lo consigue que lo publique en un mensaje y lo incluimos en la sección de Scripts, oki?

Nos leemos!
Un colega me ha enviado este código para la nieve. Si lo pruebas me dices que tal va, oki?

Hay que pegarlo justo después de la línea <BODY>

<script>
// numero de copos de nieve (maximo 35)
var snowmax=35
// colores para la nieve. puedes poner varios
var snowcolor=new Array("#aaaacc","#ddddFF","#ccccDD")
// fuente para los copos de nieve. puedes poner varios
var snowtype=new Array("Arial Black","Arial Narrow","Times","Comic Sans MS")
// coloca la letra que hara de copo, normalmente un asterisco *
var snowletter="*"
// velocidad de la nieve. se recomienda entre 0.2 a 2
var sinkspeed=0.6
// tamaño maximo para los copos de nieve
var snowmaxsize=22
// tamaño minimo para los copos de nieve
var snowminsize=8
// Aqui selecciona el modo de nive. pon 1 para que la nieve caiga por todos lados
// 2 para que venga de la izquierda, 3 desde la derecha y 4 desde arriba.
var snowingzone=3
// lo siguiente no se debe variar
var snow=new Array()
var marginbottom
var marginright
var timer
var i_snow=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 randommaker(range) {
rand=Math.floor(range*Math.random())
return rand
}
function initsnow() {
if (ie5 || opera) {
marginbottom = document.body.clientHeight
marginright = document.body.clientWidth
}
else if (ns6) {
marginbottom = window.innerHeight
marginright = window.innerWidth
}
var snowsizerange=snowmaxsize-snowminsize
for (i=0;i<=snowmax;i++) {
crds = 0;
lftrght = Math.random()*15;
x_mv = 0.03 + Math.random()/10;
snow=document.getElementById("s"+i)
snow.style.fontFamily=snowtype[randommaker(snowtype.length)]
snow.size=randommaker(snowsizerange)+snowminsize
snow.style.fontSize=snow.size
snow.style.color=snowcolor[randommaker(snowcolor.length)]
snow.sink=sinkspeed*snow.size/5
if (snowingzone==1) {snow.posx=randommaker(marginright-snow.size)}
if (snowingzone==2) {snow.posx=randommaker(marginright/2-snow.size)}
if (snowingzone==3) {snow.posx=randommaker(marginright/2-snow.size)+marginright/4}
if (snowingzone==4) {snow.posx=randommaker(marginright/2-snow.size)+marginright/2}
snow.posy=randommaker(2*marginbottom-marginbottom-2*snow.size)
snow.style.left=snow.posx
snow.style.top=snow.posy
}
movesnow()
}
function movesnow() {
for (i=0;i<=snowmax;i++) {
crds += x_mv;
snow.posy+=snow.sink
snow.style.left=snow.posx+lftrght*Math.sin(crds);
snow.style.top=snow.posy
if (snow.posy>=marginbottom-2*snow.size || parseInt(snow.style.left)>(marginright-3*lftrght)){
if (snowingzone==1) {snow.posx=randommaker(marginright-snow.size)}
if (snowingzone==2) {snow.posx=randommaker(marginright/2-snow.size)}
if (snowingzone==3) {snow.posx=randommaker(marginright/2-snow.size)+marginright/4}
if (snowingzone==4) {snow.posx=randommaker(marginright/2-snow.size)+marginright/2}
snow.posy=0
}
}
var timer=setTimeout("movesnow()",50)
}
for (i=0;i<=snowmax;i++) {
document.write("<span id='s"+i+"' style='position:absolute;top:-"+snowmaxsize+"'>"+snowletter+"</span>")
}
if (browserok) {
window.onload=initsnow
}
</script>

Un saludo y Felices fiestas
weno yo ya puse la nieve en mi web y funciona bien , tambien probe a cambiar el asterisco por palabras y queda chulo , asi q funciona bien lo q no probe es a poner un gif


<script language="JavaScript">
function iniCopos(num, anc, alto, veloc)
{
var i, x, y;
for (i = 0; i<num; i++)
{
x = parseInt(Math.random()*anc);
y = parseInt(Math.random()*alto);
dibujaCopo(i,x,y);
}
window.copos = new Array(num);
window.coposAlto = alto;
window.coposAncho = anc;
window.coposVeloc = veloc;
}

function dibujaCopo(num, x, y)
{
var tama = Math.round(Math.random())+ 3
document.write('<div id="c'+num+'" style="position:absolute; width:1px;');
document.write('height:1px; z-index:0; left:'+x+'px; top:'+y+'px; ');
document.write(' background-color: #FFFFFF">');
document.write('<font size="+'+tama+'" color = "#FFFFFF" >*</font>');
document.write('</div>');
}
function iniNevada()
{
for (i = 0; i < window.copos.length; i++)
if (document.all)
window.copos = document.all["c"+i]
else
window.copos = document.getElementById("c"+i);
nevar();
}

function nevar()
{
var x, y;
for (i = 0; i < copos.length; i++)
{
y = parseInt(window.copos.style.top);
x = parseInt(window.copos.style.left);
if (Math.random() > 0.5)
y += parseInt(Math.random()+1);
y += parseInt(Math.random()+2);
window.copos.style.top = y;
if (y > document.body.scrollTop + coposAlto)
{
window.copos.style.top = document.body.scrollTop-
Math.round(Math.random()*10);
window.copos.style.left = parseInt(Math.random()*coposAncho-1);
}
}
setTimeout("nevar()", coposVeloc);
}
< /script>


esto es otro script para nieve pero no lo pude poner en funcionamiento dice q se pueden poner gif y lo saque de una pagina q no pondre por que a la competencia ni agua jajajjajajajjajajajja jorgens si quieres te la mando en privi paar qlo puedas etudiar
Hola.
Muchas gracias, funciona y queda realmente muy bien. ¿Se podría poner en un fichero externo (".js") el código y relacionarlo con la página para que luego sea más fácil de eliminar?
Saludos
pff a mi no me va..:S coloco el codigo ese donde dicen y no me va alguien me ayuda?
Claro Carlos. Dinos paso a paso lo que has hecho y vemos donde puede estar el error. Y si has conseguido subir la página con ese truco de nieve y nos das la dirección mejor que mejor, así podemos corregir el código y decirte algo más acertado.

Enga, te toca!

un saludo! :wink:
¿El efecto nevada se podría aplicar a una sola tabla o div de una página web? Lo he intentado copiando el código de script dentro de la tabla en concreto, pero la nevada sale por todala página.
(me gustaría hacerlo con palabras)