【HTML】幸运大转盘

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>幸运大转盘</title>
		<style>
			#mycanvas{
				position: absolute;
				transition: all 6s;
			}
			div{
				width: 600px;
				height: 600px;
				position: relative;
				margin: 0 auto;
			}
			#canvas{
				position: absolute;
				transform-origin: 0 0;
				transform: translate() rotate(-90deg);
			}
			
		</style>
	</head>
	<body>
		<div class="canvas">
			<canvas id="mycanvas" width="600px" height="600px" ></canvas><br />
			<canvas id="canvas" width="600px" height="600px" ></canvas>
		</div>
		
		<div style="margin: 0 auto;">
			<input type="button" id="btn1"  value="开始抽奖" style="display: block; margin: 0 auto;" />
		</div>
		
	</body>
	<script type="text/javascript">
		var c=document.getElementById("mycanvas")
		var ctx=c.getContext("2d");
		var arr=new Array("greenyellow","lawngreen","seagreen","palegreen","yellowgreen","green");
		var str=new Array("一等奖","二等奖","三等奖","四等奖","五等奖","六等奖");
		ctx.translate(300,300);    //将圆心移动到canvas的中心
		// ctx.rotate(1/4);      //将圆盘0的位置转到箭头指向的地方
		for(var i=0;i<str.length;i++){
			ctx.rotate(Math.PI/180*360/str.length);
			ctx.beginPath();
			ctx.moveTo(0,0);
			ctx.arc(0,0,200,0,Math.PI/180*(360/str.length));
			ctx.lineTo(0,0);
			// ctx.closePath();
			ctx.fillStyle=arr[i];
			ctx.fill();
			
			var txt=str[i];
			ctx.fillStyle="orange";
			ctx.font="20px 'Microsoft YaHei' ";
			ctx.fillText(txt,100,60);
			ctx.save();
		}
		
		var ctx2=document.getElementById("canvas").getContext("2d");
		ctx2.translate(300,280);
		ctx2.beginPath();
		ctx2.arc(0,0,10,0,2*Math.PI);
		ctx2.fillStyle="black";
		ctx2.fill();
		
		ctx2.beginPath();
		ctx2.moveTo(0,50);
		ctx2.lineTo(0,-150);
		ctx2.lineWidth=5;
		ctx2.stroke();
		
		var btn1=document.getElementById("btn1");
		// btn1.addEventListener("click",start,false);
		btn1.onclick=start;
		function start(){
			var timeRun=0;
			var interval=setInterval(function(){
				timeRun+=10;
				c.style.transform = "rotate("+timeRun*10+"deg)"; 
				if(timeRun>Math.random()*5000){
					clearInterval(interval);
				}
				
			},1)
		}
		
	</script>
</html>

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值