求一个用javascript编写的抽奖代码?可以循环抽奖!

JavaScript011

求一个用javascript编写的抽奖代码?可以循环抽奖!,第1张

IE打开

===================

<html>

<head>

<meta http-equiv="Content-Language" content="zh-cn">

<meta http-equiv="Content-Type" content="text/htmlcharset=gb2312">

<title>Js模拟抽奖的效果</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=1j <48j++)//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=0i <z.lengthi++)

{

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:absolutetop:0pxleft:0pxfont-family:Verdanafont-size:20pxcolor:#888888text-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=a1>Result</span>

</td>

</tr>

</table>

</body>

</html>

本文实例为大家分享了js抽奖程序的编写代码,以及编写注意事项,感兴趣的小伙伴们可以参考一下

代码:

<!DOCTYPE

html>

<html

lang="en">

<head>

<meta

charset="UTF-8">

<title>简单抽奖(可用键盘)</title>

<style>

*{margin:0padding:0}

.box{width:

400pxheight:

300pxmargin:50px

autobackground:

red}

.title{color:

#ffffont-size:

30pxfont-weight:700pxpadding:

50px

0text-align:

centerheight:40px}

.btm{text-align:

centerpadding:20px

0}

.btm

a{display:

inline-blockwidth:

120pxheight:60pxline-height:

60pxbackground:

#FEF097margin:0

10pxtext-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实现抽奖功能

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

应该是界面效果切换代码

costheta = Math.cos(rad)

sintheta = Math.sin(rad)

是js数学函数

el.style.filter 是IE的滤镜函数,其他浏览器应该无效的

window.navigator.userAgent.indexOf("Chrome")>=1)

是判断当前使用的浏览器函数,根据不同浏览器调用不同代码来实现效果

其他的不太清楚了