javascript实现网页背景烟花效果的方法

 更新时间:2015年08月06日 16:35:12   作者:皮蛋  
这篇文章主要介绍了javascript实现网页背景烟花效果的方法,涉及javascript数学运算及页面元素动态操作的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下

本文实例讲述了javascript实现网页背景烟花效果的方法。分享给大家供大家参考。具体如下:

这里的网页背景烟花爆炸特效,不用说是用Js实现的,配合黑色背景效果最好,五颜六色的烟花效果,四散的烟花效果,以前发过一些网页上的烟花特效,本款类似,但代码更简洁。

运行效果如下图所示:

具体代码如下:

<html>
<head>
<title>背景的烟花效果</title>
<style type="text/css">
<!--
body {
background-color: #000000;
}
-->
</style></head>
<body>
<script language="JavaScript">
var col = new Array('#ffffff','#fff000','#ffa000','#ff00ff','#00ff00','#0000ff','#ff0000');
var p='<div id="rearDiv" style="position:absolute;top:0px;left:0px">';
var n=0;
for (i=0;i<14;++i){
 n++;
 if (n=(col.length-1)) n=0;
 p=p+'<div style="position:relative;width:1px;height:1px;background:'+col[n]+';font-size:3px">.</div>';
}
p=p+"</div>";
document.write(p);
var Clrs = new Array('ff0000','00ff00','000aff','ff00ff','ffa500','ffff00','00ff00','ffffff','fffff0');
var sClrs = new Array('ffa500','55ff66','AC9DFC','fff000','fffff0');
var peepY;
var peepX;
var step = 5;
var tallyStep = 0;
var backColor = 'ffa000';
var Mtop = 250;
var Mleft = 250;
function dissilient() {
 peepY = window.document.body.clientHeight/3;
 peepX = window.document.body.clientWidth/8;
 enlarge();
 tallyStep+= step;
 reduce();
 T=setTimeout("dissilient()",20);
}
function enlarge(){
 for ( i = 0 ; i < rearDiv.all.length ; i++ ) {
  var c=Math.round(Math.random()*(Clrs.length-1));
  if (tallyStep < 90)
   rearDiv.all[i].style.background=backColor;
  if (tallyStep > 90)
   rearDiv.all[i].style.background=Clrs[c];
  rearDiv.all[i].style.top = Mtop + peepY*Math.sin((tallyStep+i*5)/3)*Math.sin(550+tallyStep/100);
  rearDiv.all[i].style.left = Mleft + peepY*Math.cos((tallyStep+i*5)/3)*Math.sin(550+tallyStep/100);
 }
}
function reduce(){
 if (tallyStep == 220) {
  tallyStep = -10;
  var k=Math.round(Math.random()*(sClrs.length-1));
  backColor = sClrs[k];
  Dtop = window.document.body.clientHeight - 250;
  Dleft = peepX * 3.5;
  Mtop = Math.round(Math.random()*Dtop);
  Mleft = Math.round(Math.random()*Dleft);
  document.all.rearDiv.style.top = Mtop+document.body.scrollTop;
  document.all.rearDiv.style.left = Mleft+document.body.scrollLeft;
  if ((Mtop < 20) || (Mleft < 20)) {
  Mtop += 90;
  Mleft += 90;
 }
 }
}
dissilient();
</script>
</body>
</html>

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

相关文章

  • JS forEach跳出循环2种实现方法

    JS forEach跳出循环2种实现方法

    这篇文章主要介绍了JS forEach跳出循环2种实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-06-06
  • js正则表达式的使用详解

    js正则表达式的使用详解

    本篇文章是对js中正则表达式的使用进行了详细的分析介绍,需要的朋友可以参考下
    2013-07-07
  • JS实现利用闭包判断Dom元素和滚动条的方向示例

    JS实现利用闭包判断Dom元素和滚动条的方向示例

    这篇文章主要介绍了JS实现利用闭包判断Dom元素和滚动条的方向,涉及javascript闭包、事件响应及页面元素属性动态操作相关使用技巧,需要的朋友可以参考下
    2019-08-08
  • 初学js 新节点的创建 删除 的步骤

    初学js 新节点的创建 删除 的步骤

    对于js 我是个初学者 甚至还不入门,我比较喜欢js做出的特效。
    2011-07-07
  • 微信小程序基础教程之worker线程的使用方法

    微信小程序基础教程之worker线程的使用方法

    这篇文章主要给大家介绍了关于微信小程序基础教程之worker线程的使用方法,文中通过示例代码介绍的非常详细,对大家学习或者使用微信小程序具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-07-07
  • Javascript的比较汇总

    Javascript的比较汇总

    本文汇总了Javascript中两个对象的比较、不同类型的比较以及对象跟原始值的比较,并进行了实例演示,希望能帮助到有需要的朋友们。
    2016-07-07
  • cocos2dx骨骼动画Armature源码剖析(三)

    cocos2dx骨骼动画Armature源码剖析(三)

    本篇文章给大家分享cocos2dx骨骼动画Armature源码剖析(三),代码附有注释,介绍的非常详细,需要的朋友可以参考下
    2015-09-09
  • js从输入框读取内容,比较两个数字的大小方法

    js从输入框读取内容,比较两个数字的大小方法

    下面小编就为大家带来一篇js从输入框读取内容,比较两个数字的大小方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03
  • JS操作对象数组实现增删改查实例代码

    JS操作对象数组实现增删改查实例代码

    JS提供了很多方便操作数组的方法,这篇文章主要给大家介绍了关于JS操作对象数组实现增删改查的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2021-07-07
  • 在TypeScript项目中搭配Axios封装后端接口调用

    在TypeScript项目中搭配Axios封装后端接口调用

    这篇文章主要介绍了在TypeScript项目中搭配Axios封装后端接口调用,本文记录一下在 TypeScript 项目里封装 axios 的过程,之前在开发 StarBlog-Admin 的时候已经做了一次封装,不过那时是JavaScript跟TypeScript还是有些区别的,需要的朋友可以参考下
    2024-01-01

最新评论