青青久在线视频-青青久热-青青久久网-青青久久精品国产免费看-青青久久精品-青青久久国产成人免费网站

200

兩種方法利用Html5實現移動端、PC端刮刮卡效果

時間: 2016-09-26 15:27:24   點擊數: 33876   來源: 耐思智慧

先給大家展示下效果圖:

刮刮卡需求:

每一位用戶有三次刮刮卡的機會,本次刮刮卡的結果會覆蓋上次的結果,刮刮卡的中獎幾率呈現為遞增的曲線(保證三次中必須有一次中獎)刮出的結果包含按鈕既(領取獎品 or 再來一次 ),分享活動獎品升級(這里主要是微信分享的回調了),我們自己的需求,今天就說怎么制作刮刮卡,有這樣需求的可以找我要源碼。


我們有兩種方式實現這種功能,一種功能就是代碼模式下,第二種就是通過建站系統實現,看看你適合哪一種?


第一種方式,代碼模式下自己開發。



第一、body創建Canvas

XML/HTML Code復制內容到剪貼板

<div class="info" id="prize">  
     <span id="prompt"></span>  
     <span class="btn" id="ok">領取獎品</span>  
    <span class="btn" id="no">再來一次</span>  
 </div>  
 <canvas id="c1" class="canvas"></canvas> 

這里我們首先創建了一個Canvas,并且在canvas底部加上了刮開后的效果。


第二、 頁面加載后開始初始化畫布

首先定義一些需要的變量

XML/HTML Code復制內容到剪貼板

var c1; //畫布   
 var ctx; //畫筆   
 var ismousedown; //標志用戶是否按下鼠標或開始觸摸   
 var isOk=0; //標志用戶是否已經刮開了一半以上   
 var fontem = parseInt(window.getComputedStyle(document.documentElement, null)["font-size"]);//這是為了不同分辨率上配合@media自動調節刮的寬度  

頁面加載后開始初始化畫布(這樣子就可以在頁面創建一個畫布了)

XML/HTML Code復制內容到剪貼板

window.onload = function(){    
    c1 = document.getElementById("c1");   
    //這里很關鍵,canvas自帶兩個屬性width、height,我理解為畫布的分辨率,跟style中的width、height意義不同。   
    //最好設置成跟畫布在頁面中的實際大小一樣   
    //不然canvas中的坐標跟鼠標的坐標無法匹配   
    c1c1.width=c1.clientWidth;   
    c1c1.height=c1.clientHeight;   
    ctx = c1.getContext("2d");   
    //PC端的處理   
    c1.addEventListener("mousemove",eventMove,false);   
    c1.addEventListener("mousedown",eventDown,false);   
    c1.addEventListener("mouseup",eventUp,false);   
    //移動端的處理   
    c1.addEventListener('touchstart', eventDown,false);   
    c1.addEventListener('touchend', eventUp,false);   
    c1.addEventListener('touchmove', eventMove,false);   
    //初始化   
    initCanvas();   
 }  


第三、畫灰色的矩形鋪滿

XML/HTML Code復制內容到剪貼板

function initCanvas(){//網上的做法是給canvas設置一張背景圖片,我這里的做法是直接在canvas下面另外放了個div   
     //c1.style.backgroundImage="url(中獎圖片.jpg)";   
     ctx.globalCompositeOperation = "source-over";   
     ctx.fillStyle = '#aaaaaa';   
     ctx.fillRect(0,0,c1.clientWidth,c1.clientHeight);   
     ctx.fill();   
     ctx.font = "Bold 30px Arial";   
                 ctx.textAlign = "center";   
                 ctx.fillStyle = "#999999";   
                 ctx.fillText("刮一刮",c1.width/2,50);//把這個屬性設為這個就可以做出圓形橡皮擦的效果   
     //有些老的手機自帶瀏覽器不支持destination-out,下面的代碼中有修復的方法   
     ctx.globalCompositeOperation = 'destination-out';}  


第四、鼠標按下 和 觸摸開始

XML/HTML Code復制內容到剪貼板

function eventDown(e){   
    e.preventDefault();   
    ismousedown=true;}  


第五、鼠標抬起 和 觸摸結束

XML/HTML Code復制內容到剪貼板


function eventUp(e){   
    e.preventDefault();   
    //得到canvas的全部數據   
    var a = ctx.getImageData(0,0,c1.width,c1.height);   
    var j=0;   
    for(var i=3;i<a.data.length;i+=4){   
        if(a.data[i]==0)j++;   
    }   
    //當被刮開的區域等于一半時,則可以開始處理結果   
    if(j>=a.data.length/8){   
        isOk = 1;   
    }   
    ismousedown=false;   
 }  


第六、鼠標移動 和 觸摸移動


XML/HTML Code復制內容到剪貼板

//鼠標移動 和 觸摸移動   
function eventMove(e){   
    e.preventDefault();   
    if(ismousedown) {   
        if(e.changedTouches){   
            ee=e.changedTouches[e.changedTouches.length-1];   
        }   
        var topY = document.getElementById("top").offsetTop;   
        var oX = c1.offsetLeft,   
        oY = c1.offsetTop+topY;   
        var x = (e.clientX + document.body.scrollLeft || e.pageX) - oX || 0,   
        y = (e.clientY + document.body.scrollTop || e.pageY) - oY || 0;   
        //畫360度的弧線,就是一個圓,因為設置了ctx.globalCompositeOperation = 'destination-out';   
        //畫出來是透明的   
        ctx.beginPath();   
        ctx.arc(x, y, fontem*1.2, 0, Math.PI * 2,true);   
        //下面3行代碼是為了修復部分手機瀏覽器不支持destination-out   
        //我也不是很清楚這樣做的原理是什么   
        c1.style.display = 'none';   
        c1.offsetHeight;   
        c1.style.display = 'inherit';    
        ctx.fill();   
    }   
    if(isOk){   
        var btn = document.getElementsByClassName("btn");   
            for(var i=0; i<btn.length; i++){   
                btn[i].style.zIndex = '3';   
            }   
            document.getElementsByClassName("btn")[0].style.zIndex="3";   
    }   
}  

第七: 如果沒有抽中再來一次

很明顯,再來一次就是初始化所有的值,畫布重新加載,但是如果有次數限制的需求,務必在這里計算清楚。需要注意的是,由于我們要求的比較多今天就不說怎么計算中獎概率的方法了。


以上就是制作一個刮刮卡促銷功能的操作流程,專業性特別強對不對?看不懂對不對?再看看第二種方法吧。


第一步、登錄建站寶盒自助建站系統http://www.jejushenhwaworld.com.cn/design/function-guagua.php)后臺,在左側導航欄依次選擇營銷活動-刮刮卡,點擊創建。


第二步、在設置項當中添加優惠活動,包括獎項、活動時間、獎品總數、獎品概率、限制次數等設置。


對應獎品可以設置禮品、優惠券、積分、產品等信息。

第三步、設置活動開始和結束圖片、活動全線和消息提示,消息提示包含:活動開始提示、兌獎信息說明、重復抽獎說明、中獎提示、活動結束說明。


第四步、設置完以上操作點擊保存,一個能在多個平臺上展示的刮刮卡功能就完美的搞定了,全程無代碼。


兩種方式均已將方法告訴大家了,您覺得哪一種效果比較好呢,歡迎探討。

上一篇:深圳15萬/平天價“鴿籠房”推動返鄉電商創業潮 下一篇:做電商如何像TFBOYS一樣,讓粉絲對你進行“愛的供養”?

旗下網站:耐思智慧 - 淘域網 - 我的400電話 - 中文域名:耐思尼克.cn 耐思尼克.top

耐思智慧 © 版權所有 Copyright © 2000-2025 IISP.COM,Inc. All rights reserved

備案號碼: 粵ICP備09063828號  公安備案號: 公安備案 粵公網安備 44049002000123號  域名注冊服務機構許可:粵D3.1-20240003 CN域名代理自深圳萬維網

聲明:本網站中所使用到的其他各種版權內容,包括但不限于文章、圖片、視頻、音頻、字體等內容版權歸原作者所有,如權利所有人發現,請及時告知,以便我們刪除版權內容

本站程序界面、源代碼受相關法律保護, 未經授權, 嚴禁使用; 耐思智慧 © 為我公司注冊商標, 未經授權, 嚴禁使用

法律顧問:珠海知名律師 廣東篤行律師事務所 夏天風 律師

插插射啊爱视频日A级| 性欧美暴力猛交69HD| 锕锕锕锕锕锕锕好痛免费网址| 免费国产黄网站在线观看视频 | 亚洲成色WWW成人网站| 国产乱色精品成人免费视频| 私はあなたを爱しています怎么读| 成人免费区一区二区三区| 日本JAPANESE丰满白浆| 暗呦交小U女国产精品视频| 欧美性插B在线视频网站| A级毛片免费全部播放无码| 欧美人妻少妇精品久久黑人| 99久RE热视频这只有精品6| 欧美高清VIVO最新| VR成品在线网站| 人人妻人人爽人人澡欧美一区| ZOOM与人性ZOOM我放弃播放器| 欧洲美女粗暴牲交免费观看| 拔萝卜日本视频在线观看免费| 人妻丰满AV无码中文字幕| 不卡无在一区二区三区四区| 日产亚洲一卡2卡3卡4卡网站| 成熟丰满熟妇偷拍XXXXX| 少妇熟女久久综合网色欲| 国产成人剧情AV麻豆映画| 无码人妻一区二区三区密桃手机版 | 成熟丰满熟妇高潮XXXXX| 色狠狠AV一区二区三区| 国产成人精品人人2020视频| 天美传媒免费观看一二三在线| 国产精品成人一区无码| 羞涩的丰满人妻40P| 皇叔撞着小公主的小说叫什么| 亚洲内射夜夜嗨av| 老熟妇高潮一区二区高清视频| 中文字幕日韩人妻| 秋霞国产成人精品午夜视频APP| 超级YIN荡的公司聚会| 熟女少妇丰满一区二区| 国产欧美日韩一区二区三区在线| 亚洲AV永久无码精品水牛影视| 精品综合久久久久久98| 在线成人精品国产区免费| 欧美成人精品在线| 成熟丰满熟妇高潮XXXXX视频| 玩弄丰满熟妇XXXXX性HD| 国产免费无遮挡吸乳视频在线观看| 亚洲AV中文无码乱人伦在线咪咕 | 日本真人边吃奶边做爽动态图| 国产成人精品免高潮在线观看| 亚洲AⅤ精品无码一区二区PRO| 久久99精品久久久久久噜噜 | 视频在线观看一区二区| 国产亚洲精品精品国产亚洲综合| 亚洲精品无码成人| 免费女人高潮流视频在线观看 | 亚洲精品无码AⅤ中文字幕蜜桃 | 麻花传媒0076在线观看| YY111111少妇影院免费观| 天天狠天天透天天伊人| 狠狠色噜噜狠狠狠狠AV不卡| 夜夜爽夜夜叫夜夜高潮| 欧美一性一乱一交一视频| 乖别添了快放进来我想要| 亚洲AV无码乱码在线观看牲色 | 少妇愉情理伦片丰满丰满午夜| 国产真实夫妇交换视频 | 少妇特殊按摩高潮爽翻天| 国语自产少妇精品视频 | 午夜精品久久久久9999| 久久久久久AV无码免费网站| JAPAN色系VIDEOS护士| 玩弄人妻少妇老师美妇厨房| 久久99精品久久久久久9| ASS美女裸体洗澡PICS| 污污污污污污网站| 久久久久久久精品国产亚洲| www.五月婷婷.com| 小猪视频APP永久观看破解| 浪潮AV色综合久久天堂| 大JI巴好深好爽又大又粗视频| 亚洲AV午夜福利精品一区人妖| 免费观看的AV毛片的网站| 国产69精品久久久久9999A| 亚洲精品天堂无码中文字幕 | 国产热の有码热の无码视频| 幼儿HIPHOP仙踪林的功能| 色黄啪啪网18以下勿进| 精品国产黑色丝袜高跟鞋| BT天堂最新版在线WWW| 无码无遮挡在线观看免费 | 日韩精品无码一区二区视频| 韩漫嘿啾漫画进入| CHINESE熟妇与小伙子MA| 无码日韩精品一区二区免费暖暖| 久久亚洲AV无码精品色午夜麻| 大欧派拔萝卜游戏| 亚洲日韩欧洲乱码AV夜夜摸 | 国外AV无码精品国产精品| 97久久超碰福利国产精品…| 午夜福利理论片高清在线观看| 免费十大软件大全下载安装| 国产精品久久久久久超碰| 在线日韩日本国产亚洲| 天天摸日日摸狠狠添| 邻居少妇张开双腿让我爽一夜 | 真实国产乱子伦沙发睡午觉 | 精品国产亚洲AV麻豆尤物| 被按摩的人妻中文字幕| 亚洲欧美在线综合色影视| 日本护士毛茸茸高潮| 久久99精品久久久久久齐齐| 俄罗斯女人与马Z00Z视频| 一区二区三区无码免费看| 天堂影院一区二区三区四区| 免费精东传媒VS天美传媒| 国产女人精品视频国产灰线| AV无码AV在线A∨天堂毛片| 亚洲成AV 人片在线观看无码 | 亚洲精品欧美精品日韩精品| 日日摸夜夜添无码无码AV| 久久亚洲精品无码播放| 国产精品视频一区二区| ASS鲜嫩鲜嫩PICS日本| 亚洲国产成人久久综合人| 日韩人妻无码一区二区三区99 | 爆乳邻居肉欲中文字幕| 亚洲熟妇无码一区二区三区导航| 少妇扒开粉嫩小泬视频| 久久中文字幕AV不卡一区二区| 国产精品久久久久精品综合紧 | 未满十八18禁止午夜免费网站| 男生把感叹号放进女生的括号| 韩国女星潜规39集无删减| 成人一区二区三区视频在线观看| 一区二区三区无码被窝影院| 午夜香吻高清观看视频在线| 人妻中文字幕AV无码专区| 浪潮AV一区二区三区| 国语做受对白XXXXX在线| 成人午夜亚洲精品无码网站| 重生之玩遍娱乐圈全文阅读| 亚洲不卡AV不卡一区二区| 少妇精品久久久一区二区| 男女啪啪无遮挡免费网站| 精品无码国产污污污免费网站| 国产成人久久AV免费| WWW.一区二区三区在线 || 一区二区三区毛片| 亚洲AV无码乱码精品观看| 色婷婷五月综合丁香中文字幕| 欧美JIZZ18性欧美| 久久久久久精品免费免费69| 国产午夜精品一区二区三区老 | 一区二三区在线 | 中国| 亚洲AV无码国产精品夜色午夜| 色哟哟最新在线观看入口| 欧美精产国品一二三区别| 久久无码精品一区二区三区| 含羞草传媒免费进入APP老版本 | 亚洲男人的天堂在线播放| 小鲜肉洗澡时自慰网站XNXX| 色偷偷色噜噜狠狠成人免费视频| 欧美巨大XXXX做受| 毛葺葺老太做受视频| 久爱无码精品免费视频在线观看 | 蜜臀av一区二区三区人妻| 久久99精品久久久久久不卡| 国产又猛又黄又爽| 国产精品国产三级国产AV主播| 成人区人妻精品一区二区网站 | 亚洲成AV人综合在线观看| 无码男男作爱G片在线观看| 搡老女人野外老熟妇AAA| 欧美午夜一区二区福利视频| 免费国产无人区码卡二卡3卡| 久久久久人妻精品区一| 精品国产三级A∨在线无码| 国产肉体XXXX裸体XXXX| 国产成人片一区在线观看| 东北往事之黑道风云20年第二部| 宝宝都湿透了还嘴硬疼怎么回事 | 无码人妻精品一区二区三区不卡 | 国产综合久久亚洲综合| 国产美女裸体丝袜喷水视频| 国产极品美女高潮无套| 国产Gay男同gv网站播放免费| 成熟交BGMBGMBGM在线| 波多野结衣放荡的护士| 凹凸国产熟女精品视频APP| JAPANESE成熟丰满熟妇| AV天堂午夜精品一区| 999久久久无码国产精品| 69美女ⅩXXXXXXX19| 2014AV天堂网| 999在线视频精品免费播放观看| 18禁裸乳无遮挡免费网站| 19岁MACBOOKPRO日本| 99精品国产福利在线观看|