HuaHin โพสต์ 2008-12-15 13:31:20

ถามเรื่องเกล็ดหิมะหน้าเว็ป

ผมไปเจอโค้ดจาวามา//Snow - http://www.btinternet.com/~kurt.grigg/javascript

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

(function(){

//Configure here.

var num = 30;   //Number of flakes
var timer = 30; //setTimeout speed. Varies on different comps
var enableinNS6 = 1 //Enable script in NS6/Mozilla? Snow animation could be slow in those browsers. (1=yes, 0=no).

//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 = Math.round(1 + Math.random() * 1);

document.write('<div id="flake'+(idx+i)+'" style="position:absolute;top:0px;left:0px;width:'
+sfs+'px;height:'+sfs+'px;background-color:#ffffff;font-size:'+sfs+'px"><\/div>');

currStep = 0;
fall = (sfs == 1)?
Math.round(2 + Math.random() * 2): Math.round(3 + Math.random() * 2);
step = (sfs == 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;
sx = d.defaultView.scrollMaxX;
rh = oh-sy;
rw = ow-sx;
}
else{
rh = r.innerHeight;
rw = r.innerWidth;
}
h = rh - 2;
w = rw - 2;
}
else{
h = r.clientHeight - 2;
w = r.clientWidth - 2;
}
}


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++){
dy = fall;
dx = fall * Math.cos(currStep);

y+=dy;
x+=dx;

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

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

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


function init(){
winsize();
for (i = 0; i < num; i++){
theFlakes = document.getElementById("flake"+(idx+i)).style;
y = Math.round(Math.random()*h);
x = 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.ใช่ไหมครับ
แต่ไม่รู้วิธีทำครับ
วานผู้รู้อธิบายทีครับ
ขอบคุณครับ:)

Nuknan โพสต์ 2008-12-15 16:32:10

นำไปใส่บน Header.htm ในโฟลเดอร์สกินที่ใช้อยู่ครับ ~:1:~

HuaHin โพสต์ 2008-12-16 10:35:42

ขอบคุณครับ

แต่ผมลองแล้ว :L
กู้บอร์ดแทบแย่
สงสัยผมทำไม่เป็น
หน้า: [1]
ดูในรูปแบบกติ: ถามเรื่องเกล็ดหิมะหน้าเว็ป