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 版
Mar 24 Javascript
jQuery Ajax 全解析
Feb 08 Javascript
JavaScript 闭包在封装函数时的简单分析
Nov 28 Javascript
JS组件Bootstrap Select2使用方法解析
May 30 Javascript
js实现弹窗居中的简单实例
Oct 09 Javascript
jQuery实现链接的title快速出现的方法
Feb 20 Javascript
EasyUI中的dataGrid的行内编辑
Jun 22 Javascript
AngularJS实现单一页面内设置跳转路由的方法
Jun 28 Javascript
vue2.0之多页面的开发的示例
Jan 30 Javascript
小程序实现列表点赞功能
Nov 02 Javascript
详解vue-router导航守卫
Jan 19 Javascript
在vue中把含有html标签转为html渲染页面的实例
Oct 28 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 session常见问题集锦及解决办法总结
2007/03/18 PHP
PHP 图片上传实现代码 带详细注释
2010/04/29 PHP
php中比较简单的导入phpmyadmin生成的sql文件的方法
2011/06/28 PHP
判断、添加和删除WordPress置顶文章的相关PHP函数小结
2015/12/10 PHP
php基于curl主动推送最新内容给百度收录的方法
2016/10/14 PHP
IE php关于强制下载文件的代码
2008/08/23 Javascript
javascript时区函数介绍
2012/09/14 Javascript
Jquery uploadify图片上传插件无法上传的解决方法
2013/12/16 Javascript
JS阻止用户多次提交示例代码
2014/03/26 Javascript
Internet Explorer 11 浏览器介绍:别叫我IE
2014/09/28 Javascript
jquery根据td给相同tr下其他td赋值的实现方法
2016/10/05 Javascript
基于javascript实现按圆形排列DIV元素(二)
2016/12/02 Javascript
详解Nodejs的timers模块
2016/12/22 NodeJs
xmlplus组件设计系列之选项卡(Tabbar)(5)
2017/05/03 Javascript
微信小程序 蓝牙的实现实例代码
2017/06/27 Javascript
vue 右键菜单插件 简单、可扩展、样式自定义的右键菜单
2018/11/29 Javascript
优雅的将ElementUI表格变身成树形表格的方法步骤
2019/04/11 Javascript
基于JS开发微信网页录音功能的实例代码
2019/04/30 Javascript
layuiAdmin循环遍历展示商品图片列表的方法
2019/09/16 Javascript
JavaScript实现Tab选项卡切换
2020/02/13 Javascript
下载安装setuptool和pip linux安装pip    
2014/01/24 Python
使用Python编写简单网络爬虫抓取视频下载资源
2014/11/04 Python
Python中Selenium模拟JQuery滑动解锁实例
2017/07/26 Python
python 实现的发送邮件模板【普通邮件、带附件、带图片邮件】
2019/07/06 Python
Python使用百度翻译开发平台实现英文翻译为中文功能示例
2019/08/08 Python
打包PyQt5应用时的注意事项
2020/02/14 Python
Python Selenium破解滑块验证码最新版(GEETEST95%以上通过率)
2021/01/29 Python
CSS3 flex布局之快速实现BorderLayout布局
2015/12/03 HTML / CSS
美国亚马逊旗下男装网站:East Dane(支持中文)
2019/09/25 全球购物
应届毕业生求职信
2013/11/30 职场文书
小学后勤管理制度
2014/01/14 职场文书
党支部活动策划方案
2014/08/18 职场文书
2014年党建工作总结
2014/11/11 职场文书
只需要100行Python代码就可以实现的贪吃蛇小游戏
2021/05/27 Python
比较几种Redis集群方案
2021/06/21 Redis
win11无法登录onedrive错误代码0x8004def7怎么办 ?
2022/04/05 数码科技