导航:首页 > 编程语言 > js抽奖系统怎么实现

js抽奖系统怎么实现

发布时间:2021-12-03 09:46:31

js随机抽奖一二三等奖不重复的抽奖逻辑怎么设置

<!DOCTYPEhtml>
<html>
<head>
<title>js随机抽奖一二三等奖不重复的抽奖逻辑怎么设置</title>
<metacharset="UTF-8"/>
<script>
//添加一个随机函数
Math.rand=function(min,max){
functionsubRand(min,max){
min=min?min:0;
max=max?max:9;
varresult=0;
do{
result=Math.random().toString().substr(2,1);
}while(!(result>=min&&result<=max));
returnresult;
}
functiongetBit(maxBit){
maxBit=maxBit?maxBit:max.toString().length;
varresult=[],
count=0;
for(vari=0;i<maxBit;i++){
result.push(subRand());
if(i!=0&&result[i]==result[i-1]){
count++;
}
}
returnmaxBit-count;
}
min=min?min:0;
max=max?max:0;
varresult='',
bit=getBit();
do{
result='';
for(vari=0;i<bit;i++){
result=result+subRand();
}
result=parseInt(result);
}while(!(result>=min&&result<=max));
returnresult;
}
//console.log(Math.rand(0,100));
//LuckDraw抽奖类参数一奖池数组,参数二中奖数量返回中奖索引
functionLuckDraw(pool,numberOfWinners){
varresults=[],
//是否已经中奖
isExists=function(index){
for(vari=0;i<results.length;i++){
if(results[i]==index){
returntrue;
}
}
returnfalse;
},
subLuckDraw=function(){
do{
result=Math.rand(0,pool.length-1);
}while(isExists(result));
returnresult;
}
for(vari=0;i<numberOfWinners;i++){
results.push(subLuckDraw());
}
returnresults;
}
varpool=[
'关',
'张',
'赵',
'马',
'黄',
'曹老板'
];
winners=LuckDraw(pool,3);//返回从奖池中中奖的索引,假设123等奖都只有一名的话各取一个即可
//假设123等奖一等奖1名,二等奖2名,三等奖3名,只需要调用这个函数第二个参数设置为总和6即可
//然后从结果中第一个索引为一等奖23索引为二等奖,456索引为三等奖
console.log(winners);
</script>
</head>
<body>
<script>
for(vari=0;i<winners.length;i++){
document.write(pool[winners[i]]+'恭喜你中了'+(i+1)+'等奖<br/>');
}
</script>
</body>
</html>

Ⅱ js转盘抽奖求解释里面部分代码的原理

应该是界面效果切换代码
costheta = Math.cos(rad);
sintheta = Math.sin(rad);
是js数学函数
el.style.filter 是IE的滤镜函数,其他浏览器应该无效的版
window.navigator.userAgent.indexOf("Chrome")>=1)

是判断当前使权用的浏览器函数,根据不同浏览器调用不同代码来实现效果
其他的不太清楚了

Ⅲ js 九宫格怎么实现顺时针旋转抽奖

用setinterval
,每隔1秒或者2秒,然后写一个自增的
i,i是几就让第几个框亮,当i到9,就把i
置成1,至于框亮,可以改变框的背景色来处理。用js修改。

Ⅳ 抽奖系统怎么做

可以用exel做一个
1、制作中奖名单。

2、生产随机代号,这里用到公式“=round(rand()*11+1,0)”生成1到12之间的随机数,用round函数保留0位小数。

3、通过随机代号,返回中奖者,这里用到函数“=VLOOKUP(E4,A2:B13,2)”表示在A2到B13的范围内,找到E4所对应的第2列的值。

4、最终完成,每按一次F9,就生产一次,也达到了抽奖的目的。

Ⅳ 用html5+js 做一个转盘抽奖怎么做,求源码!

5分给你个程序。。。
自己参考改吧

<input type="button" value="开始旋转" onclick="spin();" style="float: left;" />
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />

<canvas id="wheelcanvas" width="500" height="500"></canvas>
<script type="application/javascript">
var colors = ["#B8D430", "#3AB745", "#029990", "#3501CB",
"#2E2C75", "#673A7E", "#CC0071", "#F80120",
"#F35B20", "#FB9A00", "#FFCC00", "#FEF200"];
var restaraunts = ["北京", "上海", "天津", "南京",
"杭州", "深圳", "武汉", "济南",
"重庆", "大连", "合肥", "郑洲"];

var startAngle = 0;
var arc = Math.PI / 6;
var spinTimeout = null;

var spinArcStart = 10;
var spinTime = 0;
var spinTimeTotal = 0;

var ctx;

function draw() {
drawRouletteWheel();
}

function drawRouletteWheel() {
var canvas = document.getElementById("wheelcanvas");
if (canvas.getContext) {
var outsideRadius = 200;
var textRadius = 160;
var insideRadius = 125;

ctx = canvas.getContext("2d");
ctx.clearRect(0,0,500,500);

ctx.strokeStyle = "black";
ctx.lineWidth = 2;

ctx.font = 'bold 12px sans-serif';

for(var i = 0; i < 12; i++) {
var angle = startAngle + i * arc;
ctx.fillStyle = colors[i];

ctx.beginPath();
ctx.arc(250, 250, outsideRadius, angle, angle + arc, false);
ctx.arc(250, 250, insideRadius, angle + arc, angle, true);
ctx.stroke();
ctx.fill();

ctx.save();
ctx.shadowOffsetX = -1;
ctx.shadowOffsetY = -1;
ctx.shadowBlur = 0;
ctx.shadowColor = "rgb(220,220,220)";
ctx.fillStyle = "black";
ctx.translate(250 + Math.cos(angle + arc / 2) * textRadius, 250 + Math.sin(angle + arc / 2) * textRadius);
ctx.rotate(angle + arc / 2 + Math.PI / 2);
var text = restaraunts[i];
ctx.fillText(text, -ctx.measureText(text).width / 2, 0);
ctx.restore();
}

//Arrow
ctx.fillStyle = "black";
ctx.beginPath();
ctx.moveTo(250 - 4, 250 - (outsideRadius + 5));
ctx.lineTo(250 + 4, 250 - (outsideRadius + 5));
ctx.lineTo(250 + 4, 250 - (outsideRadius - 5));
ctx.lineTo(250 + 9, 250 - (outsideRadius - 5));
ctx.lineTo(250 + 0, 250 - (outsideRadius - 13));
ctx.lineTo(250 - 9, 250 - (outsideRadius - 5));
ctx.lineTo(250 - 4, 250 - (outsideRadius - 5));
ctx.lineTo(250 - 4, 250 - (outsideRadius + 5));
ctx.fill();
}
}

function spin() {
spinAngleStart = Math.random() * 10 + 10;
spinTime = 0;
spinTimeTotal = Math.random() * 3 + 4 * 1000;
rotateWheel();
}

function rotateWheel() {
spinTime += 30;
if(spinTime >= spinTimeTotal) {
stopRotateWheel();
return;
}
var spinAngle = spinAngleStart - easeOut(spinTime, 0, spinAngleStart, spinTimeTotal);
startAngle += (spinAngle * Math.PI / 180);
drawRouletteWheel();
spinTimeout = setTimeout('rotateWheel()', 30);
}

function stopRotateWheel() {
clearTimeout(spinTimeout);
var degrees = startAngle * 180 / Math.PI + 90;
var arcd = arc * 180 / Math.PI;
var index = Math.floor((360 - degrees % 360) / arcd);
ctx.save();
ctx.font = 'bold 30px sans-serif';
var text = restaraunts[index]
ctx.fillText(text, 250 - ctx.measureText(text).width / 2, 250 + 10);
ctx.restore();
}

function easeOut(t, b, c, d) {
var ts = (t/=d)*t;
var tc = ts*t;
return b+c*(tc + -3*ts + 3*t);
}

draw();
</script>

Ⅵ 怎么用html5实现 抽奖效果

做抽奖,用 Epub360!可视化编辑器,封装组件拼接,完成抽奖活动。

Ⅶ 使用JavaScript完成一个抽奖程序,当单击页面上开始抽奖按钮时,在1~36中选取7个互不相同

1~36个数取7个不同的,需要用while循环+随机数去取出7个数。

在while循环里面,可以判断取出来的数(用switch),是否是28,18,8. 如果有输出相应的奖项,如果没有,就输出其它的。然后将这7个数,打印出来就好了。

JavaScript(缩写为JS)是一种高级的、多范式、解释型的编程语言,是一门基于原型、函数先行的语言,它支持面向对象编程、命令式编程以及函数式编程。

它提供语法来操控文本、数组、日期以及正则表达式,不支持I/O(比如网络、存储和图形等),但可以由它的宿主环境提供支持。它已经由ECMA(欧洲计算机制造商协会)通过ECMAScript实现语言的标准化。它被世界上的绝大多数网站所使用,也被世界主流浏览器支持。

Ⅷ 你好,我网站有一个纯js抽奖页面,我已经实现了可抽奖初始次数等于会员金币数(问题里的php代码)

用AJAX吧,每次抽奖之后跟后台进行交互,获取用户抽奖后金币数~同时后台也需要对用户金币数进行校验,每次抽奖后减少用户金币= =`

varM_Money=<?phpecho$cfg_ml->M_Money;?>;
varC_Money=10;
$('button').click(function(){
if(M_Money>=C_Money){
runCup();
$('button').attr("disabled",true);
$.ajax({
url:'choujiang.php',
data:{res:抽奖结果},
method:'POST',
success:function(res){

M_Money=res.M_Money;
$('button').removeAttr("disabled",true);
//抽奖结果通知
//Todo
}
});
}
else{
alert("亲,抽奖次数已用光!充值金币或点击“邀请好友”");
}
})

Ⅸ 怎么做网页抽奖系统

抽奖系统还是注册机系统啊??SINA的BLOG能放ASP??

你做的是什么东西啊....这么神秘.是程序的话应该有开发过加密/解密吧.......

Ⅹ 你知道公司年会抽奖系统是怎么实现的吗

用全能抽奖软件,满足大多数公司年会抽奖的需求,性价比高。L

阅读全文

与js抽奖系统怎么实现相关的资料

热点内容
妖神记之叶紫芸被褥 浏览:781
word空格键biaoji 浏览:788
芭比之公主所有电影 浏览:242
网站放国外服务器一个月多少钱 浏览:427
一女多男的cp古言 浏览:73
hs光流法matlab代码 浏览:239
勾魂恶梦戴波波是谁 浏览:991
啄木鸟电影系列 浏览:44
word2007表格双线变单线 浏览:304
想读编程上什么大学 浏览:507
钉钉图片上传文件夹 浏览:186
求个能看那种的网址 浏览:768
国产影片中文字 浏览:110
主角叫叶尘的系统流小说 浏览:468
谁和她睡了没看懂 浏览:344
女胖胖演过电影 浏览:144
网络通信开发 浏览:185
什么网站看首饰好 浏览:758
ug10图框在哪个文件夹里 浏览:925
一个叫美娜的韩国电影 浏览:231

友情链接