关闭

九宫格抽奖停止位置的设置

标签: 九宫格jquery
1588人阅读 评论(2) 收藏 举报
分类:

控制九宫格抽奖停止

        网上有很多文章介绍九宫格抽奖,最近在做一个活动,正好用到了九宫格抽奖。网上的文章中都提供了比较完整的js和html,只需要将js、html复制下来,添加需要的jQuery的引用(下载很简单),放到环境中,几乎都能跑起来。

         但在开发中,发现一个问题,网上的js提供了九宫格旋转的控制代码,同时也有一个随机数的生产,来达到随机抽奖的效果。而真正在开发中,这个随机数它是交给使用者(开发人员)来控制的,也就是说,我们先生产一个随机数,将我们自己生成的随机数与我们自己设置的奖品对应好,再将我们的随机数传给它,进而控制九宫格的停止位置。

         在使用中,只需做两点设置:(完整代码请去到jquery——九宫格大转盘抽奖

1.注释部分代码(注掉,让其失效)

		} else if (lottery.times == lottery.cycle) {
//			 var index = Math.random() * (lottery.count) | 0;
//			lottery.prize = index;
		} else {</span>
2.设置 lottery.prize的值

	// 中奖,奖品对应
	var prize = -1;
	var content = "";
	if (data.rewardid == "340") {
		lottery.prize = 0;
		prize = 0;
		content = "礼物A";
	} else if (data.rewardid == "341") {
		lottery.prize = 1;
		prize = 1;
		content = "礼物B";
		/* ... */
	} else if (data.rewardid == "342") {
		lottery.prize = 2;
		prize = 2;
		content = "礼物C";
		/* ... */
	} else if (data.rewardid == "343") {
		lottery.prize = 3;
		prize = 3;
		content = "礼物D";
		/* ... */
	} else if (data.rewardid == "344") {
		lottery.prize = 4;
		prize = 4;
		content = "礼物E";
		/* ... */
	} else if (data.rewardid == "345") {
		lottery.prize = 5;
		prize = 5;
		content = "礼物F";
	} else if (data.rewardid == "346") {
		lottery.prize = 6;
		prize = 6;
		content = "礼物G";
		/* ... */
	} else if (data.rewardid == "347") {
		lottery.prize = 7;
		prize = 7;
		content = "礼物H";
		/* ... */
	}
	// 设置 转动节奏
	lottery.speed = 100;
	// 调用 转动效果
	roll();
	// 抽奖按钮恢复可用状态
	click = true;
	var field = "恭喜您!中了"+content+"大奖!";
	return false;</span>

这样就能实现抽奖控制了。

        在这里,我有一个问题,就是,我曾试着往roll()方法中传递参数,这个参数的作用就是用于控制停止位置的,但失败了。从语法逻辑上,感觉是行得通,实践未达到效果。具体修改两个位置:

(一):

	// 设置 转动节奏
	lottery.speed = 100;
	var stopPoint = prize;
	roll(stopPoint);
	// 抽奖按钮恢复可用状态
	click = true;
	var field = "恭喜您!中了"+content+"大奖!";
	return false;</span>
(二)
	function roll(stopPoint){
		//……
		} else if (lottery.times == lottery.cycle) {
			 //var index = Math.random() * (lottery.count) | 0;
			lottery.prize = stopPoint;
		} else {
		//……
	}</span>
结果是:通过传参法,无法实现控制,直接没反应。有大神路过的,请指点一二。谢谢!

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:186017次
    • 积分:6163
    • 等级:
    • 排名:第4237名
    • 原创:138篇
    • 转载:6篇
    • 译文:0篇
    • 评论:1681条
    博客专栏
    最新评论