JavaScript生成的动态下雨背景效果实现方法


Posted in Javascript onFebruary 25, 2015

本文实例讲述了JavaScript生成的动态下雨背景效果实现方法。分享给大家供大家参考。具体实现方法如下:

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

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
javascript 禁止复制网页
Jun 11 Javascript
JS 树形递归实例代码
May 18 Javascript
一行代码告别document.getElementById
Jun 01 Javascript
javascript与jquery中跳出循环的区别总结
Nov 04 Javascript
html的DOM中document对象forms集合用法实例
Jan 21 Javascript
使用Chart.js图表库制作漂亮的响应式表单
Oct 28 Javascript
jQuery中get方法用法分析
Dec 07 Javascript
JS常见疑难点分析之match,charAt,charCodeAt,map,search用法分析
Dec 25 Javascript
mac上node.js环境的安装测试
Jul 03 Javascript
详解为生产环境编译Angular2应用的方法
Dec 10 Javascript
node.js基于dgram数据报模块创建UDP服务器和客户端操作示例
Feb 12 Javascript
Electron整合React使用搭建开发环境的步骤详解
Jun 07 Javascript
JS实现进入页面时渐变背景色的方法
Feb 25 #Javascript
JS实现让网页背景图片斜向移动的方法
Feb 25 #Javascript
Javascript中获取对象的原型对象的方法小结
Feb 25 #Javascript
JavaScript中判断变量是数组、函数或是对象类型的方法
Feb 25 #Javascript
Js可拖拽放大的层拖动特效实现方法
Feb 25 #Javascript
JS实现自适应高度表单文本框的方法
Feb 25 #Javascript
如何编写高质量JS代码(续)
Feb 25 #Javascript
You might like
PHP提取中文首字母
2008/04/09 PHP
php foreach 使用&amp;(与运算符)引用赋值要注意的问题
2010/02/16 PHP
PHP 一个随机字符串生成代码
2010/05/26 PHP
php的$_FILES的临时储存文件与回收机制实测过程
2013/07/12 PHP
PHP 使用memcached简单示例分享
2015/03/05 PHP
广告切换效果(缓动切换)
2009/05/27 Javascript
JS URL传中文参数引发的乱码问题
2009/09/02 Javascript
js substr支持中文截取函数代码(中文是双字节)
2013/04/17 Javascript
JS命名空间的另一种实现
2013/08/09 Javascript
JavaScript数组和循环详解
2015/04/27 Javascript
php利用curl获取远程图片实现方法
2015/10/26 Javascript
基于jquery实现全屏滚动效果
2015/11/26 Javascript
基于JavaScript将表单序列化类型的数据转化成对象的处理(允许对象中包含对象)
2015/12/28 Javascript
让你一句话理解闭包(简单易懂)
2016/06/03 Javascript
javaScript如何跳出多重循环break、continue
2016/09/01 Javascript
JS对大量数据进行多重过滤的方法
2016/11/04 Javascript
js实现兼容PC端和移动端滑块拖动选择数字效果
2017/02/16 Javascript
浅析JavaScript中var that=this
2017/02/17 Javascript
浅谈Vue父子组件和非父子组件传值问题
2017/08/22 Javascript
详解.vue文件中style标签的几个标识符
2018/07/17 Javascript
vue-cli2 构建速度优化的实现方法
2019/01/08 Javascript
使用nodeJS中的fs模块对文件及目录进行读写,删除,追加,等操作详解
2020/02/06 NodeJs
vue.js this.$router.push获取不到params参数问题
2020/03/03 Javascript
Python 解析XML文件
2009/04/15 Python
python中lambda函数 list comprehension 和 zip函数使用指南
2014/09/28 Python
Python中Continue语句的用法的举例详解
2015/05/14 Python
Tornado协程在python2.7如何返回值(实现方法)
2017/06/22 Python
使用Python制作自动推送微信消息提醒的备忘录功能
2018/09/06 Python
Linux 修改Python命令的方法示例
2018/12/03 Python
selenium 安装与chromedriver安装的方法步骤
2019/06/12 Python
解决Python Matplotlib绘图数据点位置错乱问题
2020/05/16 Python
Python jieba结巴分词原理及用法解析
2020/11/05 Python
linux面试题参考答案(5)
2014/09/01 面试题
工作检讨书500字
2014/10/19 职场文书
人民检察院起诉书
2015/05/20 职场文书
html5调用摄像头截图功能
2022/01/18 Javascript