简单的Canvas刮刮乐带动画效果的实例

今天做了个刮刮乐领奖品的小活动,感觉挺有用的,整理在这儿记录下

上个效果图先:

简单的Canvas刮奖带动画效果的实例

简单的Canvas刮奖带动画效果的实例

简单的Canvas刮奖带动画效果的实例

简单的Canvas刮奖带动画效果的实例

加了个简单的 css 动画效果

下面贴上主要代码:

index.html

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta name="viewport" content="width=device-width, initial-scale=0, user-scalable=0, minimum-scale=1, maximum-scale=1">
    <meta charset="UTF-8">
    <title>H5 Canvas 刮刮乐</title>
    <link rel="stylesheet" type="text/css" href="css/layout.css">
</head>
<body>
<div class="main">
    <div class="ggl-wrapper">
        <div class="ggl-bg-top-bolang"></div>
        <div id="scratch-ct" class="scratch-ct">
            <div id="scratch-inner" class="inner-ct">
                <div id="content-ct" class="content-ct" style="visibility: hidden;">
                    <img id="gift-cover" class="gift-cover" src="img/gift-cover.jpg" alt="">
                </div>
                <canvas id="scratch-canvas" class="scratch-canvas"></canvas>
                <div id="cav-cover" class="cav-cover"><div id="start-gg-bt" class="start-gg-bt">开始刮奖</div><div class="notice-gg-times">今日还有 <span style="color:red">8</span> 次刮奖机会<br>http://blog.csdn.net/zhouzme/</div></div>
            </div>
        </div>
        <div class="ggl-bg-bottom-bolang"></div>
    </div>
    <div id="gift-show-ct" class="gift-show-ct">
        <span id="close-bt" class="close-bt">×</span>
        <div class="show-inner small">
            <div class="panel-head"></div>
            <div class="panel-body">
                <img class="gift-cover" src="img/gift-cover.jpg" alt="">
                <div class="operator-ct"><a id="go-to-bt" class="go-to-bt" href="http://blog.csdn.net/zhouzme/" target="_blank">立即领取</a></div>
            </div>
        </div>
    </div>
</div>
<script src="./js/scratch.js"></script>
<script src="./js/main.js"></script>
</body>
</html>

scratch.js

/**
 * 配置参数
 * 该Canvas刮刮卡插件的可用配置参数有:
 canvasId:canvas的id。
 imageBackground:背景图片(刮开后呈现的图片)。
 pictureOver:前景图片。
 sceneWidth:canvas的宽度。
 sceneHeight:canvas的高度。
 radius:清除区域的半径。
 nPoints:清除区域的杂点数量。
 percent:在清除多少区域之后清空canvas。
 cursor:光标。
 png:png格式的光标。
 x:Move position x。
 y:Move position y。
 cur:cur格式的光标(IE使用)。
 */

var Scratch = (function () {
   

    /**
     * Merge properties between two objects
     * @param obj1
     * @param obj2
     * @returns {
   {}}
     */
    function mergeOptions(obj1, obj2){
   
        var obj3 = {};
        for (var key in obj1) { obj3[key] = obj1[key]; }
        for (var key in obj2) { obj3[key] = obj2[key]; }
        return obj3;
    }

    /**
     * Generate a random number
     * @param min
     * @param max
     * @returns {Number}
     */
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

神神的蜗牛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值