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 ...
随机推荐
- C/C++学习链接
C/C++堆和栈的区别:http://blog.csdn.net/hairetz/article/details/4141043
- PHP安装模式cgi、fastcgi、php_mod比较
先了解一下普通cgi的工作流程: web server收到用户请求,并把请求提交给cgi程序,cgi程序根据请求提交的参数作相应处理,然后输出标准的html语句返回给web server,web se ...
- Shell入门教程:流程控制(1)命令的结束状态
在Bash Shell中,流程控制命令有2大类:“条件”.“循环”.属于“条件”的有:if.case:属于“循环”的有:for.while.until:命令 select 既属于“条件”,也属于“循环 ...
- java基础知识(二)字符串处理
字符串是程序开发中使用最为频繁,因此为了工作的高效和作为一名想进阶的程序员,了解并掌握字符串的处理显得尤为重要.java为我们提供了String.StringBuffer.StringBuilde三个 ...
- 2.2WebApi路由在Action上
这篇文章描述 ASP.NET Web API 如何将 HTTP 请求路由到特定的操作在控制器上. 有关路由的高级别概述,请参见ASP.NET Web API 的路由. 本文着眼于路由进程的详细信息.如 ...
- 倾力总结40条常见的移动端Web页面问题解决方案
1.安卓浏览器看背景图片,有些设备会模糊. 用同等比例的图片在PC机上很清楚,但是手机上很模糊,原因是什么呢? 经过研究,是devicePixelRatio作怪,因为手机分辨率太小,如果按照分辨率 ...
- 理解记忆三种常见字符编码:ASCII, Unicode,UTF-8
理解什么是字符编码? 计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理.最早的计算机在设计时采用8个比特(bit)作为一个字节(byte),所以,一个字节能表示的最大的整数就是25 ...
- jstl param url redirect import
import标签 import标签用来导入其他页面 属性: * url :引入页面的路径 * context :工程名 * var :将引入的页面保存到一个变量中 * scope :保存到一个作用域中 ...
- Java 类初始化顺序
总的来说: 父类静态代码块->子类静态代码块->子类main()方法->父类构造块->父类构造方法->子类构造块->子类构造方法 注意,就算是静态的方法也需要调用才 ...
- error LNK2019 无法解析的外部符号 __imp__accept@12
用VS2015编译CuraEngine,出现如下错误: PlatformSocket.obj error LNK2019 无法解析的外部符号 __imp__accept@12 PlatformSo ...