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 获取元素位置的快速方法 getBoundingClientRect()
Nov 26 Javascript
javascript 异步页面查询实现代码(asp.net)
May 26 Javascript
jQuery Mobile页面跳转后未加载外部JS原因分析及解决
Mar 18 Javascript
coffeescript使用的方式汇总
Aug 05 Javascript
全面解析Bootstrap表单使用方法(表单按钮)
Nov 24 Javascript
基于Vuejs框架实现翻页组件
Jun 29 Javascript
three.js实现围绕某物体旋转
Jan 25 Javascript
jQuery动态生成不规则表格(前后端)
Feb 21 Javascript
详解vue组件基础
May 04 Javascript
微信小程序基于picker实现级联菜单
Feb 15 Javascript
Vue2.0实现组件之间数据交互和通信操作示例
May 16 Javascript
VUE:vuex 用户登录信息的数据写入与获取方式
Nov 11 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新手上路(十三)
2006/10/09 PHP
PHP 的 __FILE__ 常量
2007/01/15 PHP
百度站点地图(百度sitemap)生成方法分享
2014/01/09 PHP
php微信支付之APP支付方法
2015/03/04 PHP
PHP随机生成唯一HASH值自定义函数
2015/04/20 PHP
使用PHP实现下载CSS文件中的图片
2015/12/06 PHP
PHP实现webshell扫描文件木马的方法
2017/07/31 PHP
PHP实现的装箱算法示例
2018/06/23 PHP
ThinkPHP6.0如何利用自定义验证规则规范的实现登陆
2020/12/16 PHP
js jquery做的图片连续滚动代码
2008/01/06 Javascript
extjs 学习笔记(三) 最基本的grid
2009/10/15 Javascript
jQueryUI的Dialog的简单封装
2010/06/07 Javascript
围观tangram js库
2010/12/28 Javascript
Package.js  现代化的JavaScript项目make工具
2012/05/23 Javascript
Javascript在IE和FireFox中的不同表现简析
2012/12/03 Javascript
js实现select跳转菜单新窗口效果代码分享(超简单)
2015/08/21 Javascript
深入理解javascript作用域第二篇之词法作用域和动态作用域
2016/07/24 Javascript
使用JS中的exec()方法构造正则表达式验证
2016/08/01 Javascript
AngularJS实现数据列表的增加、删除和上移下移等功能实例
2016/09/05 Javascript
Reactjs实现通用分页组件的实例代码
2017/01/19 Javascript
jquery实现企业定位式导航效果
2018/01/01 jQuery
vue组件中的样式属性scoped实例详解
2018/10/30 Javascript
vue实现表格合并功能
2020/12/01 Vue.js
浅谈Python 字符串格式化输出(format/printf)
2016/07/21 Python
Python 中的参数传递、返回值、浅拷贝、深拷贝
2019/06/25 Python
使用python制作游戏下载进度条的代码(程序说明见注释)
2019/10/24 Python
tensorflow 实现自定义layer并添加到计算图中
2020/02/04 Python
Python远程方法调用实现过程解析
2020/07/28 Python
python上下文管理器异常问题解决方法
2021/02/07 Python
程序员跳槽必看面试题总结
2013/06/28 面试题
自荐书封面下载
2013/11/29 职场文书
行政文秘岗位职责范本
2014/02/10 职场文书
年度献血先进个人事迹材料
2014/02/14 职场文书
师德模范事迹材料
2014/06/03 职场文书
标准毕业生自荐信
2014/06/24 职场文书
爱的教育读书笔记
2015/06/26 职场文书