亲宝软件园·资讯

展开

利用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>

加载全部内容

相关教程
猜你喜欢
用户评论