1、html代码

 <div class="jpk" id="jpk"><div class="jp" id="jp">谢谢惠顾</div><canvas id="canvasFirst" width="600" height="200"></canvas></div>

2、css样式

.jpk {height: 200px;width: 600px;position: relative;border: 1px solid darkgray;.jp {height: 200px;width: 600px;position: absolute;top: 0;left: 0;font-size: 40px;color: deeppink;line-height: 200px;text-align: center;user-select: none;}#canvasFirst {position: absolute;top: 0;left: 0;}
}

3、JavaScript代码

    // 1、找到画布对象var canvasFirst = document.getElementById("canvasFirst");var jpk = document.getElementById("jpk");var jp = document.getElementById("jp");// 2、上下文对象(画笔)var ctx = canvasFirst.getContext("2d");ctx.fillStyle = "darkgray";ctx.fillRect(0, 0, 600, 200);ctx.font = "20px 微软雅黑";ctx.fillStyle = "#fff";ctx.fillText("刮刮卡", 260, 100);var isClick = false;canvasFirst.onmousedown = function () {isClick = true;};canvasFirst.onmousemove = function (e) {if (isClick) {var x = e.pageX - jpk.offsetLeft;var y = e.pageY - jpk.offsetTop;ctx.globalCompositeOperation = "destination-out";//隐藏原图层,显示目标图层ctx.arc(x, y, 20, 0, 2 * Math.PI);ctx.fill();}};canvasFirst.onmouseup = function () {isClick = false;};var jpList = [{content: "一等奖:iphone13 1TB",gl: 0.1,},{content: "二等奖:iphoneX",gl: 0.2,},{content: "三等奖:iPad",gl: 0.3,},];//随机奖品var randomNum = Math.random();if (randomNum < jpList[0].gl) {jp.innerHTML = jpList[0].content;} else if (randomNum < jpList[0].gl + jpList[1].gl) {jp.innerHTML = jpList[1].content;} else if (randomNum < jpList[0].gl + jpList[1].gl + jpList[2].gl) {jp.innerHTML = jpList[2].content;}

4、效果

canvas入门--绘制刮刮卡相关推荐

  1. canvas绘制刮刮卡,超过一定面积显示全图

    说明:栗子转自简书,在他的基础上添加了重置和超过一定面积显示全图,仅做学习使用.(推荐7.2的代码) 1.前端时间做的一个项目需要支持多终端,网页版需要使用html5中canvas画布对象对一组数据进 ...

  2. canvas 绘制刮刮卡

    思路=> 用div来展示刮奖结果,用canvas绘制刮奖前展示的图片或者文字:将canvas叠在div上方,刮奖是只需要操作canvas配合touch事件即可简单完成. canvas刮奖可以用g ...

  3. canvas实践——绘制刮刮卡

    canvas实践--绘制刮刮卡 刮刮卡是一种常见的效果,如下图所示: 上述效果可以通过canvas中图像合成来实现,具体思路和代码如下: 1.利用css将刮刮卡的结果与canvas灰色涂层重叠: ht ...

  4. Canvas基础入门 - 二 时钟与刮刮卡

    文章目录 前言 一.时钟绘制思路及代码实现 1.代码 2.注意事项 二.刮刮卡绘制思路及代码实现 2.代码实现 前言 提示:以下是本篇文章正文内容,下面案例可供参考 一.时钟绘制思路及代码实现 思路与 ...

  5. canvas绘制刮刮卡

    无图不欢,先上图 <!DOCTYPE html> <html> <head><meta name="keywords" content=& ...

  6. 刮刮乐html5效果擦除,利用HTML5的画布Canvas实现刮刮卡效果

    先给大家展示效果: 你玩过刮刮卡么?一不小心可以中奖的那种.今天我给大家分享一个基于HTML5技术实现的刮刮卡效果,在PC上只需按住鼠标,在手机上你只需按住指头,轻轻刮去图层就可以模拟真实的刮奖效果. ...

  7. 用canvas实现刮刮卡特效

    canvas(画布)应用十分广泛,不仅可用来画图,配合ECharts做表格,还能做游戏.不过这次分享一下用canvas实现刮刮卡特效的一个应用. 如果还不是很了解canvas基本知识,可以读一下我的相 ...

  8. canvas刮刮卡游戏开发

    canvas刮刮卡游戏开发 先看效果: 一.基础知识-画布元素的使用 1 绘制线条 思路 在页面中添加画布元素 获取画布元素的上下文环境对象 使用上下文环境对象绘制图形,保存在内存中 绘制一个线条 / ...

  9. canvas实现刮刮卡

    <canvas id="canvas" width="400" height="100"></canvas> < ...

最新文章

  1. 模块化的 Windows 7
  2. PHPTree——快速生成无限多级分类
  3. 关于myBatis的问题There is no getter for property named 'USER_NAME' in 'class com.bky.model.实例类'...
  4. 在虚拟机上装win2003 server心得体会
  5. 格罗方德起诉台积电侵犯16项专利、影响巨大;中兴通讯与印尼Smartfren展开合作;网传FB开发新通讯应用Threads……...
  6. 安装python37路径报错_解决pycharm安装python库报错问题
  7. Centos7 error: Failed to initialize NSS library
  8. 【记录】利用jar包制作docker镜像
  9. 如何利用PHP会话显示出当前在线的用户
  10. 北京最最最牛逼的 IT 公司全在这了!
  11. Linux C++ socket编程实例
  12. 服务器声卡硬件安装,win 2008虚拟声卡的配置
  13. 计算机二级方案管理器,计算机二级考试真题-Word-学生成绩管理系统需求分析
  14. 腾讯云2022年双11云服务器配置及报价表汇总
  15. 怎么做阿里巴巴国际站的测评?需要哪些技术?
  16. React Native 参考资料 (转自简书)
  17. 测量计算方位角万能公式及VB、VBA源代码
  18. 好看的皮囊 · 也是大自然的杰作 · 全球高质量 · 美图 · 集中营 · 美女 · 2017-08-23期...
  19. php 24字母和 数字进行转化
  20. Android隐藏录屏内容,原来手机内置的录屏功能这么强大,好多人都不会用,很可惜!...

热门文章

  1. 2021年安全员-C证模拟考试系统及安全员-C证实操考试视频
  2. ACM-DFS之SumItUp——hdu1258
  3. python数据分析与挖掘实战(航空公司客户价值分析)
  4. centos 制作iso镜像
  5. 使用sfdisk对 emmc进行分区
  6. 基于物联网的工业控制系统设计与实现
  7. 【韩老师设计模式7】外观和享元模式,MyBatis的Configuration创建 MetaObject。Integer.valueOf
  8. IP Camera 网络摄像机常见设置问题
  9. [NOIP模拟测试10]辣鸡(ljh) 题解
  10. 2020年网络安全漏洞态势报告-Web应用漏洞