Javascript实现多彩雪花从天降散落效果的方法


Posted in Javascript onFebruary 02, 2015

本文实例讲述了Javascript实现多彩雪花从天降散落效果的方法。分享给大家供大家参考。具体分析如下:

先来看看运行效果,如下图所示:

Javascript实现多彩雪花从天降散落效果的方法

完整源代码如下:

<!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>

<title>Javascript多彩雪花从天降</title>

<style type="text/css">

.3waterSnow{display:block; overflow:hidden; font-size:12px; position:absolute};

body{background:#000;margin:0px}

html{overflow:hidden; background:#000;}

a{color:White;text-decoration:none}

.3waterTitle{color:red;height:140px;width:800px;margin:0px auto;text-align:center}

</style>

</head>
<body>
<script type="text/javascript">

var yanhua = "yanhua.3water.com";

var Fire = function (r, color) {

this.radius = r || 12;

this.color = color || "FF6600";

this.xpos = 0;

this.ypos = 0;

this.zpos = 0;

this.vx = 0;

this.vy = 0;

this.vz = 0;

this.mass = 1;

this.p = document.createElement("span");

this.p.className = "jb"+"51Snow";

this.p.innerHTML = "*";

this.p.style.fontSize = this.radius + "px";

this.p.style.color = "#" + this.color;

}

Fire.prototype = {

append: function (parent) {

parent.appendChild(this.p);

},

setSize: function (scale) {

this.p.style.fontSize = this.radius * scale + "px";

},

setPosition: function (x, y) {

this.p.style.left = x + "px";

this.p.style.top = y + "px";

},

setVisible: function (b) {

this.p.style.display = b ? "block" : "none";

}

}

var fireworks = function () {

var fires = new Array();

var count = 100;

var fl = 250;

var vpx = 500;

var vpy = 300;

var gravity = .3;

var floor = 200;

var bounce = -.8;

var timer;

return {

init: function () {

for (var i = 0; i < count; i++) {

var color = 0xFF0000;

color = (Math.random() * 0xFFFFFF).toString(16).toString().split(".")[0];

while (color.length < 6) {

color = "0" + color;

}

var fire = new Fire(12, color);

fires.push(fire);

fire.ypos = -100;

fire.vx = Math.random() * 6 - 3;

fire.vy = Math.random() * 6 - 3;

fire.vz = Math.random() * 6 - 3;

fire.append(document.body);

}

var that = this;

timer = setInterval(function () {

for (var i = 0; i < count; i++) {

that.move(fires[i]);

}

}, 30);

},

move: function (fire) {

fire.vy += gravity;

fire.xpos += fire.vx;

fire.ypos += fire.vy;

fire.zpos += fire.vz;

if (fire.ypos > floor) {

fire.ypos = floor;

fire.vy *= bounce;

}

if (fire.zpos > -fl) {

var scale = fl / (fl + fire.zpos);

fire.setSize(scale);

fire.setPosition(vpx + fire.xpos * scale,

vpy + fire.ypos * scale);

fire.setVisible(true);

} else {

fire.setVisible(false);

}

}

}

}

if (yanhua === 'yanhua.jb' + '51.' + 'net')

fireworks().init();
function 3waterSnow() {

window.location.reload();

} if (yanhua === 'yanhua.jb' + '51.' + 'net')

setInterval(3waterSnow, 6000);

</script>
</body>

</html>

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

Javascript 相关文章推荐
JavaScript Prototype对象
Jan 07 Javascript
extjs grid设置某列背景颜色和字体颜色的方法
Sep 03 Javascript
浅谈Javascript嵌套函数及闭包
Nov 09 Javascript
jQuery $命名冲突解决方案汇总
Nov 13 Javascript
JavaScript中number转换成string介绍
Dec 31 Javascript
javacript使用break内层跳出外层循环分析
Jan 12 Javascript
Bootstrap基本组件学习笔记之下拉菜单(7)
Dec 07 Javascript
关于vue中watch检测到不到对象属性的变化的解决方法
Feb 08 Javascript
JS中使用new Option()实现时间联动效果
Dec 10 Javascript
Bootstrap table 实现树形表格联动选中联动取消功能
Sep 30 Javascript
Vue实现腾讯云点播视频上传功能的实现代码
Aug 17 Javascript
node.js使用express-fileupload中间件实现文件上传
Jul 16 Javascript
jQuery及JS实现循环中暂停的方法
Feb 02 #Javascript
JQuery动画与特效实例分析
Feb 02 #Javascript
Javascript核心读书有感之词法结构
Feb 01 #Javascript
Javascript核心读书有感之语言核心
Feb 01 #Javascript
jQuery功能函数详解
Feb 01 #Javascript
jQuery动画与特效详解
Feb 01 #Javascript
jquery制作 随机弹跳的小球特效
Feb 01 #Javascript
You might like
漫威DC即将合作联动,而双方早已经秘密开始
2020/04/09 欧美动漫
php实例分享之html转为rtf格式
2014/06/02 PHP
ecshop实现smtp发送邮件
2015/02/03 PHP
Laravel向公共模板赋值方法总结
2019/06/25 PHP
JQuery 文本框回车跳到下一个文本框示例代码
2013/08/30 Javascript
window.onload与$(document).ready()的区别分析
2015/05/30 Javascript
JS实现淘宝支付宝网站的控制台菜单效果
2015/09/28 Javascript
快速掌握WordPress中加载JavaScript脚本的方法
2015/12/17 Javascript
浅析JavaScript声明变量
2015/12/21 Javascript
jquery.validate提示错误信息位置方法
2016/01/22 Javascript
js中获取jsp表单中radio类型的值简单实例
2016/08/15 Javascript
js中获取键盘事件的简单实现方法
2016/10/10 Javascript
十大热门的JavaScript框架和库
2017/03/21 Javascript
原生JavaScript实现Ajax异步请求
2017/11/19 Javascript
js实现图片上传即时显示效果
2019/09/30 Javascript
JS实现的雪花飘落特效示例
2019/12/03 Javascript
webpack5 联邦模块介绍详解
2020/07/08 Javascript
Vue Router中应用中间件的方法
2020/08/06 Javascript
基于NodeJS开发钉钉回调接口实现AES-CBC加解密
2020/08/20 NodeJs
深入理解Python中字典的键的使用
2015/08/19 Python
Python科学计算之NumPy入门教程
2017/01/15 Python
python中从str中提取元素到list以及将list转换为str的方法
2018/06/26 Python
python实现学员管理系统
2019/02/26 Python
解决Django中多条件查询的问题
2019/07/18 Python
pytorch 实现查看网络中的参数
2020/01/06 Python
python3.8动态人脸识别的实现示例
2020/09/21 Python
Opencv常见图像格式Data Type及代码实例
2020/11/02 Python
HTML5地理定位_动力节点Java学院整理
2017/07/12 HTML / CSS
物理教师自荐信范文
2013/12/28 职场文书
煤矿班组长岗位职责
2013/12/29 职场文书
销售员个人求职的自我评价
2014/02/10 职场文书
2014年社区植树节活动方案
2014/02/28 职场文书
井冈山红色之旅心得体会
2014/10/07 职场文书
追悼会答谢词
2015/01/05 职场文书
保研推荐信格式
2015/03/25 职场文书
医院感染管理制度
2015/08/05 职场文书