JS实现模拟风力的雪花飘落效果


Posted in Javascript onMay 13, 2015

本文实例讲述了JS实现模拟风力的雪花飘落效果。分享给大家供大家参考。具体实现方法如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>雪花飘啊飘</title>
</head>
<style>
* {margin:0; padding:0; vertical-align:top;}
.xue{position:absolute;color:#fff;}
</style>
<body>
<div id="bbb" 
style="position:absolute;top:0px;right:0px;width:400px;border:1px #000 solid;background:#fff;z-index:9;height:30px;">
</div>
<div id="box" 
style="height:600px;position:relative;border:1px red solid;background:#000;overflow:hidden;">
</div>
<div 
style="position:absolute;top:0px;right:400px;border:1px #000 solid;background:#fff;width:400px;height:30px;z-index:5;">
<input id="wind_id" value="10" />级风
<input id="wind_button" type=button value="雪花飘啊飘飘啊飘" />
</div>
<script>
var box = document.getElementById("box");
var i= 0,c,d,wind_time;
var all = 0,other = 0,wind=0;
box.style.width = '1000px';
document.getElementById("wind_button").onclick = function(){
clearTimeout(wind_time);wind = 0;
wind = parseInt(document.getElementById("wind_id").value);
wind_run(wind);
}
function gogo(){
var a = document.createElement("div");
a.innerHTML = '.';
a.id = "xue" + i;
a.className = "xue";
a.style.top = parseInt(box.style.height) * (Math.random() > 0.3 ? Math.random() : 0) + 'px';
if(wind != 0){var ss = Math.random() > Math.abs(wind*0.025) ? Math.random() : (wind > 0 ? 0 : 1) ;}else{var ss = Math.random()}
a.style.left = parseInt(box.style.width) * ss + 'px';
box.appendChild(a);
godown(a.id,a.id,8*Math.random());
i++;
all++;
var x = 100 * Math.random()* Math.random();
setTimeout('gogo()',x);
};
function removeElement(_element){//移除标签的函数
var _parentElement = _element.parentNode;
if(_parentElement){
_parentElement.removeChild(_element);
};
};
function godown(a,e,speed){
if(speed < 3){speed = 3}
var a1 =document.getElementById(a);
a1.style.top = parseInt(a1.style.top) + speed +'px';
if(parseInt(a1.style.top) < parseInt(box.style.height)){e = setTimeout("godown(\""+a+"\",\""+e+"\","+speed+")",20)}
else{
clearTimeout(e);
removeElement(a1);
speed=null;
other++;
document.getElementById('bbb').innerHTML = "区域内还有"+(all-other)+"个雪花点."
};
};
function wind_run(wind){
var a = document.getElementById("box").getElementsByTagName('div');
for(var i = 0;i<a.length;i++){
a[i].style.left = parseInt(a[i].style.left) + wind +'px';
};
if(Math.abs(wind) > 0.1){wind_time = setTimeout("wind_run("+wind+")",20)}
else{clearTimeout(wind_time);wind = 0;};
};
gogo();
</script>
</body>
</html>

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

Javascript 相关文章推荐
浅谈Javascript事件处理程序的几种方式
Jun 27 Javascript
JavaScript等比例缩放图片控制超出范围的图片
Aug 06 Javascript
实现只能输入数字的input不用replace方法
Sep 12 Javascript
基于jquery实现的省市区级联无ajax
Sep 24 Javascript
jquery中表单 多选框的一种巧妙写法
Sep 06 Javascript
Java Mybatis框架入门基础教程
Sep 21 Javascript
jquery调整表格行tr上下顺序实例讲解
Jan 09 Javascript
jquery+css实现下拉列表功能
Sep 03 jQuery
vue对storejs获取的数据进行处理时遇到的几种问题小结
Mar 20 Javascript
又拍云 Node.js 实现文件上传、删除功能
Oct 28 Javascript
自定义Vue中的v-module双向绑定的实现
Apr 17 Javascript
详解微信小程序调用支付接口支付
Apr 28 Javascript
JavaScript实现鼠标点击后层展开效果的方法
May 13 #Javascript
浅谈javascript中的闭包
May 13 #Javascript
jQuery构造函数init参数分析续
May 13 #Javascript
jQuery构造函数init参数分析
May 13 #Javascript
CSS+JS实现点击文字弹出定时自动关闭DIV层菜单的方法
May 12 #Javascript
JavaScript实现DIV层拖动及动态增加新层的方法
May 12 #Javascript
js实现带按钮的上下滚动效果
May 12 #Javascript
You might like
php的大小写敏感问题整理
2011/12/29 PHP
php类中private属性继承问题分析
2012/11/01 PHP
php多个字符串替换成同一个的解决方法
2013/06/18 PHP
PHP中文编码小技巧
2014/12/25 PHP
Codeigniter的一些优秀特性总结
2015/01/21 PHP
PHP array_key_exists检查键名或索引是否存在于数组中的实现方法
2016/06/13 PHP
修改js Calendar日历控件 兼容IE9/谷歌/火狐
2013/01/04 Javascript
Jquery 全选反选实例代码
2015/11/19 Javascript
AngularJS 使用$sce控制代码安全检查
2016/01/05 Javascript
总结javascript中的六种迭代器
2016/08/16 Javascript
微信小程序 开发工具快捷键整理
2016/10/31 Javascript
微信小程序商城项目之侧栏分类效果(1)
2017/04/17 Javascript
template.js前端模板引擎使用详解
2017/10/10 Javascript
JavaScript 隐性类型转换步骤浅析
2018/03/15 Javascript
JS如何在数组指定位置插入元素
2020/03/10 Javascript
OpenLayers3加载常用控件使用方法详解
2020/09/25 Javascript
小程序实现上下切换位置
2020/11/16 Javascript
JS常用跨域方法实现原理解析
2020/12/09 Javascript
Python生成随机密码
2015/03/10 Python
Python使用django获取用户IP地址的方法
2015/05/11 Python
KMP算法精解及其Python版的代码示例
2016/06/01 Python
python中正则的使用指南
2016/12/04 Python
Python2/3中urllib库的一些常见用法
2017/12/19 Python
python3+PyQt5实现自定义分数滑块部件
2018/04/24 Python
Python实现base64编码的图片保存到本地功能示例
2018/06/22 Python
Python中的单行、多行、中文注释方法
2018/07/19 Python
Python 实现集合Set的示例
2020/12/21 Python
Matplotlib配色之Colormap详解
2021/01/05 Python
汽车专业大学生职业生涯规划范文
2014/01/07 职场文书
计算机专业优秀大学生自我总结
2014/01/21 职场文书
大型会议接待方案
2014/03/01 职场文书
《海底世界》教学反思
2014/04/16 职场文书
节能减耗标语
2014/06/21 职场文书
寻找最美家庭活动方案
2014/08/20 职场文书
工程技术员岗位职责
2015/04/11 职场文书
Python实现数据的序列化操作详解
2022/07/07 Python