js随机抽奖代码(java随机抽奖代码)
js随机抽奖一二三等奖不重复的抽奖逻辑怎么设置
!DOCTYPE?html
html
head
titlejs随机抽奖一二三等奖不重复的抽奖逻辑怎么设置/title
meta?charset="UTF-8"?/
script
//添加一个随机函数
Math.rand?=?function(min,?max){
function?subRand(min,?max){
min?=?min???min?:?0;
max?=?max???max?:?9;
var?result?=?0;
do{
result?=?Math.random().toString().substr(2,?1);
}while(!(result?=?min??result?=?max));
return?result;
}
function?getBit(maxBit){
maxBit?=?maxBit???maxBit?:?max.toString().length;
var?result?=?[],
count?=?0;
for(var?i?=?0;?i??maxBit;?i++){
result.push(subRand());
if(i?!=?0??result[i]?==?result[i?-?1]){
count++;
}
}
return?maxBit?-?count;
}
min?=?min???min?:?0;
max?=?max???max?:?0;
var?result?=?'',
bit?=?getBit();
do{
result?=?'';
for(var?i?=?0;?i??bit;?i++){
result?=?result?+?subRand();
}
result?=?parseInt(result);
}while(!(result?=?min??result?=?max));
return?result;
}
//console.log(Math.rand(0,?100));
//LuckDraw?抽奖类?参数一?奖池数组,?参数二?中奖数量?返回?中奖索引
function?LuckDraw(pool,?numberOfWinners){
var?results?=?[],
//是否已经中奖
isExists?=?function(index){
for(var?i?=?0;?i??results.length;?i++){
if(results[i]?==?index){
return?true;
}
}
return?false;
},
subLuckDraw?=?function(){
do{
result?=?Math.rand(0,?pool.length?-?1);
}while(isExists(result));
return?result;
}
for(var?i?=?0;?i??numberOfWinners;?i++){
results.push(subLuckDraw());
}
return?results;
}
var?pool?=?[
'关',
'张',
'赵',
'马',
'黄',
'曹老板'
];
winners?=?LuckDraw(pool,?3);?//返回从奖池中?中奖的索引,假设123等奖都只有一名的话各取一个即可
//假设123等奖?一等奖?1名,?二等奖?2名,?三等奖?3名,?只需要调用这个函数第二个参数设置为总和?6?即可
//然后从结果中第一个索引为一等奖?23?索引为二等奖?,?456索引为?三等奖
console.log(winners);
/script
/head
body
script
for(var?i?=?0;?i??winners.length;?i++){
document.write(pool[winners[i]]?+?'?恭喜你中了'?+?(i?+?1)?+?'等奖br?/');
}
/script
/body
/html
js实现可键盘控制的简单抽奖程序
本文实例为大家分享了js抽奖程序的编写代码,以及编写注意事项,感兴趣的小伙伴们可以参考一下
代码:
!DOCTYPE
html
html
lang="en"
head
meta
charset="UTF-8"
title简单抽奖(可用键盘)/title
style
*{margin:0;padding:0;}
.box{width:
400px;height:
300px;margin:50px
auto;background:
red}
.title{color:
#fff;font-size:
30px;font-weight:700px;padding:
50px
0;text-align:
center;height:40px;}
.btm{text-align:
center;padding:20px
0;}
.btm
a{display:
inline-block;width:
120px;height:60px;line-height:
60px;background:
#FEF097;margin:0
10px;text-decoration:
none;}
/style
script
var
data=['Iphone','Ipad','笔记本','相机','谢谢参与','充值卡','购物券'],
timer=null,//定时器
flag=0;//阻止多次回车
window.onload=function(){
var
play=document.getElementById('play'),
stop=document.getElementById('stop');
//
开始抽奖
play.onclick=playFun;
stop.onclick=stopFun;
//
键盘事件
document.onkeyup=function(event){
event
=
event
||
window.event;
//
回车键的code值:13
if(event.keyCode==13){
if(flag==0){
playFun();
flag=1;
}else{
stopFun();
flag=0;
}
}
}
function
playFun(){
var
title=document.getElementById('title');
var
play=document.getElementById('play');
clearInterval(timer);
timer=setInterval(function(){
var
random=Math.floor(Math.random()*data.length);
title.innerHTML=data[random];
},60);
play.style.background='#999';
}
function
stopFun(){
clearInterval(timer);
var
play=document.getElementById('play');
play.style.background='#FEF097';
}
}
/script
/head
body
div
class="box"
div
class="title"
id="title"淘家趣抽奖/div
div
class="btm"
a
href="javascript:;"
id="play"开始/a
a
href="javascript:;"
id="stop"停止/a
/div
/div
/body
/html
注意点:
1.随机数,取数组的其中一个;取0-n之间:Math.random()*(n+1)
2.定时器,开始抽奖时要停止前面的一次抽奖,不然会定时器重叠
3.按键操作,要判断是抽奖进行中,还是未开始,所有设置了变量
flag
想要学习更多关于javascript抽奖功能,请参考此专题:javascript实现抽奖功能
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
求一个用javascript编写的抽奖代码?可以循环抽奖!
IE打开
===================
html
head
meta http-equiv="Content-Language" content="zh-cn"
meta http-equiv="Content-Type" content="text/html; charset=gb2312"
titleJs模拟抽奖的效果/title
/head
body
style type="text/css"
.a1{
position:relative;
font-family:Verdana;
font-size:20px;
color:#889978;
}
/style
script language="JavaScript"
function lotto(){
if (!document.all !document.layers)
return
for (j=1; j 48; j++)//stop zero!?
{
var a=Math.round(Math.random()*j+1);
var b=Math.round(Math.random()*j+1);
var c=Math.round(Math.random()*j+1);
var d=Math.round(Math.random()*j+1);
var e=Math.round(Math.random()*j+1);
var f=Math.round(Math.random()*j+1);
}
var x=new Array(a,b,c,d,e,f);
if ((x[0] == x[1]) || (x[0] == x[2]) || (x[0] == x[3]) || (x[0] == x[3]) || (x[0] == x[5]) ||
(x[1] == x[2]) || (x[1] == x[3]) || (x[1] == x[4]) || (x[1] == x[5]) ||
(x[2] == x[3]) || (x[2] == x[4]) || (x[2] == x[5]) ||
(x[3] == x[4]) || (x[3] == x[5]) ||
(x[4] == x[5]) || (x[5] == x[4]))
lotto();//restart
else
{
var y=x.toString();
var z=y.split(',');
for (i=0; i z.length; i++)
{
z[i]=z[i]+" ";
if (z[i].length 3)//add '0' to singles
z[i]="0"+z[i]+" ";
}
z=z.sort();
Nos=z[0]+z[1]+z[2]+z[3]+z[4]+z[5];
if (document.all)
{document.all.layer1.innerHTML=Nos;}//OR Z!
else if (document.layers)
{
document.layers.layer1.document.open();
document.layers.layer1.document.write("span style='position:absolute;top:0px;left:0px;font-family:Verdana;font-size:20px;color:#888888;text-align:center' "+Nos+"/span");
document.layers.layer1.document.close();
}
T=setTimeout('lotto()',10);
}
}
//--
/script
table border='0' width=250 height=50
tr valign='middle'
td align='center'
form name=form
input type=button value='点击看看你有没有中将' onClick="lotto(),setTimeout('clearTimeout(T)',3000)"
/form
span id=layer1 class=a1Result/span
/td
/tr
/table
/body
/html
使用JavaScript完成一个抽奖程序,当单击页面上开始抽奖按钮时,在1~36中选取7个互不相同
1~36个数取7个不同的,需要用while循环+随机数去取出7个数。
在while循环里面,可以判断取出来的数(用switch),是否是28,18,8. 如果有输出相应的奖项,如果没有,就输出其它的。然后将这7个数,打印出来就好了。
JavaScript(缩写为JS)是一种高级的、多范式、解释型的编程语言,是一门基于原型、函数先行的语言,它支持面向对象编程、命令式编程以及函数式编程。
它提供语法来操控文本、数组、日期以及正则表达式,不支持I/O(比如网络、存储和图形等),但可以由它的宿主环境提供支持。它已经由ECMA(欧洲计算机制造商协会)通过ECMAScript实现语言的标准化。它被世界上的绝大多数网站所使用,也被世界主流浏览器支持。
JS随机抽取代码的修改
var alldata = "前端开发 李XX,java工程师 王xx,网络管理员 刘x,DBA 李x,UI设计师 胡xx,总监 王xx"
修改这个就可以了呀,里面文字用逗号隔开,
原理就是 将这个先变成数组,然后计算这个数组的长度。
最后执行一个定时操作,每次随机取数组里的一个名称并将他赋值给id为oknum的那个DIV里
。
点击停止后id为showresult的一个input 的value值修改为 当前id为oknum的那个DIV里的TEXT内容
不过您的代码里没发现有id为showresult的元素。
js随机取号 代码问题
html
head
title随机抽奖程序/title
meta http-equiv="Content-Type" content="text/html; charset=gb2312" /
/head
body
script type="text/javascript"
var alldata = "a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z"
var alldataarr = alldata.split(",");
var num = alldataarr.length-1 ;
var timer;
var result = [];
function change() {
alldataarr[GetRnd()];
}
function start() {
clearInterval(timer);
timer = setInterval('change()', 10);
}
function ok() {
clearInterval(timer); document.getElementById("showresult").value = document.getElementById("oknum").innerText;
}
function GetRnd() {
result = [];
for (var i = 0; i 4; i++) {
var ranNum = Math.ceil(Math.random() * 25); //生成一个0到25的数字
//大写字母'A'的ASCII是65,A~Z的ASCII码就是65 + 0~25;然后调用String.fromCharCode()传入ASCII值返回相应的字符并push进数组里
result.push(String.fromCharCode(65 + ranNum));
}
document.getElementById('oknum').innerText = result.toString();
}
/script
div
div id="oknum"
请单击开始
/div
button onclick="start()" accesskey="s"开始/button
button onclick="ok()" accesskey="o"停止/button 您的选择是:
input type="text" id="showresult" value="" /
/div
/body
/html