利用JavaScript实现放鞭炮动画效果
我是一只鱼吖 人气:0前言
谈及过年,最先让人想到的就是,噼里啪啦的鞭炮声,小时候到了春节,点上一根香,把红色的鞭炮从那一排子里解出几个,放在石头上,用香火点着捻子,只听“啪"的一声,鞭炮响了,鞭炮皮炸了一地,爽的不行;然而现在由于各种原因不能像小时候一样痛快的放鞭炮了,鞭炮就是过年的灵魂,过年要是不放点烟花爆竹,总感觉少了点年味,没意思透了。只能在网上来实现这个小小的心愿了,体验小时候路边放鞭炮的快乐时光。效果图如下:
制作思路
1)首先构建一串鞭炮
2)点炮,兔年这个任务就交给可爱的小兔吧
3)制作鞭炮爆炸效果
4)添加鞭炮音效
代码实现
构建鞭炮
首先准备一条竖线,作为这串鞭炮的总捻子。
然后沿着捻子在两边排放鞭炮,每个鞭炮的实现方式如下:
<div class="bp-item bp-right bg-delay1 bg-ani-name1" style="left: 127px;top:59.77230769230769px;"> <div class="bp-wrap"> <div class="bp" style="transform: scale(0.8) rotate(-19deg);"> <div class="top"> <i></i> </div> <div class="side up"> <i></i> </div> <div class="side down1"> <i></i> </div> <div class="side down2"> <i></i> </div> <div class="bottom foot"> </div> <div class="text"> <div class="out"> <div class="mid"> <div class="in"> </div> </div> </div> <span>新</span> </div> </div> <div class="bang bang2"> </div> </div> </div>
安排小兔上场点火
兔年点炮动作就交给小兔吧!在上面加个按钮用来触发点炮动作。
$(".dear-joy").bind("click", function() { $(this).removeClass("jump").addClass("dian"); setTimeout(function() { f.trigger("bang") //触发鞭炮爆炸效果 }, 500); $(".dear-joy2").addClass("fadeIn") }); //鞭炮爆炸 f.bind("bang", function() { var w = $(this).find(".bp-item"); w.each(function(y, z) { setTimeout(function() { $(z).addClass("on hold-forwards bp-fly") }, (w.length - y + 4) * 150) }); plays();//启声音 setTimeout(function() { _audioDom.pause() //音频暂停 }, 6000); });
爆炸效果
.hold-forwards { -webkit-animation-fill-mode: forwards !important; animation-fill-mode: forwards !important; } .on .bp { -webkit-animation: easeOut .2s ease-in; animation: easeOut .2s ease-in; }
添加音频
没有声音的鞭炮是没有灵魂的。
<audio src="http://downsc.chinaz.net/Files/DownLoad/sound/huang/cd9/mp3/222.mp3" id="audio_box"></audio>
加载全部内容