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 - 如何引入js代码
Mar 09 Javascript
让 JavaScript 轻松支持函数重载 (Part 2 - 实现)
Aug 04 Javascript
一个页面放2段图片滚动代码出现冲突的问题如何解决
Dec 21 Javascript
table insertRow、deleteRow定义和用法总结
May 14 Javascript
avalon js实现仿google plus图片多张拖动排序附源码下载
Sep 24 Javascript
JavaScript的Backbone.js框架入门学习指引
May 07 Javascript
微信小程序 setData的使用方法详解
Apr 20 Javascript
Vue.js组件通信的几种姿势
Oct 23 Javascript
JS实现电话号码的字母组合算法示例
Feb 26 Javascript
vue学习笔记五:在vue项目里面使用引入公共方法详解
Apr 04 Javascript
Vue.extend 编程式插入组件的实现
Nov 18 Javascript
微信小程序实现音乐播放器
Nov 20 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
怎么样可以把 phpinfo()屏蔽掉?
2006/11/24 PHP
How do I change MySQL timezone?
2008/03/26 PHP
PHP实现抓取迅雷VIP账号的方法
2015/07/30 PHP
WordPress中转义HTML与过滤链接的相关PHP函数使用解析
2015/12/22 PHP
php简单的上传类分享
2016/05/15 PHP
万能的php分页类
2017/07/06 PHP
针对thinkPHP5框架存储过程bug重写的存储过程扩展类完整实例
2018/06/16 PHP
javascript 变量作用域 代码分析
2009/06/26 Javascript
javascript使用eval或者new Function进行语法检查
2010/10/16 Javascript
教您去掉ie网页加载进度条的方法
2010/12/09 Javascript
Bootstrap布局方式详解
2016/05/27 Javascript
jQuery Chart图表制作组件Highcharts用法详解
2016/06/01 Javascript
Bootstrap3.0建站教程(一)之bootstrap表单元素排版
2016/06/01 Javascript
js实现动态显示时间效果
2017/03/06 Javascript
tab栏切换原理
2017/03/22 Javascript
vue增删改查的简单操作
2017/07/15 Javascript
vue-video-player 通过自定义按钮组件实现全屏切换效果【推荐】
2018/08/29 Javascript
微信小程序之判断页面滚动方向的示例代码
2018/08/30 Javascript
微信小程序module.exports模块化操作实例浅析
2018/12/20 Javascript
Python中AND、OR的一个使用小技巧
2015/02/18 Python
Python调用命令行进度条的方法
2015/05/05 Python
Python实现的括号匹配判断功能示例
2018/08/25 Python
python GUI库图形界面开发之PyQt5访问系统剪切板QClipboard类详细使用方法与实例
2020/02/27 Python
使用Django搭建网站实现商品分页功能
2020/05/22 Python
基于Python实现天天酷跑功能
2021/01/06 Python
Under Armour安德玛中国官网:美国高端运动科技品牌
2018/03/09 全球购物
New Era英国官网:美国棒球帽品牌
2018/03/21 全球购物
澳大利亚领先的武术用品和健身器材供应商:SMAI
2019/03/24 全球购物
Linux不知道文件后缀名怎么判断文件类型
2012/04/26 面试题
哈弗商学院毕业生求职信
2014/02/26 职场文书
学前教育专业求职信
2014/09/02 职场文书
庆元旦演讲稿
2014/09/15 职场文书
中学教师读书笔记
2015/07/01 职场文书
2016年综治和平安建设宣传月活动总结
2016/04/01 职场文书
进行数据处理的6个 Python 代码块分享
2022/04/06 Python
详细介绍Next.js脚手架完整搭建封装
2022/04/26 Javascript