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 动态加载 css 方法总结
Jul 11 Javascript
extJs 常用到的增,删,改,查操作代码
Dec 28 Javascript
js 小贴士一星期合集
Apr 07 Javascript
仅IE支持clearAttributes/mergeAttributes方法使用介绍
May 04 Javascript
JQuery与Ajax调用新浪API获取短网址的代码
Feb 07 Javascript
使用iojs的jsdom库实现同步系统时间
Apr 20 Javascript
javascript实现鼠标放上后下边对应内容变换的效果
Aug 06 Javascript
浅析C/C++,Java,PHP,JavaScript,Json数组、对象赋值时最后一个元素后面是否可以带逗号
Mar 22 Javascript
jQuery Mobile和HTML5开发App推广注册页
Nov 07 Javascript
浅谈Vue下使用百度地图的简易方法
Mar 23 Javascript
vue组件间通信六种方式(总结篇)
May 15 Javascript
优化Vue项目编译文件大小的方法步骤
May 27 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的FTP学习(一)[转自奥索]
2006/10/09 PHP
php date()日期时间函数详解
2010/05/16 PHP
ajax取消挂起请求的处理方法
2013/03/18 PHP
PHP自动重命名文件实现方法
2014/11/04 PHP
php实现无限级分类(递归方法)
2015/08/06 PHP
win7系统配置php+Apache+mysql环境的方法
2015/08/21 PHP
PHP token验证生成原理实例分析
2019/06/05 PHP
tp5.1 框架数据库高级查询技巧实例总结
2020/05/25 PHP
关于JavaScript的gzip静态压缩方法
2007/01/05 Javascript
javascript一些实用技巧小结
2011/03/18 Javascript
js 获取时间间隔实现代码
2014/05/12 Javascript
js支持键盘控制的左右切换立体式图片轮播效果代码分享
2015/08/26 Javascript
jQuery+CSS3实现3D立方体旋转效果
2015/11/10 Javascript
jQuery简单实现提交数据出现loading进度条的方法
2016/03/29 Javascript
浅析jquery如何判断滚动条滚到页面底部并执行事件
2016/04/29 Javascript
很实用的js选项卡切换效果
2016/08/12 Javascript
AngulerJS学习之按需动态加载文件
2017/02/13 Javascript
详解用vue.js和laravel实现微信授权登陆
2017/06/23 Javascript
vue  自定义组件实现通讯录功能
2018/09/30 Javascript
对angularJs中ng-style动态改变样式的实例讲解
2018/09/30 Javascript
JS实现打砖块游戏
2020/02/14 Javascript
手把手带你入门微信小程序新框架Kbone的使用
2020/02/25 Javascript
使用Node.js实现base64和png文件相互转换的方法
2020/03/11 Javascript
python批量导出导入MySQL用户的方法
2013/11/15 Python
Python读写Excel文件方法介绍
2014/11/22 Python
Python中关于使用模块的基础知识
2015/05/24 Python
浅析Python中yield关键词的作用与用法
2016/11/29 Python
PyQt编程之如何在屏幕中央显示窗体的实例
2019/06/18 Python
python实现拉普拉斯特征图降维示例
2019/11/25 Python
解决Django no such table: django_session的问题
2020/04/07 Python
纯HTML+CSS3制作导航菜单(附源码)
2013/04/24 HTML / CSS
西班牙在线光学:Visual-Click
2020/06/22 全球购物
2014婚礼司仪主持词
2014/03/14 职场文书
教师党员公开承诺书
2014/03/25 职场文书
九年级语文教学反思
2016/03/03 职场文书
PostgreSQL存储过程实用脚本(二):创建函数入门
2021/04/05 PostgreSQL