《双陈记》情侣博客

位置:主页 > IT那点事 > js抽奖程序

js抽奖程序

     公司周年庆要到了,又要搞去年一样的抽奖活动。以前部门李老大搞过一个抽奖程序,我研究了一下,没懂,程序应该是JS的,取数又没有从数据库里取,但又有很多ASP代码,我就晕了,实现功能上不能连续点击抽奖,一次抽奖完后,不能立即执行下一次,只有刷新之后才可以,苏老大说这不科学,让我研究研究,还要避免数据的重复。
    我就开始折腾起来了。之前收集过一个简单的js抽奖代码,但数据会重复。我自己研究了半天,没搞定,想起CSDN了,就去CSDN上求助了,贴出代码,过了1天,再去看看,果真有高人解答了,小弟那个激动啊。马不停蹄去试了试,结果还让人欣慰啊,重复问题解决了。然后就用抽奖的数据去试试,就不行了,抽奖数据是从ERP系统里导出来的,数据量挺大,格式又有问题。我又想到了导出成TXT,用notepad改改格式,几经折腾,又在CSDN上找到了notepad清除换行符的办法。最终基本功能实现了,CSDN是个好地方啊,对于我们这种小菜鸟来说那就是幸福之地,感谢那些CSDN的高手们啊。
代码如下:

<html> 

<title>随机抽奖程序</title> 

<head><meta http-equiv=Content-Type content=”text/html; charset=gb2312″> 

</head> 

<body><script type=”text/javascript”><!– 

var alldata = “1,7,4,8,3,2, ” //抽奖数据,以逗号分隔 

var alldataarr = alldata.split(“,”) 

var num = alldataarr.length-1 

var timer 

function change(){ document.getElementById(“oknum”).innerHTML = alldataarr[GetRnd(0,num)]; 

function start(){ 

clearInterval(timer); 

timer = setInterval(‘change()’,10); //随机数据变换速度,越小变换的越快 

function ok(){ 

clearInterval(timer); 

var val = document.getElementById(“oknum”).innerText;

document.getElementById(“showresult”).value=val;

alldata =  alldata.replace(new RegExp(val+’,\?’),”);

alldataarr = alldata.split(“,”);

num = alldataarr.length-1 ;

function GetRnd(min,max){ 

return parseInt(Math.random()*(max-min+1)); 

// –></script> 

<div id=”oknum” name=”oknum” >请单击开始抽奖</div> 

<button onClick=”start()” accesskey=”s”>开始抽奖(<U>S</U>)</button> 

<button onClick=”ok()” accesskey=”o”>停止(<U>O</U>)</button> 

<input type=”text” id=”showresult” value=””> 

</body> 

</html>



无觅相关文章插件

已经有4位童鞋留言了,还不来盖楼!

  1. panada003

    越来越洋气啦,现在都研究JS啦,兄弟佩服啊……

  2. panada003

    我把代码COPY 来保存成一个HTML文件,斗显示个开始抽奖和停止,如何调用参加抽奖的数据??太洋气啦呀

love730.com
To:双陈记

 疑问 冷笑 悲伤 坏蛋 感叹 微笑 脸红 大笑 吃惊 惊讶 困惑 酷 大声笑 恼火 古怪

您还可以输入300个字插入图片