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 ...
随机推荐
- table td 文字超出显示省略号
.autocut { width:250px; overflow:hidden; white-space:nowrap; text-overflow:ellip ...
- $_SERVER["SCRIPT_NAME"]、$_SERVER["PHP_SELF"]、$_SERVER["QUERY_STRING"]、$_SERVER["REQUEST_URI"]
1.$_SERVER["SCRIPT_NAME"] 说明:包含当前脚本的路径 2.$_SERVER["PHP_SELF"] 说明:当前正在执行脚本的文件名 3. ...
- PhpStorm 2016.3 For Mac 重大里程碑更新 -- 终于解决了不能输入中文标点符号的重大bug
PhpStorm 2016.3 For Mac 重大里程碑更新 1.[终于解决了]不能输入中文标点符号的重大bug,如 逗号“,”.“.”: 2.可以在一个窗体中,同时打开多个项目: 3.其他... ...
- thinkphp表单自动验证
ThinkPHP框架表单验证 对注册到test表的表单进行验证 在注册之前要对表单进行验证: 用户名非空验证,两次输入密码必须一致即相等验证,年龄在18~50之间即范围验证,邮箱格式正则验证. 自动验 ...
- Proj.4坐标系统创建参数
Proj.4坐标系统创建参数 本文由乌合之众lym瞎编,欢迎转载blog.cnblogs.net/oloroso 本文原文地址(https://github.com/OSGeo/proj.4/wiki ...
- Magento 新增字段的值读写丢失原因
某实体新增字段handreturn_status,欲操作之: $order_info = Mage::getModel('sales/order')->load($order_id); //se ...
- jquery 键盘回车事件
<input id="search" placeholder="输入要领用的资产条码" id="scanCode" type=&quo ...
- [转]字符编码笔记:ASCII,Unicode和UTF-8
转自:http://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.html 作者: 阮一峰 日期: 2007年10月28日 今天中午, ...
- 打开APK里的AndroidManifest.xml乱码
直接解压apk,打开AndroidManifest.xml显示乱码,因为这里面是二进制字符,和打开文件的编辑器无关.(也可以用ultraedit打开查看,有明文显示.只是看起来搜起来不是很方便而已) ...
- way.js - 轻量级、持久化的双向绑定JS库
AngularJS的双向绑定一直为人称道,但使用AngularJS需要对页面组件化,学习成本还是很高的. 本文源自 https://github.com/gwendall/way.js 边学边译. 使 ...