抽奖转盘HTML5

html代码

<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
  <meta name="renderer" content="webkit">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
  <title>转盘抽奖H5</title>
  <script type="text/javascript" src="https://qd.andiff.net/script/jquery.js"></script>
  <link rel="stylesheet" href="css/typo/typo.css">
  <link rel="stylesheet" href="css/GB-canvas-turntable1.css">
  <style>
  	body{    background-image: url(images/bg.jpg);}
    .gb-turntable a.gb-turntable-btn {
      border: none;
    }
	.cc{ position:relative; left:0; right:0; margin:0 auto; top:28%; text-align:center;}
	.cc>img{ width:23rem;}
	.gb-turntable{ position:static;}
	.gb-turntable-container{ vertical-align:middle; top:2.3rem;}
	.gb-turntable-btn{ left:0; right:0; top:40%; margin:0 auto;}
  </style>
</head>
<body>
<div class="cc">
	<img src="images/11.png">
	<section id="turntable" class="gb-turntable">
			<div class="gb-turntable-container">
				<canvas class="gb-turntable-canvas" width="300" height="300px">抱歉!浏览器不支持。</canvas>
			</div>
			<a class="gb-turntable-btn" href="javascript:;">抽奖</a>
	</section> 
</div>
<script type="text/javascript" src="js/GB-canvas-turntable.js"></script>
<script type="text/javascript" defer="defer">
var prizes = [
	{text: '1元红包',img: 'images/redpacket.png'}, 
	{text: '2元红包'}, 
	{text: '3元红包'}, 
	{text: '显示器',img: 'images/display.png'}, 
	{text: '5元红宝'}, 
	{text: '6元红宝'}, 
	{text: '大彩电'}
];
	$(document).ready(function(){
		gbTurntable.init({
        id: 'turntable',
        config: function (callback) {
          // 获取奖品信息
          // callback && callback(['11元红包','2元红包','3元红包','4元红包','5元红包','6元红包']);
          callback && callback(prizes);
        },
        getPrize: function (callback) {
          // 获取中奖信息
          var num = Math.random() * prizes.length >>> 0, //奖品ID
          var chances = 3; // 可抽奖次数
          callback && callback([num, chances]);
        },
        gotBack: function (data) {
          alert('恭喜抽中' + data);
        }
      });	
	});
</script>
</body>
</html>

演示地址::  http://qd.andiff.net/guaguale/c.html

  • 2
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
// 代码整理:懒人之家 lanrenzhijia.com /* * 删除左右两端的空格 */ function Trim(str){ return str.replace(/(^\s*)|(\s*$)/g, ""); } /* * 定义数组 */ function GetSide(m,n){ //初始化数组 var arr = []; for(var i=0;i<m;i++){ arr.push([]); for(var j=0;j<n;j++){ arr[i][j]=i*n+j; } } //获取数组最外圈 var resultArr=[]; var tempX=0, tempY=0, direction="Along", count=0; while(tempX>=0 && tempX<n && tempY>=0 && tempY<m && count<m*n) { count++; resultArr.push([tempY,tempX]); if(direction=="Along"){ if(tempX==n-1) tempY++; else tempX++; if(tempX==n-1&&tempY==m-1) direction="Inverse" } else{ if(tempX==0) tempY--; else tempX--; if(tempX==0&&tempY==0) break; } } return resultArr; } var index=0, //当前亮区位置 prevIndex=0, //前一位置 Speed=300, //初始速度 Time, //定义对象 arr = GetSide(5,5), //初始化数组 EndIndex=0, //决定在哪一格变慢 tb = document.getElementById("tb"), //获取tb对象 cycle=0, //转动圈数 EndCycle=0, //计算圈数 flag=false, //结束转动标志 quick=0; //加速 btn = document.getElementById("btn1") function StartGame(){ clearInterval(Time); cycle=0; flag=false; EndIndex=Math.floor(Math.random()*16); //EndCycle=Math.floor(Math.random()*4); EndCycle=1; Time = setInterval(Star,Speed); } function Star(num){ //跑马灯变速 if(flag==false){ //走五格开始加速 if(quick==5){ clearInterval(Time); Speed=50; Time=setInterval(Star,Speed); } //跑N圈减速 if(cycle==EndCycle+1 && index==parseInt(EndIndex)){ clearInterval(Time); Speed=300; flag=true; //触发结束 Time=setInterval(Star,Speed); } } if(index>=arr.length){ index=0; cycle++; } //结束转动并选中号码 //trim里改成数字就可以减速,变成Endindex的话就没有减速效果了 if(flag==true && index==parseInt(Trim('5'))-1){ quick=0; clearInterval(Time); } tb.rows[arr[index][0]].cells[arr[index][1]].className="playcurr"; if(index>0) prevIndex=index-1; else{ prevIndex=arr.length-1; } tb.rows[arr[prevIndex][0]].cells[arr[prevIndex][1]].className="playnormal"; index++; quick++; }

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值