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 相关文章推荐
DHTML Slide Show script图片轮换
Mar 03 Javascript
javascript hasFocus使用实例
Jun 29 Javascript
JQuery 选择和过滤方法代码总结
Nov 19 Javascript
利用jquery包将字符串生成二维码图片
Sep 12 Javascript
JQuery为页面Dom元素绑定事件及解除绑定方法
Apr 23 Javascript
三种动态加载js的jquery实例代码另附去除js方法
Apr 30 Javascript
JS实现的5级联动Select下拉选择框实例
Aug 17 Javascript
JavaScript 定时器 SetTimeout之定时刷新窗口和关闭窗口(代码超简单)
Feb 26 Javascript
node.js平台下利用cookie实现记住密码登陆(Express+Ejs+Mysql)
Apr 26 Javascript
微信小程序 腾讯地图显示偏差问题解决
Jul 27 Javascript
js实现html滑动图片拼图验证
Jun 24 Javascript
JavaScript代码实现简单计算器
Dec 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实用函数分享之去除多余的0
2015/02/06 PHP
PHP Warning: Module 'modulename' already loaded in问题解决办法
2015/03/16 PHP
学习php设计模式 php实现策略模式(strategy)
2015/12/07 PHP
yii2中结合gridview如何使用modal弹窗实例代码详解
2016/06/12 PHP
PHP自定义函数实现格式化秒的方法
2016/09/14 PHP
PDO的安全处理与事物处理方法
2016/10/31 PHP
php版微信小店调用api示例代码
2016/11/12 PHP
PHP基于关联数组20行代码搞定约瑟夫问题示例
2017/11/07 PHP
改进:论坛UBB代码自动插入方式
2006/12/22 Javascript
在javaScript中关于submit和button的区别介绍
2013/10/20 Javascript
jquery遍历checkbox的注意事项说明
2014/02/21 Javascript
nodejs中使用monk访问mongodb
2014/07/06 NodeJs
JSONP跨域GET请求解决Ajax跨域访问问题
2014/12/31 Javascript
详解JavaScript中常用的函数类型
2015/11/18 Javascript
js控住DOM实现发布微博效果
2016/08/30 Javascript
微信小程序 progress组件详解及实例代码
2016/10/25 Javascript
React-Native实现ListView组件之上拉刷新实例(iOS和Android通用)
2017/07/11 Javascript
JS实现简单表格排序操作示例
2017/10/07 Javascript
axios 封装上传文件的请求方法
2018/09/26 Javascript
基于jQuery实现挂号平台首页源码
2020/01/06 jQuery
在Python中用split()方法分割字符串的使用介绍
2015/05/20 Python
python解决pandas处理缺失值为空字符串的问题
2018/04/08 Python
详解PyTorch批训练及优化器比较
2018/04/28 Python
PyTorch学习笔记之回归实战
2018/05/28 Python
Python 16进制与中文相互转换的实现方法
2018/07/09 Python
python自制包并用pip免提交到pypi仅安装到本机【推荐】
2019/06/03 Python
python基于opencv检测程序运行效率
2019/12/28 Python
django 取消csrf限制的实例
2020/03/13 Python
使用python实现下载我们想听的歌曲,速度超快
2020/07/09 Python
Stokke美国官方网店:高级儿童家具、推车、汽车座椅和配件
2020/06/06 全球购物
Java面试题汇总
2015/12/06 面试题
商场消防管理制度
2014/01/12 职场文书
运动会广播稿200米(5篇)
2014/10/15 职场文书
2015年度培训工作总结范文
2015/04/02 职场文书
Python中threading库实现线程锁与释放锁
2021/05/17 Python
Vue中使用import进行路由懒加载的原理分析
2022/04/01 Vue.js