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 控制 html元素 显示/隐藏实现代码
Sep 01 Javascript
function foo的原型与prototype属性解惑
Nov 19 Javascript
jquery ajax,ashx,json的用法总结
Feb 12 Javascript
javascript+HTML5自定义元素播放焦点图动画
Feb 21 Javascript
使用jQuery实现Web页面换肤功能的要点解析
May 12 Javascript
JS+CSS3实现超炫的散列画廊特效
Jul 16 Javascript
JS中数组重排序方法
Nov 11 Javascript
详解微信小程序 template添加绑定事件
Jun 23 Javascript
Vue的watch和computed方法的使用及区别介绍
Sep 06 Javascript
elementUI select组件使用及注意事项详解
May 29 Javascript
微信小程序如何获取用户头像和昵称
Sep 23 Javascript
JavaScript实现矩形块大小任意缩放
Aug 25 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
完美解决dedecms中的[html][/html]和[code][/code]问题
2007/03/20 PHP
PHP isset()与empty()的使用区别详解
2010/08/29 PHP
phpize的深入理解
2013/06/03 PHP
PHP 常用的header头部定义汇总
2015/06/19 PHP
PHP实现仿百度文库,豆丁在线文档效果(word,excel,ppt转flash)
2016/03/10 PHP
PHP实现数据库统计时间戳按天分组输出数据的方法
2017/10/10 PHP
浅析PHP类的反射来实现依赖注入过程
2018/02/06 PHP
经典的带阴影的可拖动的浮动层
2006/06/26 Javascript
javascript之querySelector和querySelectorAll使用介绍
2011/12/20 Javascript
event.currentTarget与event.target的区别介绍
2012/12/31 Javascript
jquery和css3实现的炫酷时尚的菜单导航
2014/09/01 Javascript
jQuery实现鼠标悬停显示提示信息窗口的方法
2015/04/30 Javascript
jQuery扩展实现text提示还能输入多少字节的方法
2016/11/28 Javascript
关于vue.js v-bind 的一些理解和思考
2017/06/06 Javascript
mui 打开新窗口的方式总结及注意事项
2017/08/20 Javascript
NodeJS实现不可逆加密与密码密文保存的方法
2018/03/16 NodeJs
解决jquery的ajax调取后端数据成功却渲染失败的问题
2018/08/08 jQuery
JS判断两个数组或对象是否相同的方法示例
2019/02/28 Javascript
产制造追溯系统之通过微信小程序实现移动端报表平台
2019/06/03 Javascript
基于Node.js搭建hexo博客过程详解
2019/06/25 Javascript
微信小程序学习总结(四)事件与冒泡实例分析
2020/06/04 Javascript
解决ant-design-vue中menu菜单无法默认展开的问题
2020/10/31 Javascript
python局部赋值的规则
2013/03/07 Python
Python 判断是否为质数或素数的实例
2017/10/30 Python
Python中xml和dict格式转换的示例代码
2019/11/07 Python
Python OpenCV读取显示视频的方法示例
2020/02/20 Python
基于python纯函数实现井字棋游戏
2020/05/27 Python
Python基于wordcloud及jieba实现中国地图词云图
2020/06/09 Python
Python内置函数及功能简介汇总
2020/10/13 Python
详解Python GUI编程之PyQt5入门到实战
2020/12/10 Python
Html5新标签解释及用法
2012/02/17 HTML / CSS
快速创建 HTML5 Canvas 电信网络拓扑图的示例代码
2018/03/21 HTML / CSS
陈安之励志演讲稿
2014/08/21 职场文书
房地产经营管理专业自荐信
2014/09/02 职场文书
青年干部培训班学习心得体会
2016/01/06 职场文书
财产分割协议书
2016/03/22 职场文书