{
    分享网正式开通,我们为大家提供免费资源,欢迎大家踊跃投稿!

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>


在线预览
资源均来自第三方,谨慎下载,前往第三方网站下载


米微资源分享网 , 版权所有丨本站资源仅限于学习研究,严禁从事商业或者非法活动!丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:HTML5 Canvas大转盘抽奖活动页面代码
喜欢 ()分享 (0)