guaguia

//大转盘加载
$(function(){
win_ggk_load();//自动加载
});

function win_ggk_load(){
var act_id = $("#act_id").val();
var act_limit = $("#act_limit").val();
act_limit = parseInt(act_limit);
//清除唯一码cookie
delCookie("pinqu_ggk_"+act_id+"_is_click");
//1是否中奖
var sn = getCookie("pinqu_ggk_"+act_id+"_sn");
if(sn != ''){
//跳转到获奖页面
window.location.href = "/marketing/prizePage?gtype=2&act_id="+act_id;
return false;
}
//2是否到次数 如果已经到达上线则提示
var limit_num = getCookie("pinqu_ggk_"+act_id+"_num");
limit_num = parseInt(limit_num);
if(act_limit != '' && act_limit <= limit_num){
alert("您已经超过了抽奖次数");
//click_more_ggk();
$("#awards_level").html("刮奖次数已满");
$(".prize").show();//展示文字
return false;
}
ggk();
}

//绑定我要领奖事件
function click_btn(){
$("#btn").click(function(){
var act_id = $("#act_id").val();
window.location.href = "/marketing/dzpAward?gtype=2&act_id="+act_id;
});
}

//挂挂卡js
function ggk(){

var oGgk = document.getElementById('ggk'),
left = parseInt(oGgk.getBoundingClientRect().left),
top = parseInt(oGgk.getBoundingClientRect().top + (document.body.scrollTop || document.documentElement.scrollTop)),
coordinate = [],
ggk = oGgk.getContext('2d'),
mousedown = false,
offsetX = oGgk.offsetLeft,
offsetY = oGgk.offsetTop,
prize = $(".prize");

//2013-10-10 注释 zaki
//ggk.fillStyle = '#a8a8a6'; //设置覆盖层的颜色
//ggk.fillRect(0,0,133,39); //设置覆盖的区域

//2013-10-10 zaki 添加 start
var text = $("#awards_level").text();
ggk.fillStyle = '#ce4236';//设置覆盖层的颜色
ggk.fillRect(0,0,133,39); //设置覆盖的区域
ggk.fillStyle = '#000';
ggk.font = "20px 黑体";
ggk.textBaseline = 'top';
var w = ggk.measureText('text').width;
ggk.fillText(text,(oGgk.width - w-20)/2,(oGgk.height - 20)/2);
var aImagedata = ggk.getImageData(0, 0, oGgk.width, oGgk.height);
ggk.fillStyle = '#a8a8a6'; //设置覆盖层的颜色
ggk.fillRect(0,0,133,39); //设置覆盖的区域
//document.getElementById("js_prize").style.display = "none";
//2013-10-10 添加 end

//ggk.globalCompositeOperation = 'destination-out';
oGgk.addEventListener('touchstart', eventDown);
oGgk.addEventListener('touchend', eventUp);
oGgk.addEventListener('touchmove', eventMove);
oGgk.addEventListener('mousedown', eventDown);
oGgk.addEventListener('mouseup', eventUp);
oGgk.addEventListener('mousemove', eventMove);
function eventDown(e){

e.preventDefault();
mousedown=true;
prize.show();

}

function eventUp(e){
e.preventDefault();
mousedown=false;
//抽奖次数 zaki
var act_id = $("#act_id").val();
var cookie_seconds = $("#cookie_seconds").val();
if(act_id == '' || typeof(act_id) == 'undefined'){
alert("请刷新页面,再次尝试");
return false;
}
var limit_num = getCookie("pinqu_ggk_"+act_id+"_num");
//记录刮取cookie数 zaki
var is_zj = getCookie("pinqu_ggk_"+act_id+"_is_click");
if(limit_num == ''){
limit_num = 0;
}else{
limit_num = parseInt(limit_num);
}
var act_limit = $("#act_limit").val();
act_limit = parseInt(act_limit);
if(act_limit != '' && act_limit <= limit_num && is_zj == ''){
alert("您已经超过了抽奖次数");
return false;
}
//抽奖次数限制
if(is_zj == ''){
limit_num += 1;
//第一次刮 统计人数
if(limit_num == 1){
people_num(act_id,2);
}
addCookie("pinqu_ggk_"+act_id+"_num",limit_num,cookie_seconds);
addCookie("pinqu_ggk_"+act_id+"_is_click",1,cookie_seconds);
}
//zaki 唯一码
var only_code = getCookie("pinqu_ggk_"+act_id+"_only_code");
for(var i=coordinate.length;i--;){
//判断中奖区域
if(coordinate[i].x >= 40 && coordinate[i].x <= 60 && coordinate[i].y >= 10 && coordinate[i].y <= 30){
//我要领奖
if(only_code != ''){
document.getElementById('btn').style.display = 'inline-block';
//我要领奖
click_btn();
//更爱活动信息
$("#change_content").html("兑奖信息");
$("#ggk_content").html($("#act_info").val());
}
break;
}
}
}

function eventMove(e){
e.preventDefault();
if(mousedown)mouseMove(e, this);
}
function mouseMove(ev) {
var ev = ev || event;
mousePos = mouseCoords(ev), //获取全局坐标
mouse = mouseOver(mousePos),
r = 10; //半径
coordinate.push(mouse);
for(var i=0;i<=r;i++){
for(var j=0;j<=r;j++){
var result1 = r*r - (i*i+j*j);
if(result1>=0){
clear(mouse.x+i,mouse.y+j)
clear(mouse.x-i,mouse.y+j)
clear(mouse.x-i,mouse.y-j)
clear(mouse.x+i,mouse.y-j)
}
}
}
}

/*清除canvas上指定坐标的像素*/
function clear(x,y){

//2013-10-10 注释
//ggk.clearRect(x, y, 1, 1);
//2013-10-10添加
ggk.putImageData(aImagedata, 0, 0, x, y, 1, 1);
}

/*获取鼠标当前坐标 --相对于页面*/
function mouseCoords(ev)
{
if(ev.changedTouches){
return {x:ev.changedTouches[0].pageX,y:ev.changedTouches[0].pageY}

}else{
return {x:ev.pageX, y:ev.pageY}
}
}
/*转换鼠标的坐标为相对于canvas*/
function mouseOver(ev1){
return {
x:ev1.x - left,
y:ev1.y - top
}
}
}

原文地址:https://www.cnblogs.com/qqyuhaitao/p/3408449.html