使用css和js实现刮刮乐(简单易懂还有趣)

使用了html5的新标签canvas,画布。

思想:在一个div里面写上奖项,定义一个数组,为奖池,再定义一个随机数,使奖项随机。然后整一个画布把div给盖住,然后给画布整一个鼠标按下事件,鼠标按下的时候来一个鼠标移动事件,鼠标移动的时候使画布小面积消失。鼠标抬起的时候让鼠标移动事件失效,一个简单的刮刮乐就实现了。上代码!!!

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<style type="text/css">
		#cvs {
			position: absolute;
		}

		#out {
			width: 200px;
			height: 100px;
			text-align: center;
			line-height: 100px;
			font-size: 30px;
			position: absolute;
		}
	</style>
	<body>
		<div id="out">奖项</div>
		<canvas id="cvs" width="200" height="100"></canvas>
		<!--画布 -->
	</body>
	<script type="text/javascript">
		var cvs = document.getElementById("cvs");
		var ctx = cvs.getContext("2d");
		var arr = ["奔驰E300一辆", "300平米别墅一套", "洗衣液一袋", "谢谢惠顾", "食盐一袋"];//奖项池
		var i = Math.floor(Math.random() * arr.length); //随机数据
		document.getElementById("out").innerHTML = arr[i];

		ctx.beginPath(); //开始绘画
		ctx.fillStyle = "#eee"; //填充颜色
		ctx.fillRect(0, 0, 200, 100);//矩形左上角的 x 坐标。矩形左上角的 y 坐标。矩形的宽度,以像素计。矩形的高度,以像素计。
		ctx.closePath(); //关闭

		cvs.onmousedown = function() {
			document.onmousemove = function(e) {
				var x = e.clientX - cvs.offsetLeft; //获取鼠标位置
				var y = e.clientY - cvs.offsetTop;
				ctx.clearRect(x, y, 20, 20);//在给定矩形内清空一个矩形
			}
			document.onmouseup = function() {
				document.onmousedown = null;
				document.onmousemove = null;
			}
		}
	</script>
</html>

效果图:

 

 

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值