HTML5 Canvas大转盘抽奖活动页面代码

HTML5 Canvas大转盘抽奖活动页面代码-精品资源网
HTML5 Canvas大转盘抽奖活动页面代码
此内容为免费资源,请登录后查看
0
免费资源

HTML5 Canvas大转盘抽奖活动页面代码

HTML5 Canvas大转盘抽奖活动页面代码是一款很实用支持自定义设置参数的旋转大转盘网页抽奖插件。

js代码

<script src=\"js/turntable.js\"></script>
<script>
	var wheelSurf
	// 初始化装盘数据 正常情况下应该由后台返回
	var initData = {
		\"success\": true,
		\"list\": [{
				\"id\": 100,
				\"name\": \"5000元京东卡\",
				\"image\": \"images/1.png\",
				\"rank\":1,
				\"percent\":3
			},
			{
				\"id\": 101,
				\"name\": \"1000元京东卡\",
				\"image\": \"images/2.png\",
				\"rank\":2,
				\"percent\":5
			},
			{
				\"id\": 102,
				\"name\": \"100个比特币\",
				\"image\": \"images/3.png\",
				\"rank\":3,
				\"percent\":2
			},
			{
				\"id\": 103,
				\"name\": \"50元话费\",
				\"image\": \"images/4.png\",
				\"rank\":4,
				\"percent\":49
			},
			{
				\"id\": 104,
				\"name\": \"100元话费\",
				\"image\": \"images/5.png\",
				\"rank\":5,
				\"percent\":30
			},
			{
				\"id\": 105,
				\"name\": \"500个比特币\",
				\"image\": \"images/6.png\",
				\"rank\":6,
				\"percent\":1
			},
			{
				\"id\": 106,
				\"name\": \"500元京东卡\",
				\"image\": \"images/7.png\",
				\"rank\":7,
				\"percent\":10
			}
		]
	}

	// 计算分配获奖概率(前提所有奖品概率相加100%)
	function getGift(){
		var percent = Math.random()*100
		var totalPercent = 0
		for(var i = 0 ,l = initData.list.length;i<l;i++){
			totalPercent += initData.list[i].percent
			if(percent<=totalPercent){
				return initData.list[i]
			}
		}           
	}

	var list = {}
	
	var angel = 360 / initData.list.length
	// 格式化成插件需要的奖品列表格式
	for (var i = 0, l = initData.list.length; i < l; i++) {
		list[initData.list[i].rank] = {
			id:initData.list[i].id,
			name: initData.list[i].name,
			image: initData.list[i].image
		}
	}
	// 查看奖品列表格式
	
	// 定义转盘奖品
	wheelSurf = $(\'#myCanvas\').WheelSurf({
		list: list, // 奖品 列表,(必填)
		outerCircle: {
			color: \'#df1e15\' // 外圈颜色(可选)
		},
		innerCircle: {
			color: \'#f4ad26\' // 里圈颜色(可选)
		},
		dots: [\'#fbf0a9\', \'#fbb936\'], // 装饰点颜色(可选)
		disk: [\'#ffb933\', \'#ffe8b5\', \'#ffb933\', \'#ffd57c\', \'#ffb933\', \'#ffe8b5\', \'#ffd57c\'], //中心奖盘的颜色,默认7彩(可选)
		title: {
			color: \'#5c1e08\',
			font: \'19px Arial\'
		} // 奖品标题样式(可选)
	})

	// 初始化转盘
	wheelSurf.init()
	// 抽奖
	var throttle = true;
	$(\"#start\").on(\'click\', function () {

		var winData = getGift() // 正常情况下获奖信息应该由后台返回

		$(\"#message\").html(\'\')
		if(!throttle){
			return false;
		}
		throttle = false;
		var count = 0
		// 计算奖品角度

		for (const key in list) {
			if (list.hasOwnProperty(key)) {                    
				if (winData.id == list[key].id) {
					break;
				}
				count++    
			}
		}
  
		// 转盘抽奖,
		wheelSurf.lottery((count * angel + angel / 2), function () {
			$(\"#message\").html(winData.name)
			throttle = true;
		})
	})
	
</script>

© 版权声明
THE END
点赞0 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容