您的位置:首页 > Web前端 > JavaScript

用js实现下雨效果

2012-11-25 10:11 1171 查看
<HTML>

    <HEAD>

    <TITLE>JavaScript动态雨景 站长学院 代码特效 </TITLE>

    </HEAD>

    <BODY bgcolor="#fef4d2" >

    <center>

    <script language=JavaScript>

    <!-- [Step1]: 在此能够设置雨滴的多少 -->

    var rainsize = 40;

    <!-- [Step2]: 这里可以更改下雨的速度,数值大速度慢 -->

    var speed = 10;

    var x = new Array();

    var y = new Array();

    var r = new Array();

    var cx = new Array();

    var cy = new Array();

    var doc_width = document.body.clientWidth;

    var doc_height = document.body.clientHeight;

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

    initRain();

    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 raindropIE() {

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

    updateRain();

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

    makeRain();

    doc_width = document.body.clientWidth;

    doc_height = document.body.clientHeight; }

    document.all["dot"+i].style.pixelTop = y[i];

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

    setTimeout("raindropIE()", speed);

    }

    function updateRain() {

    r[i] += 10;

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

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

    }

    function makeRain() {

    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];

    }

    raindropIE();

    </script>

    </BODY>

    </HTML>

 

 

 

 

 

 

 

  网页资源代码站提示:测试JS实现页面下雨动画效果的背景特效这个代码看效果--因加载JS有必要刷新这款JS实现页面下雨动画效果的背景特效可以自选设置,页面上下雨效果特效,可做网页背景,可以自定义雨滴数量,别设置太大,页面会卡死的滚动不了

<html>

<title>页面上下雨效果特效,可做网页背景</title>

<body>

<SCRIPT language=JAVASCRIPT>

SiteName = "javascript";

SiteTarget = "_top";

</SCRIPT>

<SCRIPT language=JavaScript>

var no = 50;

var speed = 1;

var ns4up = (document.layers) ? 1 : 0;

var ie4up = (document.all) ? 1 : 0;

var s, x, y, sn, cs;

var a, r, cx, cy;

var i, doc_width = 800, doc_height = 600;

if (ns4up) {

doc_width = self.innerWidth;

doc_height = self.innerHeight;

}

else

if (ie4up) {

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) {

if (i == 0) {

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

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

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

}

else {

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

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

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

}

}

else

if (ie4up) {

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=\"red\">");

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=\"red\">");

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() {

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 updateRain() {

r[i] += s;

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

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

}

function raindropNS() {

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

updateRain();

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() {

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

updateRain();

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

makeRain();

doc_width = document.body.clientWidth;

doc_height = document.body.clientHeight;

}

document.all["dot"+i].style.pixelTop = y[i];

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

}

setTimeout("raindropIE()", speed);

}

if (ns4up) {

raindropNS();

}

else

if (ie4up) {

raindropIE();

}

</SCRIPT>

</body>

</html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: