<html>

<head>

<title>讓你的頁面有下雨的感覺</title>

</head>

<body>

<script language="JavaScript">

var no = 50;

var speed = 1;

var ns4up = (document.layers) ? 1 : 0;         //針對netscape時,使用的物件-document.layers

var ie4up = (document.all) ? 1 : 0;             //針對ie時,使用的物件-document.all

var s, x, y, sn, cs;

var a, r, cx, cy;

var i, doc_width = 800, doc_height = 600;       //設置表單的初始高度和寬度

if (ns4up) {                                  //netscape時,獲取表單的高度和寬度

   doc_width = self.innerWidth;

   doc_height = self.innerHeight;

}

else

if (ie4up) {                                   //ie時,獲取表單的高度和寬度

   doc_width = document.body.clientWidth;

   doc_height = document.body.clientHeight;

}

x = new Array();

y = new Array();

r = new Array();

cx = new Array();

cy = new Array();

s = 8;

for (i = 0; i < no; ++ i) {

   initRain();                                 //

   if (ns4up) {                               //netscape時,使用layer設置一些動態雨點

       if (i == 0) {

       document.write("<layer name=\"dot"+ i +"\" left=\"1\" ");

       document.write("top=\"1\" visibility=\"show\"><font color=\"blue\">");

       document.write(",</font></layer>");

       }

       else {

       document.write("<layer name=\"dot"+ i +"\" left=\"1\" ");

       document.write("top=\"1\" visibility=\"show\"><font color=\"blue\">");

       document.write(",</font></layer>");

           }

   }

   else

       if (ie4up) {                           //IE時,使用div設置一些動態雨點

           if (i == 0) {

            document.write("<div id=\"dot"+ i +"\" style=\"POSITION: ");

           document.write("absolute; Z-INDEX: "+ i +"; VISIBILITY: ");

           document.write("visible; TOP: 15px; LEFT: 15px;\"><font color=\"blue\">");

           document.write(",</font></div>");

           }

           else {

           document.write("<div id=\"dot"+ i +"\" style=\"POSITION: ");

           document.write("absolute; Z-INDEX: "+ i +"; VISIBILITY: ");

           document.write("visible; TOP: 15px; LEFT: 15px;\"><font color=\"blue\">");

           document.write(",</font></div>");

                 }

     }

}

function initRain() {                               //初始化座標值-動態

a = 6;

r[i] = 1;

sn = Math.sin(a);

cs = Math.cos(a);

cx[i] = Math.random() * doc_width + 1;

cy[i] = Math.random() * doc_height + 1;

x[i] = r[i] * sn + cx[i];

y[i] = cy[i];

}

function makeRain() {                               //設置動態的x,y座標

   r[i] = 1;

   cx[i] = Math.random() * doc_width + 1;

   cy[i] = 1;

   x[i] = r[i] * sn + cx[i];

   y[i] = r[i] * cs + cy[i];

}

function setRain() {                             //重新生成x,y座標

   r[i] += s;

   x[i] = r[i] * sn + cx[i];

   y[i] = r[i] * cs + cy[i];

}

function raindropNS() {                             //netscape中的下雨效果

for (i = 0; i < no; ++ i) {

setRain();

if ((x[i] <= 1) || (x[i] >= (doc_width - 20)) || (y[i] >= (doc_height - 20))) {

makeRain();

doc_width = self.innerWidth;

doc_height = self.innerHeight;

}

document.layers["dot"+i].top = y[i];

document.layers["dot"+i].left = x[i];

}

setTimeout("raindropNS()", speed);

}

function raindropIE() {                             //IE中的下雨效果

   for (i = 0; i < no; ++ i) {

   setRain();

   if ((x[i] <= 1) || (x[i] >= (doc_width - 20)) || (y[i] >= (doc_height - 20))) {

   makeRain();

   }

   document.all["dot"+i].style.pixelTop = y[i];      //迴圈改變雨點的xy座標

   document.all["dot"+i].style.pixelLeft = x[i];

   }

   setTimeout("raindropIE()", speed);               //實現計時器,實現不斷下雨的效果

}

if (ns4up) {

   raindropNS();

}

else

if (ie4up) {

   
raindropIE();

}

</script>

</body>

</html>

arrow
arrow
    文章標籤
    javascript rainy
    全站熱搜

    痞客興 發表在 痞客邦 留言(0) 人氣()