JavaScript 实现彩票中随机数组的获取
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 实现彩票中随机数组的获取的更多相关文章
- shell中一维数组值得获取
(1)数组的定义 root@tcx4440-03:~# a=(1 2 3 4) root@tcx4440-03:~# echo ${a[1]}2 root@tcx4440-03:~# a[0]=1ro ...
- js在数组arr中随机获取count数量的元素
// 在数组arr中随机获取count数量的元素; const getRandomArrayElements = (arr, num) => { // 新建一个数组,将传入的数组复制过来,用于运 ...
- php 从一个数组中随机获取固定数据
<?php /* * * 通过一个标识,从一个数组中随机获取固定数据 * $arr 数组 * $num 获取的数量 * $time 随机固定标识值,一般用固定时间或者某个固定整型 * */ fu ...
- JavaScript中随机打乱一个数组
JavaScript中随机打乱一个数组 function shuffle(arr) { let i = arr.length; while (i) { let j = Math.floor(Math. ...
- js从数组中随机获取n个不重复的数据
做云课堂的作业时遇到一要求,实现刷新页面时显示不同数据,(数组中20个据,页面加载10个).思路就是从0-19中随机生成10个不同的数,让数组取下标输出数据. 下面是在num的范围内生成n个不重复的数 ...
- 前端开发:Javascript中的数组,常用方法解析
前端开发:Javascript中的数组,常用方法解析 前言 Array是Javascript构成的一个重要的部分,它可以用来存储字符串.对象.函数.Number,它是非常强大的.因此深入了解Array ...
- JavaScript jQuery 中定义数组与操作及jquery数组操作
首先给大家介绍javascript jquery中定义数组与操作的相关知识,具体内容如下所示: 1.认识数组 数组就是某类数据的集合,数据类型可以是整型.字符串.甚至是对象Javascript不支持多 ...
- javascript中的数组扩展(一)
javascript中的数组扩展(一) 随着学习的深入,发现需要学习的关于数组的内容也越来越多,后面将会慢慢归纳,有的是对前面的强化,有些则是关于前面的补充. 一.数组的本质 数组是按照次序排 ...
- JavaScript中对数组的操作
原文:JavaScript中对数组的操作 一:数组的使用 1.定义:JavaScript中对数组的定义有两种形式.如: .var arr = [12,3,5,8]; .var arr = new Ar ...
随机推荐
- Cufflinks
Transcriptome assembly and differential expression analysis for RNA-Seq. Cufflinks assembles transcr ...
- PHP中类的继承和构造函数的继承
PHP4.x 版本: PHP 4.x 的构造函数名与类名相同. 子类的构造函数名与子类名相同(废话). 在子类里父类的构造函数不会自动执行. 要在子类里执行父类的构造函数,必须执行类似以下语句: $t ...
- PHP的大括号(花括号{})使用详解
一.不管什么程序,function name(){}, for(){}, ….这太多了,不说也知道什么用了. 二.$str{4}在字符串的变量的后面跟上{}大括号和中括号[]一样都是把某个字符串变量当 ...
- mysql命令导出导入数据库
命令导出数据库: mysqldump -h[主机所在IP] -u[用户名] -p [要导出的数据库]>[导出的路径//[文件名].sql] 命令导入数据库: 1>首先,我们应该在cmd中进 ...
- 【Python基础学习六】函数
1.创建函数 Python中函数的关键字def来定义. def fibs(num): f=[0,1] for i in range(1,num): f.append(f[-1]+f[-2]) retu ...
- C段渗透+cain嗅探
其实吧这篇文件也是一个大概的了解和思路篇...没什么技术含量,但是你可以你可以从思路中来获得;其他的技术都是靠自己去摸索,我说了半天还是别人的,不如自己直接试试,这样效果比我直接告诉你的更加的深刻.. ...
- 【Eclipse】总结自己在工作中经常使用到的Eclipse快捷键
一些我觉得比较有用的快捷键,仅作参考. 1.alt + shift + c :更改方法签名. 2.三次鼠标左键单击: 选中一整行. 3.alt + shift + d/x: 再按t : 运行junit ...
- 前端 js 发送验证码
1. 代码如下: <html> <head> <meta charset="utf-8"> <title></title> ...
- K型热电耦高精度分段线性拟合(C语言)
extern float GetTempOfVolMi(float V){ float K,B; if(0.03947 <= V < 2.02308) //0~50 { K = 24.7 ...
- javaSE基础02
javaSE基础02 一.javac命令和java命令做什么事情? javac:负责编译,当执行javac时,会启动java的编译程序,对指定扩展名的.java文件进行编译,生成了jvm可以识别的字节 ...