欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JS實現(xiàn)超炫網頁煙花動畫效果的方法

 更新時間:2015年03月02日 10:47:16   作者:站長學院  
這篇文章主要介紹了JS實現(xiàn)超炫網頁煙花動畫效果的方法,實例分析了javascript實現(xiàn)煙花動畫效果的技巧,具有一定參考借鑒價值,需要的朋友可以參考下

本文實例講述了JS實現(xiàn)超炫網頁煙花動畫效果的方法。分享給大家供大家參考。具體分析如下:

非常炫的使用JS實現(xiàn)的一個網頁煙花燃放動畫效果,能適應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>
<title>超炫網頁煙花效果</title>
</head>
<style type="text/css">
.fire{display:block; overflow:hidden; font-size:12px; position:absolute};
body{overflow:hidden; background:#000}
html{overflow:hidden; background:#000}
</style>
<body>
</body>
<script type="text/javascript">
var Fire = function(r, color) {
this.radius = r || 12;
this.color = color;
this.xpos = 0;
this.ypos = 0;
this.zpos = 0;
this.vx = 0;
this.vy = 0;
this.vz = 0;
this.mass = 1;
this.x =0;
this.y=0;
this.p = document.createElement("span");
this.p.className = "fire";
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 = 150;
var fl = 250;
var vpx = 500;
var vpy = 300;
var gravity = .5;
var floor = 200;
var bounce = -.8;
var timer;
var wind = ((Math.floor(Math.random()*3) + 3)/10)*(Math.random()*2 - 1 > 0 ? 1 : -1)*.25;
var wpos = 0;
var wcount;
return {
init: function() {
wcount = 50 + Math.floor(Math.random() * 100);
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.vz = Math.random() * 6 - 3;
fire.vx = (Math.random()*2 - 1)*2 ;
fire.vy = Math.random()*-15 - 15;
fire.x = 500
fire.y = 600;
fire.append(document.body);
}
var that = this;
timer = setInterval(function() {
wpos++;
if (wpos >= wcount) {
wpos = 0;
wcount = 50 + Math.floor(Math.random() * 100);
wind = ((Math.floor(Math.random()*3) + 3)/10)*(Math.random()*2 - 1 > 0 ? 1 : -1)*.25;
}
for (var i=0;i<count; i++) {
that.move(fires[i]);
}
}, 30);
},
move: function(fire) {
fire.vy += gravity;
fire.x += fire.vx;
fire.y += fire.vy;
fire.vx += wind;
fire.setPosition(fire.x, fire.y);
if (fire.x < 0 || fire.x >1000 || fire.y  < 0 || fire.y  > 600) {
fire.vx = (Math.random()*2 - 1)*2;
fire.vy = Math.random()*-15 - 15;
fire.x = 500;
fire.y = 600;
fire.setPosition(fire.x, fire.y);
}
}
}
}
fireworks().init();
</script>
</html>

希望本文所述對大家的javascript程序設計有所幫助。

相關文章

  • JavaScript驗證電子郵箱的函數(shù)

    JavaScript驗證電子郵箱的函數(shù)

    本文主要是javascript使用正則來驗證電子郵箱的一個函數(shù)分享,很簡單,但也很使用,在很多地方都可以用的到。
    2014-08-08
  • JS.GetAllChild(element,deep,condition)使用介紹

    JS.GetAllChild(element,deep,condition)使用介紹

    JS.GetAllChild()獲取所有子節(jié)點,想必大家都知道吧,具體的使用方法如下,感興趣的朋友可以參考下
    2013-09-09
  • Webpack 服務器端代碼打包的示例代碼

    Webpack 服務器端代碼打包的示例代碼

    本篇文章主要介紹了Webpack 服務器端代碼打包的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • 使用微信SDK自定義分享的方法

    使用微信SDK自定義分享的方法

    這篇文章主要介紹了使用微信SDK自定義分享的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-07-07
  • 通過函數(shù)作用域和塊級作用域看javascript的作用域鏈

    通過函數(shù)作用域和塊級作用域看javascript的作用域鏈

    這篇文章給大家分享了通過函數(shù)作用域和塊級作用域看javascript的作用域鏈的相關知識點內容,有興趣的朋友參考學習下。
    2018-08-08
  • 淺談JS運算符&&和|| 及其優(yōu)先級

    淺談JS運算符&&和|| 及其優(yōu)先級

    下面小編就為大家?guī)硪黄獪\談JS運算符&&和|| 及其優(yōu)先級。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-08-08
  • 小白談談對JS原型鏈的理解

    小白談談對JS原型鏈的理解

    這篇文章主要介紹了小白談談對JS原型鏈的理解的相關資料,需要的朋友可以參考下
    2016-05-05
  • 微信小程序wx:for 的使用及wx:key綁定兩種方式

    微信小程序wx:for 的使用及wx:key綁定兩種方式

    wx:for是微信小程序中的一個列表渲染指令,用于循環(huán)渲染一個數(shù)組或對象中的數(shù)據,它類似于JavaScript中的for循環(huán),可以根據數(shù)據的長度自動渲染相應的列表項,本文給大家介紹微信小程序wx:for 的使用及wx:key綁定兩種方式,感興趣的朋友一起看看吧
    2023-12-12
  • 微信企業(yè)號開發(fā)之微信考勤Cookies的使用

    微信企業(yè)號開發(fā)之微信考勤Cookies的使用

    使用微信考勤,每次使用微信企業(yè)號開發(fā):微信用戶信息和web網頁的session的關系這個里邊的方法,調用微信的接口,有點慢,微信官方也推薦使用Cookies,但如何使用Cookies,自己卻一直沒有搞清楚。下面小編幫大家解決難題,需要的朋友可以參考下
    2015-09-09
  • layui表格 返回的數(shù)據狀態(tài)異常的解決方法

    layui表格 返回的數(shù)據狀態(tài)異常的解決方法

    今天小編就為大家分享一篇layui表格 返回的數(shù)據狀態(tài)異常的解決方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-09-09

最新評論