Script de efecto Nevada para tu web
Script de efecto Nevada. códigos javascript prefabricados para tus páginas web
Aunque el efecto original es el de una gran nevada, este script puede usarse con cualquier símbolo e inlcuso texto. El efecto nieve se consigue con un asterisco \"*\", pero puedes cambiarlo por una letra o palabra para conseguir otros efectos distintos.
Basta copiar este código justo después de la línea del <body...> para conseguir el efecto.
<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[i] = 0;
lftrght[i] = Math.random()*15;
x_mv[i] = 0.03 + Math.random()/10;
snow[i]=document.getElementById(\"s\"+i)
snow[i].style.fontFamily=snowtype[randommaker(snowtype.length)]
snow[i].size=randommaker(snowsizerange)+snowminsize
snow[i].style.fontSize=snow[i].size
snow[i].style.color=snowcolor[randommaker(snowcolor.length)]
snow[i].sink=sinkspeed*snow[i].size/5
if (snowingzone==1) {snow[i].posx=randommaker(marginright-snow[i].size)}
if (snowingzone==2) {snow[i].posx=randommaker(marginright/2-snow[i].size)}
if (snowingzone==3) {snow[i].posx=randommaker(marginright/2-snow[i].size)+marginright/4}
if (snowingzone==4) {snow[i].posx=randommaker(marginright/2-snow[i].size)+marginright/2}
snow[i].posy=randommaker(2*marginbottom-marginbottom-2*snow[i].size)
snow[i].style.left=snow[i].posx
snow[i].style.top=snow[i].posy
}
movesnow()
}
function movesnow() {
for (i=0;i<=snowmax;i++) {
crds[i] += x_mv[i];
snow[i].posy+=snow[i].sink
snow[i].style.left=snow[i].posx+lftrght[i]*Math.sin(crds[i]);
snow[i].style.top=snow[i].posy
if (snow[i].posy>=marginbottom-2*snow[i].size || parseInt(snow[i].style.left)>(marginright-3*lftrght[i])){
if (snowingzone==1) {snow[i].posx=randommaker(marginright-snow[i].size)}
if (snowingzone==2) {snow[i].posx=randommaker(marginright/2-snow[i].size)}
if (snowingzone==3) {snow[i].posx=randommaker(marginright/2-snow[i].size)+marginright/4}
if (snowingzone==4) {snow[i].posx=randommaker(marginright/2-snow[i].size)+marginright/2}
snow[i].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>
Puedes personalizarlo un poco. Se pueden cambiar los colores, velocidad de caida, etc.