jq+css实现转盘抽奖

转盘抽奖是我们常见到的一些客户端活动模版,其核心使用的方法是rotate进行元素旋转,然后后台控制当前抽中的奖项,再有前台控制停留的位置;

设置奖项的js代码如下,当前转盘是六个选项栏;

var isRotate = false;
var isRotate = false;
$("#awardBtn").on("click", function() {
    if (isRotate) {
	return false
    };
    var _index = Math.floor(Math.random() * 6);
    console.log(_index);
    switch (_index) {
	case 0:
		rotateFunc(0, "名师直播课体验特权(30元)",true);
		break;
	case 1:
		rotateFunc(60, "谢谢参与)",false);
		break;
	case 2:
		rotateFunc(120, "名师直播课体验特权(30元)",true);
		break;
	case 3:
		rotateFunc(180, "谢谢参与",false);
		break;
	case 4:
    	        rotateFunc(240, "名师直播课体验特权(30元)",true);
		break;
	case 5:
		rotateFunc(300, "谢谢参与",false);
		break;
	default:
	    alert("error");
     	    break;
	    }
	})

其实 isRotate是防止多次点击做的开关;

控制转盘在deg角度停下的代码如下:

function rotateFunc(deg, text,pity) {
    isRotate = true;
    $("#award").rotate({
	angle: 0, // 旋转一个角度
	animateTo: Number(deg) + 3600, // 从当前的角度旋转到多少度
	duration: 3000, // 旋转持续时间
	callback: function() { // 旋转完成后的回调函数
		isRotate = false;
		if(pity){
			$(".maskPopContent").show()
		}else{
			alert("未中奖")
			}		
		}
	})
}

 代码引入jquery.rotate.min.js、jq即可;

posted @ 2020-11-29 22:15  樱花雨纷飞  阅读(15)  评论(0编辑  收藏  举报