1.效果图:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Math.random方法彩票随机数的生成</title>
</head>
<body>
<!-- 设置样式 -->
<input type="text" id="text">
<button id="btnGo">开始</button>
<button id="btnStop">获取随机数组</button> <script type="text/javascript"> //获取节点
var btnGo = document.getElementById("btnGo");
var btnStop = document.getElementById("btnStop");
var text = document.getElementById("text");
//定义生成最小到最大值的随机函数
function rand(min,max){
return parseInt(Math.random()*( max - min + 1) + min);
} function start(min,max,length){
//定义空数组
var arr = []; while(arr.length<length){
//生成一个随机数prem
var prem=rand(min,max);
//判断生成的随机数prem是否在数组arr里,果然不在,就将这个随机数插入到数组里,如果在,执行下一次循环
if(arr.indexOf(prem) == -1){ arr.push(prem);
}
}
//返回数组arr
return arr;
} var timer = 0;
//单击开始按钮生成随机数组
btnGo.onclick =function(){
//清除
clearInterval(timer);
timer = setInterval(function() {
text.value = start(1,33,7);
},50)
}
//单击停止按钮获取一组随机数
btnStop.onclick =function(){
clearInterval(timer);
} </script>
</body>
</html>

2.复杂版

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Math.random方法彩票随机数的生成-升级版</title>
<style type="text/css">
*{
margin: 0;
padding: 0;
}
.wrap{
width: 600px;
height: 300px;
background-color: #f8e2e2;
margin: 0 auto;
}
.list{
width: 440px;
/*border: 1px solid red;*/
margin: 0px auto;
}
.list li{
list-style: none;
width: 30px;
height: 30px;
display: inline-block;
border: 1px solid #fff;
border-radius: 30px;
line-height: 30px;
text-align: center;
margin: 15px auto 15px;
/*background-color: #f8f8f8;*/
/*background-color: rgba(255,255,255,1);*/
}
.wrap p{
text-align: center;
}
.wrap p button{
text-align: center;
width: 100px;
}
#setBtn{
background-color: red;
color: #fff;
border: none;
}
.active{
background-color: red;
color: #fff;
}
</style>
</head>
<body>
<div class="wrap" id="wrap">
<ul class="list">
<li>01</li>
<li>02</li>
<li>03</li>
<li>04</li>
<li>05</li>
<li>06</li>
<li>07</li>
<li>08</li>
<li>09</li>
<li>10</li>
<li>11</li>
<li>12</li>
<li>13</li>
<li>14</li>
<li>15</li>
<li>16</li>
<li>17</li>
<li>18</li>
<li>19</li>
<li>20</li>
<li>21</li>
<li>22</li>
<li>23</li>
<li>24</li>
<li>25</li>
<li>26</li>
<li>27</li>
<li>28</li>
<li>29</li>
<li>30</li>
<li>31</li>
<li>32</li>
<li>33</li>
</ul>
<p>
<button id="setBtn">随机红球</button>
<button id="clearBtn">清空</button>
</p>
</div>
<script type="text/javascript">
var ballList = document.getElementById("wrap").getElementsByTagName("li");
var setBtn =document.getElementById("setBtn");
var clearBtn =document.getElementById("clearBtn");
//定义随机数组
function rnd(min, max) {
return parseInt(Math.random()*(max - min + 1) + min);
}
function rndArray(min, max, length) {
//先定义一个空数组
var arr = [];
//生成一个长度为7的数组
while(arr.length < length) {
//生成一个随机数
var rand = rnd(min, max);
//判断生成的随机数rand是否在数组arr里,果然不在,就将这个随机数插入到数组里,如果在,执行下一次循环
if(arr.indexOf(rand) == -1) {
arr.push(rand);
}
}
arr.sort(function(a, b){return a - b;})
return arr;
} function selectBall() {
for(var j = 0; j < ballList.length; j++) {
ballList[j].className = "";
}
var arr = rndArray(1,33,7);
// console.log(arr);
for(var i = 0; i < arr.length; i++) {
ballList[arr[i]-1].className = "active";
}
}
var timer = 0;
setBtn.onclick = function() {
clearTimeout(timer);
timer = setInterval(selectBall,100);
setTimeout(function() {
clearTimeout(timer);
},3000)
// clearTimeout(timer);
} clearBtn.onclick = function() {
clearTimeout(timer);
for(var j = 0; j < ballList.length; j++) {
ballList[j].className = "";
}
}
</script>
</body>
</html>

JavaScript 实现彩票中随机数组的获取的更多相关文章

  1. shell中一维数组值得获取

    (1)数组的定义 root@tcx4440-03:~# a=(1 2 3 4) root@tcx4440-03:~# echo ${a[1]}2 root@tcx4440-03:~# a[0]=1ro ...

  2. js在数组arr中随机获取count数量的元素

    // 在数组arr中随机获取count数量的元素; const getRandomArrayElements = (arr, num) => { // 新建一个数组,将传入的数组复制过来,用于运 ...

  3. php 从一个数组中随机获取固定数据

    <?php /* * * 通过一个标识,从一个数组中随机获取固定数据 * $arr 数组 * $num 获取的数量 * $time 随机固定标识值,一般用固定时间或者某个固定整型 * */ fu ...

  4. JavaScript中随机打乱一个数组

    JavaScript中随机打乱一个数组 function shuffle(arr) { let i = arr.length; while (i) { let j = Math.floor(Math. ...

  5. js从数组中随机获取n个不重复的数据

    做云课堂的作业时遇到一要求,实现刷新页面时显示不同数据,(数组中20个据,页面加载10个).思路就是从0-19中随机生成10个不同的数,让数组取下标输出数据. 下面是在num的范围内生成n个不重复的数 ...

  6. 前端开发:Javascript中的数组,常用方法解析

    前端开发:Javascript中的数组,常用方法解析 前言 Array是Javascript构成的一个重要的部分,它可以用来存储字符串.对象.函数.Number,它是非常强大的.因此深入了解Array ...

  7. JavaScript jQuery 中定义数组与操作及jquery数组操作

    首先给大家介绍javascript jquery中定义数组与操作的相关知识,具体内容如下所示: 1.认识数组 数组就是某类数据的集合,数据类型可以是整型.字符串.甚至是对象Javascript不支持多 ...

  8. javascript中的数组扩展(一)

     javascript中的数组扩展(一) 随着学习的深入,发现需要学习的关于数组的内容也越来越多,后面将会慢慢归纳,有的是对前面的强化,有些则是关于前面的补充. 一.数组的本质    数组是按照次序排 ...

  9. JavaScript中对数组的操作

    原文:JavaScript中对数组的操作 一:数组的使用 1.定义:JavaScript中对数组的定义有两种形式.如: .var arr = [12,3,5,8]; .var arr = new Ar ...

随机推荐

  1. UVA-11991 Easy Problem from Rujia Liu?

    Problem E Easy Problem from Rujia Liu? Though Rujia Liu usually sets hard problems for contests (for ...

  2. 利用PHP的register_shutdown_function来记录PHP的输出日志,模拟析构函数

    最近在做的一个项目,由于全是通过远程HTTP请求来调用PHP的接口程序. 接收到的参数和返回的内容对开发人员来说都是未知不可见的. 虽然可以通过直接在脚本中模拟请求,但由于实际环境复杂的多,调试极其不 ...

  3. 在Linux上挂载Windows共享文件夹,如何开机自动挂载(mount)?

    按照一般的思路,我们先将文件夹挂载上去,命令如下: mkdir /mnt/share_software mount //192.9.206.43/share_software /mnt/share_s ...

  4. MySQL分库分表的一些技巧

    分表是分散数据库压力的好方法. 分表,最直白的意思,就是将一个表结构分为多个表,然后,可以再同一个库里,也可以放到不同的库. 当然,首先要知道什么情况下,才需要分表.个人觉得单表记录条数达到百万到千万 ...

  5. Android studio 显示代码行号 设置

    首先我们打开我们的Android Studio.   这时会弹出setting页面,我们选择show line numbers然后点击确定按钮.   此时我们就可以看到代码左侧显示出行号了   我们可 ...

  6. .NET 强引用与弱引用

    强引用      如果应用程序的代码可以访问一个正由该程序使用的对象,垃圾回收器就不能收集该对象, 那么,就认为应用程序对该对象具有强引用.      要建立强引用并重新使用该对象,请将 WeakRe ...

  7. 根据字体计算CGRect

    UILabel *label = [[UILabel alloc]init]; label.numberOfLines = ;//多行显示 label.backgroundColor = [UICol ...

  8. JAVA实现 springMVC方式的微信接入、实现消息自动回复

    前段时间小忙了一阵,微信公众号的开发,从零开始看文档,踩了不少坑,也算是熬过来了,最近考虑做一些总结,方便以后再开发的时候回顾,也给正在做相关项目的同学做个参考. 思路 微信接入:用户消息和开发者需要 ...

  9. 协同过滤和简单SVD优化

    协同过滤(collaborative filtering) 推荐系统: 百度百科的定义是:它是利用电子商务网站向客户提供商品信息和建议,帮助用户决定应该购买什么产品,模拟销售人员帮助客户完成购买过程主 ...

  10. 验证启用了不安全的HTTP方法

    安全风险:       可能会在Web 服务器上上载.修改或删除Web 页面.脚本和文件. 可能原因:       Web 服务器或应用程序服务器是以不安全的方式配置的. 修订建议:       如果 ...