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 相关文章推荐
验证手机号码的JS方法分享
Sep 10 Javascript
jquery slibings选取同级其他元素的实现代码
Nov 15 Javascript
jquery获取css中的选择器(实例讲解)
Dec 02 Javascript
jQuery实现可用于博客的动态滑动菜单
Mar 09 Javascript
关于js函数解释(包括内嵌,对象等)
Nov 20 Javascript
Vue开发过程中遇到的疑惑知识点总结
Jan 20 Javascript
ios设备中angularjs无法改变页面title的解决方法
Sep 13 Javascript
vue.js高德地图实现热点图代码实例
Apr 18 Javascript
ionic3双击返回退出应用的方法
Sep 17 Javascript
JavaScript 监听组合按键思路及代码实现
Jul 28 Javascript
小程序实现可拖动的悬浮按钮
Sep 07 Javascript
如何用JavaScipt测网速
May 09 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
php删除页面记录 同时刷新页面 删除条件用GET方式获得
2012/01/10 PHP
PHP解决URL中文GBK乱码问题的两种方法
2014/06/03 PHP
PHP实现定时执行任务的方法
2014/10/05 PHP
php网站被挂木马后的修复方法总结
2014/11/06 PHP
PHP检测字符串是否为UTF8编码的常用方法
2014/11/21 PHP
thinkphp3.2.2实现生成多张缩略图的方法
2014/12/19 PHP
php将textarea数据提交到mysql出现很多空格的解决方法
2014/12/19 PHP
php简单计算页面加载时间的方法
2015/06/19 PHP
Yii框架的路由配置方法分析
2019/09/09 PHP
jquery.validate分组验证代码
2011/03/17 Javascript
jQuery实现拖拽效果插件的方法
2015/03/23 Javascript
jQuery实现自动切换播放的经典滑动门效果
2015/09/12 Javascript
angularjs指令之绑定策略(@、=、&amp;)
2017/04/13 Javascript
Vue2 监听属性改变watch的实例代码
2018/08/27 Javascript
详解使用React制作一个模态框
2019/03/14 Javascript
js+canvas实现画板功能
2020/09/13 Javascript
[05:02][DOTA2]DOTA进化论 第一期
2013/09/27 DOTA
python实现的登陆Discuz!论坛通用代码分享
2014/07/11 Python
Python调用C++程序的方法详解
2017/01/24 Python
如何用Python实现简单的Markdown转换器
2018/07/16 Python
对PyQt5中树结构的实现方法详解
2019/06/17 Python
pygame实现成语填空游戏
2019/10/29 Python
pytorch中nn.Conv1d的用法详解
2019/12/31 Python
Django的CVB实例详解
2020/02/10 Python
Python关于__name__属性的含义和作用详解
2020/02/19 Python
html5+css3气泡组件的实现
2014/11/21 HTML / CSS
html5拖曳操作 HTML5实现网页元素的拖放操作
2013/01/02 HTML / CSS
使用索引有什么好处
2016/07/27 面试题
参观考察邀请函范文
2014/01/29 职场文书
公司离职证明范本(5篇)
2014/09/17 职场文书
预备党员转正思想汇报
2014/09/26 职场文书
搞笑老公保证书
2015/02/26 职场文书
少年犯观后感
2015/06/11 职场文书
教你如何使用Python Tkinter库制作记事本
2021/06/10 Python
启动Tomcat时出现大量乱码的解决方法
2021/06/21 Java/Android
Mysql数据库表中为什么有索引却没有提高查询速度
2022/02/24 MySQL