今天简单介绍一下用html,javascript来模拟双色球彩票选择器。
双色球彩票规则:由6个红球和1个蓝球组成,其中6个红球是从1~33中随机选出的不重复的6个数,从小到大一次排列;蓝球是1~16随机生成的一个数
1、创建红球数组,随机生成1~33的6个不重复的数字,并放入红球数组中,2、将数组中6个数字从小到大进行排列 3、将数组中的数字依次放入6个红球中,4、最后将随机生成的1~16中的一个数字放入最后的蓝球中。效果如图所示:
 
首先用css进行简单的样式设置

用javascript来模拟彩票生成

1、循环生成7个球放到div中,经过简单的样式设置就是我们看到的6个红球和一个蓝球;

2、从1~33中随机得到不重复的6个数字,从小到大排列后,放入红球中

创建函数得到随机红球

function getRandomRedBall() {
var array = [];  //创建数组用来存放随机生成的数字
var array1 = [];//创建对比数组用来判断生成的随机数是否重复
for (var i = 0; i < 6; i++) {
do { // 用do-while循环首先生成一个随机数
var number = Math.floor(Math.random() * 33 + 1); // 随机生成1~33的一个随机数
} while (array1[number] !== undefined);  // 用对比数组来判断生成的数字是否重复;
array1[number] = '';

(简单说一下原理:假如生成第一个数字5,由于array1[5] 没有定义,因此不会再执行do-while ,循环进行后面的操作,array1[5] = '';就已经定义了,并放入数组array[]中;完成for的第一次循环,

第二个数字如果还是5,则array1[5]已经定义符合do-while循环则返回再进行do-while循环,再生成一个数,直到不重复,用这种方法生成不重复的6个数)
if (number < 10) { //判断数字如果是个位数则前面添加0
number = '0' + number;
}
array[i] = number;//将生成的不重复的数字放入数组中
}
array.sort(function(a,b) {return a - b;}) //把生成的数组按小到大排列
var redBall = document.getElementsByTagName('p');
for (var i = 0; i < 6; i++) {
redBall[i].innerHTML = array[i];//将数组中的数字依次放入6个红球中
}
return redBall;

随机生成1~16的数字放入蓝球中

function getRandomBlueBall() {
var blueBall = document.getElementById('p' + 6);
var number = Math.floor(Math.random() * 16 + 1);
if (number < 10) {
number = '0' + number;
}
blueBall.innerHTML = number;
return blueBall;
}

将红球和蓝球组合在一起

function getRandomBall() {
getBall = getRandomRedBall() + getRandomBlueBall();
return getBall;
}

getRandomBall(); //得到双色球

添加鼠标点击事件
var checkBall = document.getElementById('checkBall');
var timer = setInterval('getRandomBall()',100);
isOn = true;
checkBall.onclick = function() {
isOn ? clearInterval(timer) : timer = setInterval('getRandomBall()',100);
isOn = !isOn;
}
</script>
</html>

浅谈模拟彩票代码,html,javascript的更多相关文章

  1. 浅谈Observer在代码中表现形式

    说到观察者模式,基本在软件工程领域中是应用广泛,不知道的可以先学习一番,下面给个快速的回顾,然后在通过一个grpc中的responseObserver谈下观察者对象在代码中的位置. 喜欢类图,就不上其 ...

  2. 浅谈如何使用代码为MP3文件写入ID3Tags

    作者:郑童宇 GitHub:https://github.com/CrazyZty 1.前言 做了三年左右的Android开发,一直没写过博客,最近正好打算换工作,算是闲一些,就将以前开发所遇到的一些 ...

  3. 浅谈c语言代码段 数据段 bss段

    代码段.数据段.bss段 (1)编译器在编译程序的时候,将程序中的所有的元素分成了一些组成部分,各部分构成一个段,所以说段是可执行程序的组成部分. (2)代码段:代码段就是程序中的可执行部分,直观理解 ...

  4. 浅谈Verilog HDL代码编写风格

    消失了好久,没有写文章,也没有做笔记,因为最近再赶一个比赛,时间很紧,昨天周六终于结束了,所以趁着周末这会儿有时间,写点东西,记录下来.首先我学习FPGA才一年多,我知道自己没有资格谈论一些比较深层次 ...

  5. 浅谈JavaScript的面向对象和它的封装、继承、多态

    写在前面 既然是浅谈,就不会从原理上深度分析,只是帮助我们更好地理解... 面向对象与面向过程 面向对象和面向过程是两种不同的编程思想,刚开始接触编程的时候,我们大都是从面向过程起步的,毕竟像我一样, ...

  6. 浅谈javascript函数节流

    浅谈javascript函数节流 什么是函数节流? 函数节流简单的来说就是不想让该函数在很短的时间内连续被调用,比如我们最常见的是窗口缩放的时候,经常会执行一些其他的操作函数,比如发一个ajax请求等 ...

  7. 浅谈JavaScript中的闭包

    浅谈JavaScript中的闭包 在JavaScript中,闭包是指这样一个函数:它有权访问另一个函数作用域中的变量. 创建一个闭包的常用的方式:在一个函数内部创建另一个函数. 比如: functio ...

  8. javascript数组浅谈2

    上次说了数组元素的增删,的这次说说数组的一些操作方法 join()方法: ,,] arr.join("_") //1_2_3 join方法会返回一个由数组中每个值的字符串形式拼接而 ...

  9. javascript数组浅谈1

    最近心血来潮要开始玩博客了,刚好也在看数组这块内容,第一篇就只好拿数组开刀了,自己总结的,有什么不对的地方还请批评指正,还有什么没写到的方面也可以提出来我进行完善,谢谢~~ 首先,大概说说数组的基本用 ...

随机推荐

  1. 『心善渊』Selenium3.0基础 — 30、UI自动化测试之POM设计模式

    目录 (一)POM模式介绍 1.什么是POM介绍 2.为什么要使用POM模式 3.POM的优势 4.POM模式封装思路 (1)POM模式将页面分成三层 (2)POM模式的核心要素(重点) (3)总结 ...

  2. SHELL 变量引用

    shell变量的引用非常重要,运用技巧灵活多变 变量的引用主要包含四类:双引号引用.单引号引用.反引号引用.反斜线引用 " " 双引号 屏蔽除美元符号$.反引号( ` )和反斜线( ...

  3. WORD加目录

    1.WORD2010样式右下角小按钮,打开"样式"对话框,打开"管理样式"按钮 2.选择"标题1"--显示--上移(1) 3.依次再选择&q ...

  4. python 模拟点击微信

    from PyQt5 import QtCore,QtWidgets import win32gui, win32api, win32con # 调用win32api的模拟点击功能实现ctrl+v粘贴 ...

  5. Splay与FHQ-Treap

    两个一起学的,就放一块了. 主要是用来存板子. Splay //This is a Splay Tree. #include <cstdio> #include <cstring&g ...

  6. 前端基础EL表达式(八)

    一.什么是EL表达式? 1.什么是EL表达式? EL(Expression Language) 是为了使JSP写起来更加简单.表达式语言的灵感来自于 ECMAScript 和 XPath 表达式语言, ...

  7. ODOO里视图开发案例---定义一个像tree、form一样的视图

    odoo里视图模型MVC模式: 例子:在原来的视图上修改他: var CustomRenderer = KanbanRenderer.extend({ ....});var CustomRendere ...

  8. Python基础之分离文件名和文件路径

    参考链接:https://blog.csdn.net/qq_42110481/article/details/81104182 分离文件名与文件路径: import os if __name__ == ...

  9. SAS 常用字符串函数

    原文链接:https://www.cnblogs.com/snoopy1866/p/15085466.html CAT(item-1 <, -, item-n>) : 在保留首尾空格的情况 ...

  10. Django debug page XSS漏洞(CVE-2017-12794)

    影响版本:1.11.5之前的版本 访问http://your-ip:8000/create_user/?username=<script>alert(1)</script>创建 ...