在JavaScript中制作刮刮乐效果的方法是什么
Admin 2022-06-22 群英技术资讯 886 次浏览
这篇文章给大家介绍了“在JavaScript中制作刮刮乐效果的方法是什么”的相关知识,讲解详细,步骤过程清晰,有一定的借鉴学习价值,因此分享给大家做个参考,感兴趣的朋友接下来一起跟随小编看看吧。本文实例为大家分享了JavaScript canvas实现刮刮乐效果的具体代码,供大家参考,具体内容如下
效果图

HTML代码:
<div class="ggk">
<span id="span">200元</span>
<canvas id="canvas"></canvas>
</div>
css代码:
.ggk {
width: 200px;
height: 100px;
border: 1px solid #000;
margin: 20px auto;
color: red;
position: relative;
}
.ggk span {
position: absolute;
width: 100%;
height: 100%;
text-align: center;
font-size: 50px;
line-height: 100px;
}
#canvas {
position: absolute;
left: 0;
top: 0;
}
js代码:
var canvas = document.getElementById("canvas")
init()
function init() {
canvas.width = 200;
canvas.height = 100;
var ctx = canvas.getContext("2d")
// 覆盖一层灰色
ctx.save();
ctx.fillStyle = 'rgb(100,100,100)'
ctx.fillRect(0, 0, 200, 100)
draw(ctx)
pro()
}
// 随机内容
function pro() {
var span = document.getElementById("span")
var arr = ["100元", '谢谢惠顾', '200元', '谢谢惠顾', '谢谢惠顾', '谢谢惠顾', '500万', '谢谢惠顾']
var num = Math.floor(Math.random() * (arr.length - 1))
var text = arr[num]
span.innerHTML = text
}
function draw(ctx){
// 点下事件
canvas.onmousedown = function(e){
// 移动事件
var downX= e.offsetX
var downY= e.offsetY
ctx.beginPath()
// ctx.globalCompositeOperation = 'destination-out'
ctx.lineWidth = 10;
ctx.moveTo(downX,downY)
canvas.onmousemove = function(e){
var x = e.offsetX
var y = e.offsetY
// ctx.lineTo(x,y)
ctx.clearRect(x,y,20,20)
ctx.stroke()
}
}
// 鼠标弹起事件
canvas.onmouseup = function(){
canvas.onmousemove = null
}
}
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要为大家介绍了JS中switch的四种写法示例代码,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
这篇文章主要介绍了如何用JS实现网页瀑布流布局,帮助大家更好的利用JavaScript制作网页,感兴趣的朋友可以了解下
最近做了一个手机端系统,其中遇到了父页面需要携带参数跳转至子页面的问题,现已解决,下面分享一下实现过程,感兴趣的朋友一起看看吧
nodejs的出现为前端行业带来了无限的可能性,让很多原来只负责客户端开发的同学也慢慢开始接触和使用服务器端技术。本文主要讲一讲nodejs作为中间层的一些实践。
什么是 React 高阶组件?聊聊怎么使用React高阶组件创建一个面包屑导航,希望对大家有所帮助!
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008