js简单抽奖代码

 更新时间:2015年01月16日 17:42:56   投稿:mdxy-dxy  
年底了各个公司都有抽奖活动,我也写了一个超级简单的代码来实现抽奖效果,这里没有华丽的Css3效果,但却有短小精悍的js代码。

核心:js的Math对象和Array对象

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>random</title>
 <style>
  #awardListDom{width: 100%;}
 </style>
</head>
<body>
 <label for="awardListDom">奖项列表</label><br>
 <input type="text" value="" id="awardListDom"> <br>
 <label for="num">抽到的奖</label><br>
 <input type="text" value="" id="num"> <br>
 <button id="submit">开始抽奖</button>
 <script>
  /* 
  * 思路:随机抽奖,抽一个奖项便减少一个
  * Math 对象方法:http://www.w3school.com.cn/jsref/jsref_obj_math.asp
  *  -random():返回 0 ~ 1 之间的随机数。
  *  -floor():获取整数
  * 数组操作:
  *  - splice(x,y); x:起始位置, y:获取并删除个数
  */

  function random(min,max){
    return Math.floor(min+Math.random()*(max-min));
  }
  var awardListDom=document.getElementById("awardListDom"),
  num=document.getElementById("num"),
  submit=document.getElementById("submit");
  var awardList=["一等奖","二等奖","二等奖","三等奖","三等奖","三等奖","鼓励奖","鼓励奖","鼓励奖","鼓励奖","谢谢参与","谢谢参与","谢谢参与","谢谢参与","谢谢参与","谢谢参与"];

  awardListDom.value=awardList;
  submit.onclick=function(){
   //引用数组
   var oldArray=awardList;
   var rNum=random(0,oldArray.length);
   
   if(oldArray.length<1){
    awardListDom.value="活动结束";
    num.value="活动结束";
   }
   else{
    num.value=oldArray[rNum];
    oldArray.splice(rNum,1);
    awardListDom.value=oldArray;
   }
  }
 </script>
</body>
</html>

demo:http://demo.jb51.net/js/2015/choujiang/

github:https://github.com/litengdesign/award

相关文章

  • 前端JS获取URL参数的4种方法总结

    前端JS获取URL参数的4种方法总结

    通过url传递参数是我们在开发中经常用到的一种传参方法,下面这篇文章主要给大家介绍了关于前端JS获取URL参数的4种方法,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2022-04-04
  • 来访统计

    来访统计

    来访统计...
    2006-11-11
  • 钉钉小程序web-view内嵌H5页面并实现通信

    钉钉小程序web-view内嵌H5页面并实现通信

    本文主要介绍了钉钉小程序web-view内嵌H5页面并实现通信,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-05-05
  • JS产生随机数的用法小结

    JS产生随机数的用法小结

    本文给大家分享js产生随机数的用法小结,非常不错,具有参考借鉴价值,感兴趣的朋友一起看看吧
    2016-12-12
  • 一道超经典js面试题Foo.getName()的故事

    一道超经典js面试题Foo.getName()的故事

    Foo.getName算是一道比较老的面试题了,大致百度了一下在17年就有相关文章在介绍它,下面这篇文章主要给大家介绍了关于一道超经典js面试题Foo.getName()的相关资料,需要的朋友可以参考下
    2022-03-03
  • 原生js封装运动框架的示例讲解

    原生js封装运动框架的示例讲解

    下面小编就为大家带来一篇原生js封装运动框架的示例讲解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-10-10
  • js实现下载(文件流式)方法详解与完整实例源码

    js实现下载(文件流式)方法详解与完整实例源码

    这篇文章主要介绍了js实现下载(文件流式)的方法,需要的朋友可以参考下
    2022-12-12
  • bootstrap插件treeview实现全选父节点下所有子节点和反选功能

    bootstrap插件treeview实现全选父节点下所有子节点和反选功能

    这篇文章主要为大家详细介绍了bootstrap插件treeview实现全选父节点下所有子节点、反选功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • ES6学习笔记之map、set与数组、对象的对比

    ES6学习笔记之map、set与数组、对象的对比

    这篇文章主要给大家介绍了关于ES6学习笔记之map、set与数组、对象对比的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2018-03-03
  • JavaScript函数的使用教程

    JavaScript函数的使用教程

    这篇文章主要介绍了JavaScript函数的使用教程,JavaScript函数是被设计为执行特定任务的代码块。JavaScript函数会在某代码调用它时被执行。文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07

最新评论